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


รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง)

Share

pla.takom
มือใหม่เพิ่งสมัคร
มือใหม่เพิ่งสมัคร


จำนวนข้อความ : 3
ความนิยม : 0
เข้าร่วมเมื่อ : 08/03/2012

รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง)

ตั้งหัวข้อ by pla.takom on 11/03/12, 09:53 am

สวัสดีครับพี่ๆทุกคน

ผมมีเรื่องรบกวนครับ คือ ผมตั้งใจจะเขียนบอทเกมส์ออนไลน์

1. ให้สามารถ ตีมอนเตอร์ เองอัตโนมมัติ (โดยอ้างอิงจากสีของมอนเตอร์)
2. ให้กดเพิ่มเลือด เองอัติโนมัติ ถ้าเลือด มี ค่าต่ำกว่าที่กำหนด (โดยให้เช็คค่าเลือดตลอดครับ)กดปุ่มF1
3. ให้เดินสุ่มทั่วทั้งแมพเอง แต่พอเจอมอนเตอร์ สีที่กำหนดให้เริ่มตี อันนี้คือ ถ้าเจอมอนเตอร์ให้ตี(ไม่ต้องเดินสุ่ม) แต่ถ้าไม่เจอมอนเตอร์ ให้เดินสุ่มจนกว่าจะเจอครับ

ปัญหาคือ
1. มันตีม่อนแค่ครั้งเดียวครับ คือครั้งที่กด (ถ้าจะให้ดีอีกต้องรันโปรแกรมใหม่) แต่ ถ้าสั่งให้มันวน มันจะไล่คลิ๊กที่ตัว
ม่อนเตอร์ไปเรื่อยๆ คือไล่ตีไปเรื่อยๆครับ(เช่นมอนเตอร์มี 5 ตัว มันจะเดิน 1 2 3 4 5 ไม่ตีซักตัว )
มันไม่ยอมหยุดตีจนกว่ามอนเตอร์ตัวนั้นจะตายแล้วค่อยตีตัวถัดไปครับ
2. ผมเขียนให้มันเพิ่มเลือดอัตโนมัติได้ครับ(แต่เขียนให้มันเช็คสถานะตลอดไม่เป็นครับ)รบกวนด้วยนะครับ
3. คำสั่งให้สุ่มเดินทั่วแมพ ใช่คำสั่ง ให้คลิ๊กเมาส์ตาม พิกัดที่เรากำหนดหรือเปล่าครับ
4. เวลาที่มันโจมตีมอนเตอร์ บางที่ก็คลิ๊กโดน บางทีก็คลิ๊กไม่โดนตัวมอนเตอร์ครับ


Code ครับ เพิ่งหัดเขียน ได้ 1วัน ยังไงรบกวนพี่ๆทุกคนด้วยนะครับ

if(GuiCtrlRead($start10) = 1) then
$coord = PixelSearch(5,5,792,592,0xFFDFAD)
If Not @error Then
MouseClick("",$coord[0],$coord[1])
else
$coord = PixelSearch(5,5,792,592,0xBD3439)
If Not @error Then
MouseClick("",$coord[0],$coord[1])
else
$coord = PixelSearch(5,5,792,592,0x9C6D6B)
If Not @error Then
MouseClick("",$coord[0],$coord[1])
Else
$coord = PixelSearch(5,5,792,592,0xD68E6B)# อสุรตาเดียวติดไว้ก่อนคลิ๊กไม่โดนตัว
If Not @error Then
MouseClick("",$coord[0],$coord[1])


แก้ไขล่าสุดโดย pla.takom เมื่อ 11/03/12, 11:00 am, ทั้งหมด 2 ครั้ง
avatar
POS
PSsix
PSsix


จำนวนข้อความ : 1152
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง)

ตั้งหัวข้อ by POS on 11/03/12, 06:12 pm

ก่อนอื่นเข้าไปอ่านวิธีการสร้างบอทตามลิงก์นี้ทุกหัวข้อ

[You must be registered and logged in to see this link.]


พยายามจัดเรียงชุดคำสั่งเป็นฟังก์ชัน เพื่อง่ายต่อการแก้ไข ตัวอย่าง (ลองหาตัวอย่างสคริปต์ของผุ้ใช้คนอื่นในฟอรั่มดูประกอบ เพื่อนำไปดัดแปลงด้วย)




Code:



While Sleep(100)
   _A() ; ค้นหามอนสเตอร์
   _B() ;โจมตีมอนสเตอร์
   _C() ; เช็ค HP MP

WEnd



Func _A()
   While Sleep(100)
      $coord = PixelSearch(5, 5, 792, 592, 0xFFDFAD)
      If Not @error Then
         MouseClick("", $coord[0], $coord[1])

         Return
      EndIf
   WEnd
EndFunc  ;==>_A

Func _B()

   Do
      $monster = PixelGetColor(xxx, xxxx) ;;;ใส่พิกัดที่จะตรวจหาเลือดของมอนเตอร์ลงไป
      _C() ; เช็ค HP MP
      Send("1") ;ส่งค่าคีย์
      Sleep(1000)
      _C(); เช็ค HP MP
      Send("2") ;ส่งค่าคีย์
      Sleep(1000)
      _C(); เช็ค HP MP
      Send("3") ;ส่งค่าคีย์
      Sleep(1000)
   Until $monster <> 0x000000 ;ใส่รหัสสีเลือดของมอนเตอร์   ถ้าดึงเอาค่ามีออกมาแล้ว ไม่ตรงกับสีเลือดแสดงว่าไม่มีมอนเตอร์อยู่ ต้องเริ่มหาใหม่


EndFunc  ;==>_B

Func _C()
   $HP = PixelGetColor(xxx, xxxx) ;;;ใส่พิกัดที่จะตรวจหาเลือดของคุณลงไป หากไม่พบสีที่กำหนดแสดงว่าเลือดหายไป ต้องกดยาหรือของเพิ่มเลือด
   If $HP <> 0x000000 Then ;ใส่รหัสสีของเลือดลงไป
      Send("5") ;ส่งค่าคีย์ สำหรับกดของเพิ่มเลือด
      Sleep(1000)
   EndIf

EndFunc  ;==>_C


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

pla.takom
มือใหม่เพิ่งสมัคร
มือใหม่เพิ่งสมัคร


จำนวนข้อความ : 3
ความนิยม : 0
เข้าร่วมเมื่อ : 08/03/2012

Re: รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง)

ตั้งหัวข้อ by pla.takom on 11/03/12, 06:21 pm

em218

ขอบคุณครับ ผมจะลองพยายามทำดูครับ
avatar
Hiewsound
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 91
ความนิยม : 33
เข้าร่วมเมื่อ : 08/01/2012

Re: รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง)

ตั้งหัวข้อ by Hiewsound on 12/03/12, 08:12 am

ถ้าอยากทำได้และเข้าใจต้องฝึกบ่อยๆครับ

    เวลาขณะนี้ 21/07/17, 05:43 am