ฟอรั่ม 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
    pssixlover
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty
    จำนวนข้อความ : 15
    ความนิยม : 0
    เข้าร่วมเมื่อ : 12/02/2012

    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้

    ตั้งหัวข้อ by pssixlover 12/02/12, 06:08 pm

    สวัสดีพี่ Admin รวมถึงพี่ๆเพื่อนๆทุกท่านครับ ผมมือใหม่นะครับ เพิ่งเข้ามาดูได้วัน2 วัน ก็ขออนุญาติ ยืมสคริปบางส่วน จากในบล๊อค มาลองดัดแปลงหรือประยุกต์ใช้ดูหน่อยนะครับ เพราะเพิ่งอ่านไปไม่กี่บทเอง คำสั่งต่างๆยังไม่ค่อยรู้จักครับ ยังไงขออนุญาติยืมสคริปบางส่วนจาก

    pssix.blogspot.com/2011/06/autoit-1.html เพื่อใช้ทดสอบด้วยนะครับ



    สคริปชุดนี้นะครับ ใช้งานได้ปกติ




    Hotkeyset("{Esc}","stop")



    Global $GameHD

    Func _PSsixLoadH($gtitle)
    $GameHD = WinGetHandle($gtitle)
    If @error Then
    MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
    Else
    Return 1
    EndIf
    EndFunc

    If _PSsixLoadH("[#] xxxx") Then WinActivate($GameHD)

    MouseClick("left",1319, 678,1,10)
    Sleep(5000)


    Global $GameHD

    Func _BBtest($gtitle)
    $GameHD = WinGetHandle($gtitle)
    If @error Then
    MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
    Else
    Return 1
    EndIf
    EndFunc

    If _BBtest("xxxx") Then WinActivate($GameHD)

    MouseClick("left",984, 552,1,10)


    Func Stop()
    Exit
    EndFunc



    แต่พอจะให้มันทำซ้ำตามกระทู้ของพี่ Pos ในกระทู้นี้

    pssix.blogspot.com/2009/05/scriptwriter-autoit.html

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

    พอครอบ While 1 และ WEnd ตามที่พี่ Pos แนะนำ มันใช้ไม่ได้กับสคริปชุดนี้ครับ

    มันขึ้นแบบนี้

    D:\autoitit\testlonetime.au3(8,1) : ERROR: missing Wend.
    Func
    ^
    D:\autoitit\testlonetime.au3(4,1) : REF: missing Wend.
    While
    ^
    D:\autoitit\testlonetime.au3(38,1) : ERROR: syntax error
    WEnd
    ^
    D:\autoitit\testlonetime.au3(2,25) : ERROR: stop(): undefined function.
    Hotkeyset("{Esc}","stop")
    ~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\autoitit\testlonetime.au3 - 3 error(s), 0 warning(s)

    ท่านใดพอรู้ หรือ พี่ Pos รบกวนสอบถามหน่อยครับว่าเพราะอะไร หรือผมทำอะไรผิด

    หรือมีคำสั่งอื่นๆที่สั่งให้ทำซ้ำ เหมือนคำสั่ง Repeat หรือ Loop อะไรพวกนั้น ไหมครับ

    ขอบพระคุณมากครับ




    max30012540
    max30012540
    PSsix Member High Class
    PSsix Member High Class


    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty PSsix Program Coder
    จำนวนข้อความ : 98
    ความนิยม : 10
    เข้าร่วมเมื่อ : 10/10/2011
    อายุ : 26

    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty Re: รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้

    ตั้งหัวข้อ by max30012540 12/02/12, 07:14 pm

    ห้ามใช้ฟังก์ชั้นทำซ้ำ Func และ HotKeySet ครับ em234 ดังนั้น โค้ดจะเป็นตามนี้ครับ em218
    Code:
    Hotkeyset("{Esc}","stop")
    Global $GameHD
    While 1
    If _PSsixLoadH("[#] xxxx") Then WinActivate($GameHD)
    MouseClick("left",1319, 678,1,10)
    Sleep(5000)
    Global $GameHD
    If _BBtest("xxxx") Then WinActivate($GameHD)
    MouseClick("left",984, 552,1,10)
    WEnd
    Func _BBtest($gtitle)
    $GameHD = WinGetHandle($gtitle)
    If @error Then
    MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
    Else
    Return 1
    EndIf
    EndFunc
    Func _PSsixLoadH($gtitle)
    $GameHD = WinGetHandle($gtitle)
    If @error Then
    MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
    Else
    Return 1
    EndIf
    EndFunc
    Func Stop()
    Exit
    EndFunc
    avatar
    pssixlover
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty
    จำนวนข้อความ : 15
    ความนิยม : 0
    เข้าร่วมเมื่อ : 12/02/2012

    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty Re: รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้

    ตั้งหัวข้อ by pssixlover 12/02/12, 07:47 pm

    ได้แล้วครับ ขอบคุณมากนะครับ สคริปผมมั่วมากเลยนะครับ จากที่ดูที่พี่max30012540 แก้มาให้

    แต่ก็งงนิดๆ มันมั่ว เรียงกันไม่ถูกต้องแต่มันก็ทำงานได้หรอครับ em228

    แล้วผมรบกวนสอบถามอีกข้อนะครับ เวลาสั่งคลิกจุดที่สคริปไว้ บางทีมันคลิกติดบ้างไม่ติดบ้าง

    มันเป็นเพราะอะไรครับ

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


    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty
    จำนวนข้อความ : 15
    ความนิยม : 0
    เข้าร่วมเมื่อ : 12/02/2012

    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty Re: รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้

    ตั้งหัวข้อ by pssixlover 12/02/12, 07:56 pm

    โอย ลืมครับรบกวนพี่ๆอีกคำถามครับ

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

    pssix.blogspot.com/2008/09/autoit-2.html

    ตัวอย่าง สคริปจากในกระทู้นั้นนะครับ

    Code:
    Run("kmp")
    WinWaitActive("Installer","")
    Send("{ENTER}")
    WinWaitActive("","Welcome")
    Send("{ENTER}")
    WinWaitActive("","License Agreement")
    Send("{ENTER}")
    WinWaitActive("","Choose Components")
    send("{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{SPACE}{ENTER}")
    WinWaitActive("","Install Location")
    Send("C:\KMPlayer")
    Send("{ENTER}")
    WinWaitActive("","Completing")
    Send("{SPACE}{ENTER}")

    ผมสามารถดัดแปลง จากตัวหนังสือที่ปรากฏในเกมส์แทนได้ไหมครับ เช่น สคริป

    Code:
    Run("kmp")
    WinWaitActive("Hpอยู่ในระดับต่ำ","")  <======มันตรวจจับตัวหนังสือที่แสดงในเกมส์ได้ไหมครับ
    Send("{ENTER}")
    WinWaitActive("","Spอยู่ในระดับต่ำ")  <======มันตรวจจับตัวหนังสือที่แสดงในเกมส์ได้ไหมครับ
    Send("{ENTER}")
    WinWaitActive("","คุณกำลังเหนื่อยล้า") <======มันตรวจจับตัวหนังสือที่แสดงในเกมส์ได้ไหมครับ
    Send("{ENTER}")
    WinWaitActive("","Choose Components")
    send("{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{SPACE}{ENTER}")
    WinWaitActive("","Install Location")
    Send("C:\KMPlayer")
    Send("{ENTER}")
    WinWaitActive("","Completing")
    Send("{SPACE}{ENTER}")

    ผมก็พอเข้าใจว่าจริงๆใช้การตรวจจับสีได้อยู่แล้ว ถ้าต้องการให้สคริปทำงานในการเติม hp mp เวลาถึงขีดที่กำหนด แต่อยากทราบว่าเราสามารถประยุกต์แบบนี้แทนการจับสีได้ไหมครับ ถ้าต้องการ ให้ สคริปสั่งกดเติมHp Mp หรือ นั่ง เวลา ตรวจจับตัวหนังสือเตือนต่างๆภายในเกมส์ได้ เหมือนที่ใช้ auto install kmp อะไรแบบนั้นน่ะครับ

    ผิดถูกหรือผมมั่วอะไรตรงไหนรบกวนช่วยชี้แนะด้วยนะครับ ขอบพระคุณมากครับ
    max30012540
    max30012540
    PSsix Member High Class
    PSsix Member High Class


    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty PSsix Program Coder
    จำนวนข้อความ : 98
    ความนิยม : 10
    เข้าร่วมเมื่อ : 10/10/2011
    อายุ : 26

    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty Re: รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้

    ตั้งหัวข้อ by max30012540 12/02/12, 08:53 pm

    pssixlover พิมพ์ว่า:โอย ลืมครับรบกวนพี่ๆอีกคำถามครับ

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

    pssix.blogspot.com/2008/09/autoit-2.html

    ตัวอย่าง สคริปจากในกระทู้นั้นนะครับ

    Code:
    Run("kmp")
    WinWaitActive("Installer","")
    Send("{ENTER}")
    WinWaitActive("","Welcome")
    Send("{ENTER}")
    WinWaitActive("","License Agreement")
    Send("{ENTER}")
    WinWaitActive("","Choose Components")
    send("{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{SPACE}{ENTER}")
    WinWaitActive("","Install Location")
    Send("C:\KMPlayer")
    Send("{ENTER}")
    WinWaitActive("","Completing")
    Send("{SPACE}{ENTER}")

    ผมสามารถดัดแปลง จากตัวหนังสือที่ปรากฏในเกมส์แทนได้ไหมครับ เช่น สคริป

    Code:
    Run("kmp")
    WinWaitActive("Hpอยู่ในระดับต่ำ","")  <======มันตรวจจับตัวหนังสือที่แสดงในเกมส์ได้ไหมครับ
    Send("{ENTER}")
    WinWaitActive("","Spอยู่ในระดับต่ำ")  <======มันตรวจจับตัวหนังสือที่แสดงในเกมส์ได้ไหมครับ
    Send("{ENTER}")
    WinWaitActive("","คุณกำลังเหนื่อยล้า") <======มันตรวจจับตัวหนังสือที่แสดงในเกมส์ได้ไหมครับ
    Send("{ENTER}")
    WinWaitActive("","Choose Components")
    send("{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{SPACE}{ENTER}")
    WinWaitActive("","Install Location")
    Send("C:\KMPlayer")
    Send("{ENTER}")
    WinWaitActive("","Completing")
    Send("{SPACE}{ENTER}")

    ผมก็พอเข้าใจว่าจริงๆใช้การตรวจจับสีได้อยู่แล้ว ถ้าต้องการให้สคริปทำงานในการเติม hp mp เวลาถึงขีดที่กำหนด แต่อยากทราบว่าเราสามารถประยุกต์แบบนี้แทนการจับสีได้ไหมครับ ถ้าต้องการ ให้ สคริปสั่งกดเติมHp Mp หรือ นั่ง เวลา ตรวจจับตัวหนังสือเตือนต่างๆภายในเกมส์ได้ เหมือนที่ใช้ auto install kmp อะไรแบบนั้นน่ะครับ

    ผิดถูกหรือผมมั่วอะไรตรงไหนรบกวนช่วยชี้แนะด้วยนะครับ ขอบพระคุณมากครับ
    อันนี้ผมไม่ทราบจริงๆครับ เพราะผมไม่ได้เล่นเกมส์ คงต้องรอท่าน aut หรือท่นอื่นๆมาตอบครับ
    avatar
    pssixlover
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty
    จำนวนข้อความ : 15
    ความนิยม : 0
    เข้าร่วมเมื่อ : 12/02/2012

    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty Re: รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้

    ตั้งหัวข้อ by pssixlover 12/02/12, 09:12 pm

    ครับผม ยังไงก็ขอบคุณมากเลยนะครับ

    ท่านใดพอทราบรบกวนทีนะครับ em218
    POS
    POS
    PSsix
    PSsix


    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty Re: รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้

    ตั้งหัวข้อ by POS 13/02/12, 11:01 am

    ลักษณะนี้ต้องตรวจจาก memory ครับ โดยใช้ CE หาแอดเดรส แล้วเขียนสคริปต์ดึงเอาข้อมูลออกมา รายละเอียดการเขียนสคริปต์

    [You must be registered and logged in to see this link.]
    avatar
    pssixlover
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty
    จำนวนข้อความ : 15
    ความนิยม : 0
    เข้าร่วมเมื่อ : 12/02/2012

    รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้  Empty Re: รบกวนพี่ๆเพื่อนๆหน่อยครับ ผมอยากให้มันทำซ้ำแต่ใช้กับคำสั่งชุดนี้ไม่ได้

    ตั้งหัวข้อ by pssixlover 13/02/12, 01:30 pm

    ขอบคุณพี่ Pos มากครับ สำหรับคำตอบ


    ผมขออนุญาติตั้งคำถามอีกสักคำถาม แต่เป็นการตั้งกระทู้ใหม่นะครับ เพราะเนื้อหาและคำถามเรื่องคนละเรื่องกันแล้ว

    ยังไงขอบคุณมากๆเลยครับสำหรับทุกคำตอบ em218



      เวลาขณะนี้ 27/04/24, 07:24 am