Я пытаюсь создать бот для флеш-игры, чтобы проверить и применить мои текущие навыки. Сама игра имеет х уровней, и мне нужно всего лишь 3 из них. 3 уровня выбраны случайными в игровой «библиотеке уровней».Autoit - Move Если найдены определенные пиксели
В настоящее время я пытаюсь выполнить его на определенном уровне, но я не знаю, как заставить игрока двигаться 1 вниз, если все конкретные пиксели найдены.
Вот код:
;Exit HotKey
HotKeySet("{F1}", "myExit")
WinActivate("GAME– Google Chrome")
Sleep(1000)
;Variables
$dirtColor = 0x5E480F
$clearDirtColor= 0x2D2206
$stoneBlockColor=0x7F654C ;Remember viration
$rolingStoneColor= 0x575656 ;Remember viration
$backgroundColor = 0x97761E
;Levels
Func checkLevel3() ;Scan which level it is
if IsArray($player) = True Then
;Move cursor to player
MouseMove($player[0],$player[1])
Sleep(Random(250,500))
;Search 1
$Search1 = PixelSearch($player[0],$player[1]+50,$player[0],$player[1]+50, $clearDirtColor, 2)
MouseMove($Search1[0],$Search1[1])
Sleep(Random(250,600))
;Search 2
$Search2 = PixelSearch($player[0]+60,$player[1]+50,$player[0]+60,$player[1]+50, $rolingStoneColor, 30)
MouseMove($Search2[0],$Search2[1])
Sleep(Random(300,700))
;Search 3
$Search3 = PixelSearch($player[0]+60,$player[1],$player[0]+60,$player[1], $clearDirtColor, 3)
MouseMove($Search3[0],$Search3[1])
Sleep(Random(300,700))
;Search 4
$Search4 = PixelSearch($player[0]-30,$player[1],$player[0]-30,$player[1], $backgroundColor, 3)
MouseMove($Search4[0],$Search4[1])
;Sleep(Random(300,700))
;Checks if all color matches
if $Search1 = true And $Search2 = true And $Search3 = true And $Search4= true Then
;Clearing level3
Send("{DOWN}")
EndIf
EndIf
EndFunc
;Check player position
$player= PixelSearch(190,182,1813,984,0x11c1A1)
checkLevel3() ; Runs function for level 3
Func myExit()
Exit
EndFunc
Спасибо, что нашли время для чтения этого.