ฟอรั่ม 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


4 posters

    ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . .

    avatar
    test_music
    PSsix Member Class II
    PSsix Member Class II


    ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty
    จำนวนข้อความ : 41
    ความนิยม : 7
    เข้าร่วมเมื่อ : 05/08/2013

    ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . .

    ตั้งหัวข้อ by test_music 25/12/13, 12:47 pm

    Code:
    #cs==========================
    Ai xxx ออนไลน์
    ทำเำพื่อศึกษา การใช้โปรแกรม Autoit เท่านั้น
    Srcip ส่วนมากได้มาจาก Blog : http://pssix.forumotion.com
    #ce==========================

    HotKeySet("{ESC}", "stop")  ;เริ่มต้นฟั่งชั่นหยุดการทำงาร

    Opt("MouseCoordMode", 2)
    Opt("PixelCoordMode", 2)
    Opt("CaretCoordMode", 2)

    Global $gamexxx

    Func _FindWindowGame($Title)
    $gamexxx = WinGetHandle($Title)
    If @error Then
    MsgBox(0,"x_x ไม่พบหน้าต่างเกมส์", "ยังไม่ได้่เปิดเกมส์ Ai ไม่ทำงานนะ")
    Else
    Return 1
    EndIf
    EndFunc


    If _FindWindowGame("xxx Online") Then WinActivate($gamexxx)
    Sleep(1000)


    Func CheckHp()
    if PixelGetColor(177, 28) = 0xFFFF00 Then
    Send("0")
    Sleep(300)
    EndIf
    EndFunc

    Func AttackMon()
    Sleep(1000)
    Send("{TAB}")
    Sleep(2000)
    ControlSend($gamexxx, "", "", "1")
    Sleep(3000)
    ControlSend($gamexxx, "", "", "2")
    Sleep(1000)
    ControlSend($gamexxx, "", "", "3")
    Sleep(1000)
    ControlSend($gamexxx, "", "", "4")
    Sleep(2000)
    ControlSend($gamexxx, "", "", "3")
    Sleep(1000)
    ControlSend($gamexxx, "", "", "4")
    Sleep(1000)
    ControlSend($gamexxx, "", "", "{SPACE}")
    Sleep(2000)
    ControlSend($gamexxx, "", "", "{SPACE}")
    Sleep(2000)
    EndFunc

    While 1
    CheckHp()
    AttackMon()
    WEnd

    ;จบฟั่งชั่นหยุดการทำงาน
    Func stop()
    MsgBox(0,"Stop Ai", "หยุดการทำงาน Ai เรียบร้อย")
    Sleep(500)
    Exit
    EndFunc
     
    จาก code ผมสั่งให้กด Tab แล้ว ส่งค่าโจมตีมอนนะ
    แต่จะเขียน Scriptยังไงให้ เช็คค่า สีจากการกด TAB ก่อน แล้วค่อยให้ส่งค่าไปโจมตีมอนเตอร์น่ะครับ
    และพอมอนตายแล้วผมควรจะเขียน Script ยังไงให้เช็คค่าสีหลังจากมอนตายแล้วค่อยไปเริ่ม กด Tab ต่อไป-*-/
     
    การ เช็ค Hp ผมกำหนดจุดสีตอน Hp ลดไว้แล้วกด 0(ศูยน์)
    เราจะเขียน Scipt ยังไงให้ กดเติม Hp ไปจนกว่าถึงจุดสีที่กำหนด(จุดสีที่กำหนดผมมีแต่เขียน script ไม่เป็น)
     
    ปัญหาอีกอย่างคือ ผมอยากให้ ฟังชั่น CheckHp และ Attack ทำงานคู่กันไปน่ะครับ
    แบบไม่ต้องรอให้จบ ฟังชั่นตีมอนแล้วค่อยเติมHp เพราะ ตัวละครจะเดี้ยงก่อน -*-


    แก้ไขล่าสุดโดย test_music เมื่อ 01/04/14, 03:16 pm, ทั้งหมด 1 ครั้ง (Reason for editing : แก้ไขเพื่อเซ็นเซอร์ชื่อเกมส์ ขอรับ)
    kobtadam
    kobtadam
    PSsix Member Class II
    PSsix Member Class II


    ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty
    จำนวนข้อความ : 41
    ความนิยม : 6
    เข้าร่วมเมื่อ : 28/12/2013

    ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty Re: ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . .

    ตั้งหัวข้อ by kobtadam 05/01/14, 03:43 am

    เราก็ไม่รู้ว่าจะให้ทำงานคู่ยังไง เราพอเข้าใจที่นายบอก เราว่านะ แยกไปเลย ตัวจับสีหายกดกด คีย์ ก็ปล่อยให้ทำงานไป

    ส่วนตัว Attack ก็ ทำโปรแกรม ขึ้นมาอีกอัน คอมฟายออกมาเปน โปรแกรมเช็คเลือด และ โปรแกรม Attack เราว่าแบบนี้ง่ายก่านะ ถ้าเฮาไม่เทพเขียนโปรแกรมงะ T.T แบบนี้ก็จะช่วยปัญหาที่ ทำงานช้าของโปรแกรม ได้นะ

    flapjack
    flapjack
    PSsix Member Super Class III
    PSsix Member Super Class III


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

    ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty Re: ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . .

    ตั้งหัวข้อ by flapjack 08/01/14, 01:13 am

    เรื่องการเช็คสี ลองอ่านตามลิงค์นี้ดูน่ะครับ [You must be registered and logged in to see this link.]

    ส่วนเรื่องจะทำยังไงให้มอนเตอร์ตีให้ตายก่อนแล้วค่อยตีตัวต่อไป และ เรื่องการเช็ค HP ตามพิกัด ลองดูลิงค์แล้วประยุกต์เอาน่ะครับhttp://pssix.forumotion.com/t1072-topic#14147

    และเรื่อง เช็ค HP พร้อมกันไประหว่างการ ตี (จะให้พร้อมกันจริงๆ ก็คงต้องแยกสคริป ออกเป็น 2 ไฟล์ ตามคุณ kobtadam )
    แต่ถ้าอยากเช็คในสคริปเดียวกันก็ใส่ฟังก์ชั้นตอนระหว่างตีก็ได้ครับ (ถึงอาจจะไม่พร้อมกัน แต่การ Run สคริปก็มีความเร็วจนพอตัวเหมือนกัน ครับ)
    avatar
    loveapple244
    PSsix Member Super Class II
    PSsix Member Super Class II


    PSsix Game Coder
    จำนวนข้อความ : 160
    ความนิยม : 9
    เข้าร่วมเมื่อ : 15/07/2011

    ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty Re: ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . .

    ตั้งหัวข้อ by loveapple244 10/01/14, 11:30 am

    นายใส่ตัวแปลผิดอะ นายประกาศ Global $gamexxx คุมสคิปแต่กลับใช้ $game400 เปลี่ยนใช้ $gamexxx
    $game400 = WinGetHandle($Title) ด้วย เรียกหน้าต่างด้วย WinActivate($gamexxx)แต่กับประกาศ $game400ล
    แล้วก็เช็กด้วยว่าเกมส์นั้นมันใช้ controlsend ได้หรือเปล่าถ้าไม่ได้ให้เลิกใช้ไปใช้ Sendทั้งหมดแทนครับ send มันจะใช้ได้เกือบทุกเกมส์แต่contronใช้ได้กับโปรแกรมเกมส์รองรับอะหรือไม่ไปดาวโหลดของพี่ pos ให้มองให้ comtrolแล้วยัดพวกนี้ใส่ลงไปแต่ถ้าวินโดว์ 64 ก็จะผ่านหมดนะเว้นติดตัวป้องกันWhile 1CheckHp()AttackMon()ให้เพิ่มsleep(ในนี้ใส่10-100เพราะเราลองแล้วมันเหมือนจะไวไปอ่า)WEndif PixelGetColor(177, 28) = 0xFFFF00 ThenSend("0")นี้ก็ตามที่flapjackระเอียดยิบที่นายใช้มันก็โอนะแต่เราว่าบางทีหน้าต่างวินโดว์ทุกคนๆไม่เท่ากันอะอาจจะไม่ใช้จุดนั้นที่ถาวรลองไล่อ่านดูแล้วก็พอเจอสีอะมันไม่ต้องใส่หน่วยsleepหรอกเราเคยแล้วมันไปขยายชั่วบางทีใน300โดดมอนลุมเยอะๆมันกดช่วง0-300ที่หายไปนี้ตัวละครตายได้เลยนะครับให้ใส่ในWhile 1CheckHp() ใส้ตรงนี้ว่า sleep(10)WEndแค่นี้ก็เพียงพอแล้ว-0-ยอมให้มันทำงานหนักกินแรมเพิ่ม1-20คงมะทำให้คอมพังหรือ- -*เราเคยเปิด2วันไม่เปิดที่sleep10ก็ไม่ทำให้เกิดอะไรขึ้นเลยแล้วก็CheckHp()AttackMon() 2คำสั่งนี้มันอยู่ในเหตุการณ์เ้ดียวกันไม่ต้องทำเป็น2ฟังก์ชั่นก็ได้ครับเพราะมันก็สั่งให้เช็คเลือดแล้วก็ตีมอน- -*จะทำ2เหตุการณให้ใส่ในรูปElseIf เพิ่มไปเลยเพราะไงมันก็ต้องเช็คเลือดก่อนที่จะตีมอนอยู่แล้วกำหนดแค่ว่าif PixelGetColor(177, 28) = 0xFFFF00 If @error Then คือไม่เจอให้เลิกตีแล้วถ้าเจอให้เป็นจริงให้ใส่ว่ากดถ้าจะเพิ่มว่าจะตีกี่ครั่งก่อนไปอีกคำสั่งก็ใส่ i
    While $a > 0 ตัวนี้คือเพิ่มว่าจะทำกี่รอบ
    Sleep(1000)
    $a = $a - 1 ลดทีละ1
    WEnd
    อาจจะยังไม่เข้าใจให้ไปที่ [You must be registered and logged in to see this link.] โอเครมะ- -*แล้วก็ดูค่าสีที่
    [You must be registered and logged in to see this link.] จากคำสั่ง If Not @error Then
    แปลว่าถ้าคำสั่งนี้เป็นจริง ถ้าIf @error Then อันนี้คือเท็จแก้แค่เอาNot ออก-0-ง่ายมากมายลองไล่อ่านที่พี่ pos สอนทุกบรรทัดแล้วก็ทุกๆบทสุดยอดแห่งการสอนที่เข้าใจง่ายแล้วครับ
    avatar
    test_music
    PSsix Member Class II
    PSsix Member Class II


    ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty
    จำนวนข้อความ : 41
    ความนิยม : 7
    เข้าร่วมเมื่อ : 05/08/2013

    ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . . Empty Re: ต้องเขียน Script ยังไงให้กด เติม Hp จนถึงค่าสีที่เรากำหนดแล้วจึงออกจากการทำงาน. . . .

    ตั้งหัวข้อ by test_music 01/04/14, 03:07 pm

    ^^v ขอบคุณสำหรับคำแนะนำครับ พอดีไม่ค่อยได้เข้าบอร์ดเพราะเห็นเงียบๆ
    ยังไงจะนำไปแก้ไขครับ


    ป.ล เรื่องตัว แปลgame400 ผมตั้งใจปิดชื่อเกมส์โดยแก้ตัวแปลเป็น gamexxx ไว้น่ะเพราะทำเล่นๆ

      เวลาขณะนี้ 08/05/24, 12:38 am