ผมต้องการให้ autoit ทำงานประมาณนี้ครับ
1. กด F3 ไปเรื่อย ๆ จนเจอสีที่กำหนดไว้ (0x00FF00)
2. เมื่อพบแล้วกด F6 และ Click เม้าส์ซ้าย
3. หลังจากทำข้อ 2 เสร็จ ให้หาสี (0x424242)
4. เมื่อพบกด Alt+2
5. ถ้าไม่พบให้ออกจากลูป และกลับไปเริ่มทำตั้งแต่ต้น
อันนี้คือตัวอย่างสคริปคร่าว ๆ ที่ผมทำไว้ ปัญหาที่ผมพบคือ เจอสีที่กำหนดไว้ตามข้อ 1 แต่บางทีจะไม่ยอมทำตาม ข้อ 2 ครับ แล้วอีกอย่างคือ ข้อ 3 ทำยังไงก็ไม่ยอมหาค่าสีที่กำหนดไว้ครับ รบกวนท่าน ๆ ช่วยดูให้ผมด้วยครับ ผมเป็นมือใหม่มากจริง ๆ
ปล. ตรงที่ผมเน้นสีไว้คือส่วนที่ผมคิดว่ามีปัญหาครับ ขอบคุณทุกท่านมาก ๆ ครับ
Opt("MouseCoordMode", 2)
Opt("PixelCoordMode", 2)
Opt("CaretCoordMode", 2)
HotKeySet('{F2}', 'Pause')
HotKeySet('{F5}', 'Quit')
Global $Paused
If WinExists("GAME") Then WinActivate ("GAME")
$d3 = WinActivate ("GAME")
$mLeft = "left"
$mRight = "right"
Pause()
Sleep(100)
While 1
Sleep(1000)
Send("{ALTDOWN}2{ALTUP}")
Sleep(500)
MouseClick("left", 605, 295, 1, 10)
Sleep(500)
MouseClick("left", 605, 295, 1, 10)
Sleep(500)
MouseClick("left", 605, 295, 1, 10)
Sleep(1000)
Send("{F1}" )
Sleep(600)
Send("{F4}" )
Sleep(500)
Send("{F1}" )
Sleep(500)
MouseClick("left", 538, 286, 1, 10)
Sleep(300)
MouseClick("left", 538, 286, 1, 10)
Sleep(300)
MouseClick("left", 538, 286, 1, 10)
Sleep(500)
Send("{Enter}" )
Sleep(500)
Send("{Enter}" )
Sleep(800)
Send("{F3}" )
Sleep(1000)
$coord = PixelSearch(131,141, 655, 522, 0x00FF00)
If Not @error Then
Send("{F6}" )
Sleep(800)
MouseClick("",$coord[0] ,$coord[1],1,10)
Sleep(2500)
EndIf
$coord = PixelSearch(308, 325, 467, 345, 0x424242)
If Not @error Then
Send("{ALTDOWN}2{ALTUP}")
Sleep(500)
EndIf
WEnd
Func Quit()
Exit
EndFunc ;==>Quit
Func Pause()
$Paused = Not $Paused
While $Paused
Sleep(100)
ToolTip('Paused', 0, 0)
WEnd
ToolTip("")
EndFunc ;==>Pause")
1. กด F3 ไปเรื่อย ๆ จนเจอสีที่กำหนดไว้ (0x00FF00)
2. เมื่อพบแล้วกด F6 และ Click เม้าส์ซ้าย
3. หลังจากทำข้อ 2 เสร็จ ให้หาสี (0x424242)
4. เมื่อพบกด Alt+2
5. ถ้าไม่พบให้ออกจากลูป และกลับไปเริ่มทำตั้งแต่ต้น
อันนี้คือตัวอย่างสคริปคร่าว ๆ ที่ผมทำไว้ ปัญหาที่ผมพบคือ เจอสีที่กำหนดไว้ตามข้อ 1 แต่บางทีจะไม่ยอมทำตาม ข้อ 2 ครับ แล้วอีกอย่างคือ ข้อ 3 ทำยังไงก็ไม่ยอมหาค่าสีที่กำหนดไว้ครับ รบกวนท่าน ๆ ช่วยดูให้ผมด้วยครับ ผมเป็นมือใหม่มากจริง ๆ
ปล. ตรงที่ผมเน้นสีไว้คือส่วนที่ผมคิดว่ามีปัญหาครับ ขอบคุณทุกท่านมาก ๆ ครับ
Opt("MouseCoordMode", 2)
Opt("PixelCoordMode", 2)
Opt("CaretCoordMode", 2)
HotKeySet('{F2}', 'Pause')
HotKeySet('{F5}', 'Quit')
Global $Paused
If WinExists("GAME") Then WinActivate ("GAME")
$d3 = WinActivate ("GAME")
$mLeft = "left"
$mRight = "right"
Pause()
Sleep(100)
While 1
Sleep(1000)
Send("{ALTDOWN}2{ALTUP}")
Sleep(500)
MouseClick("left", 605, 295, 1, 10)
Sleep(500)
MouseClick("left", 605, 295, 1, 10)
Sleep(500)
MouseClick("left", 605, 295, 1, 10)
Sleep(1000)
Send("{F1}" )
Sleep(600)
Send("{F4}" )
Sleep(500)
Send("{F1}" )
Sleep(500)
MouseClick("left", 538, 286, 1, 10)
Sleep(300)
MouseClick("left", 538, 286, 1, 10)
Sleep(300)
MouseClick("left", 538, 286, 1, 10)
Sleep(500)
Send("{Enter}" )
Sleep(500)
Send("{Enter}" )
Sleep(800)
Send("{F3}" )
Sleep(1000)
$coord = PixelSearch(131,141, 655, 522, 0x00FF00)
If Not @error Then
Send("{F6}" )
Sleep(800)
MouseClick("",$coord[0] ,$coord[1],1,10)
Sleep(2500)
EndIf
$coord = PixelSearch(308, 325, 467, 345, 0x424242)
If Not @error Then
Send("{ALTDOWN}2{ALTUP}")
Sleep(500)
EndIf
WEnd
Func Quit()
Exit
EndFunc ;==>Quit
Func Pause()
$Paused = Not $Paused
While $Paused
Sleep(100)
ToolTip('Paused', 0, 0)
WEnd
ToolTip("")
EndFunc ;==>Pause")