ฟอรั่ม PSsix

Would you like to react to this message? Create an account in a few clicks or log in to continue.

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


3 posters

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

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


    รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง) Empty รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง) Empty
    จำนวนข้อความ : 3
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/03/2012

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

    ตั้งหัวข้อ by pla.takom 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 ครั้ง
    POS
    POS
    PSsix
    PSsix


    รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง) Empty รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง) Empty รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง) Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

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

    ตั้งหัวข้อ by POS 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
    avatar
    pla.takom
    มือใหม่เพิ่งสมัคร
    มือใหม่เพิ่งสมัคร


    รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง) Empty รบกวนพี่ๆทุกคนด้วยครับ (สร้างบอทเก็บเลเวลเอง) Empty
    จำนวนข้อความ : 3
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/03/2012

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

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

    em218

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


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

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

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

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

      เวลาขณะนี้ 19/04/24, 03:09 pm