ฟอรั่มของบล็อก http://pssix.blogspot.com


มือใหม่หัดลองเขียน

Share

offxo2591
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 11
ความนิยม : 0
เข้าร่วมเมื่อ : 23/07/2014

มือใหม่หัดลองเขียน

ตั้งหัวข้อ by offxo2591 on 05/06/15, 03:25 pm

คือตอนนี้ผมกำลังลองเขียนคริปต์กับเกมเกมหนึ่งอะครับ คือผมต้องการให้แบบสามารถทำให้ตัวละครในเกมวิ่ง กระโดด หรือยิง ได้แบบที่ตั้งไว้โดยที่ผู้เล่นไม่ต้องกดอะครับ (เหมือนปล่อยบอทนั้นแหละ) แล้วมันติดทีี่ว่าผมลองสร้างดูแล้วผลที่ได้คือ ตัวละครมันไม่ขยับ เหมือนมันจะไปติดตรงที่ Send("wwwwwwwww") <<<<(ในความหมายของผมคือ ให้มันเดินไปข้างหน้า) แต่มันไม่ขยับ ผมเลยลองทดสอบว่ามันกดให้จริงหรือป่าวเลยเปิดแชทพิมในเกมแล้วลองกดเล่นคริปต์ดู ปรากฏในแชทมันก็ขึ้นข้อความ wwwwwwwww นั้นแหละครับ มันสามารถทำเป็นAutokeyได้ แต่คือผมจะทำให้มันส่งผลในการเคลื่อนไหวในเกมอะครับ แต่มันไม่ขยับ คือต้องใช้คำสั่งอะไรหรอครับ ทำไม่เป็น พอศึกษาก็งงนิดๆจนถึงตาลาย O_O em228

และก็อีกอย่างครับฝากถามเกี่ยวกับคำสั่งเล็กน้อย เห็นไปอ่านมาไอตรงบอทเกมอะครับ (Global $GameHD) ประกาศตัวแปร
อันนี้หมายถึง สร้างตัวแปลที่ไว้ใช้กับหลับเก็บข้อมูลที่ชื่อ GameHD ใช่ไหมครับ คือเราสามารถเปลี่ยนชื่อเป็น
Global$HDGame , $Internetgame หรืออะไรพวกนี้ได้ใช่ไหมครับ หรือว่ามันเป็นคำสั่งเฉพาะที่เราไม่สามารถแก้ไขชื่อได้ งงนิดๆ
-0- มันเอาไว้ทำอะไร ตามที่ผมเข้าใจคือเก็บข้อมูลไว้ใช้เช่น $Garena = Winwaitactive("DekD")
ControlSend($Garena,"","","{Shiftdown}")
ดังตัวอย่างที่ผมเข้าใจคือ $Garena เก็บค่าของ Winwaitactiveไว้นั้นคือรอหน้าต่างไตเติลที่ชื่อว่า DekD จากนั้นคำสั่งต่อไป ControlSend($Garena <<(เหมือนย่อคำสั่ง Winwaitactive("DekD")ไว้สั้นๆในรูปแบบของตัวแปร $Garena)
ใช่หรือป่าวครับ เล่นซะยาวเหยียดเลยจากเรื่องเดียวแถไปยันอีกเรื่อง ขอบคุณมากๆสำหรับคนที่เข้ามาดูและคนที่ตอบครับผม ^_^) em218

flapjack
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Moderator PSsix Master PSsix Game Coder
จำนวนข้อความ : 311
ความนิยม : 74
เข้าร่วมเมื่อ : 05/10/2010

Re: มือใหม่หัดลองเขียน

ตั้งหัวข้อ by flapjack on 09/06/15, 06:10 pm

1.เปลี่ยน การ Send("{w}") ดูน่ะ ครับ (ไม่รองรับผลครับ ว่าจะใช้ได้ไหม )
2.ตัวแปร $Garena มันเก็บค่า handle เอาไว้เพื่อใช้ในการอ้างอิงกับคำสั่ง ControlSend ครับ

offxo2591
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 11
ความนิยม : 0
เข้าร่วมเมื่อ : 23/07/2014

Re: มือใหม่หัดลองเขียน

ตั้งหัวข้อ by offxo2591 on 10/06/15, 09:46 pm

แล้วก็อีกอย่าง ผมอยากทราบอะครับ ทำยังไงถึงจะทำให้ ControlClick ใช้ในเกมได้อะครับ คือผมลองทำให้แบบสามารถยิงได้ โดยใช้ MouseClick ธรรมดาแต่มันทำไม่ได้ ผมเลยเปลี่ยนมาใช้ ControlClick แทน ผมเลยอยากรุ้อะครับว่ามันใช้ยังไง

Sleep(3000)
ControlClick("Alive Shot","",,"left",1,745,373)

ผมตั้งให้ถ่วงเวลาไว้ 3 วิ เพื่อที่จะเข้าไปในเกม แล้วทดสอบว่ามันคลิกได้รึเปล่า ผมเลยเขียนไป พร้อมกับพิกัดที่หาได้จาก au3info ผมเลยเอามาให้ดูครับว่าถูกรึเปล่าที่ผมเขียน

ControlClick ( "title", "text", controlID [, button = "left" [, clicks = 1 [, x [, y]]]] )

ตัวอย่างข้างบน สิ่งที่ผมเข้าคือ ช่องแรก Title คือแถบชื่อข้างบนของเกม ช่อง 2 "text" ข้อความข้างใน แต่ตรงที่ ControlID อะครับ ผมยังไม่เข้าใจเลยคืออะไร ลองไปเปิดใน help แล้วหาดูคร่าวๆ ผมก็ยังไมเข้าใจ(ด้วยทักษะภาษาอังกฤษที่ค่อนข้างกระด้างกระเดือก) เลยอยากทราบอะครับว่าที่ผมเขียนไปมันผิดตรงไหรรึเปล่า แล้วตรง ControlID คืออะไร
(ผมต้องการให้มันคลิกค้างอะครับ ทำยังไง)

flapjack
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Moderator PSsix Master PSsix Game Coder
จำนวนข้อความ : 311
ความนิยม : 74
เข้าร่วมเมื่อ : 05/10/2010

Re: มือใหม่หัดลองเขียน

ตั้งหัวข้อ by flapjack on 19/06/15, 09:30 pm

controlID  เป็นค่าที่ อ้างอิง  ครับ  สามารถดูได้จาก AutoIt Window Info



ส่วนการคลิกค้าง[You must be registered and logged in to see this link.]

    เวลาขณะนี้ 08/12/16, 02:53 pm