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


รบกวนทีครับเกี่ยวกับการหาค่าสี

Share

kissyou
มือใหม่เพิ่งสมัคร
มือใหม่เพิ่งสมัคร


จำนวนข้อความ : 1
ความนิยม : 0
เข้าร่วมเมื่อ : 17/06/2014

รบกวนทีครับเกี่ยวกับการหาค่าสี

ตั้งหัวข้อ by kissyou on 17/06/14, 05:29 pm

ผมต้องการให้ 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")

    เวลาขณะนี้ 07/12/16, 12:52 am