Версия AutoIt: v3
Описание: Игра Plants vs. Zombie, в ней есть мини игра, собственно для неё и нужен скрипт.
Скрипт должен всегда следовать за улиткой и кликать на неё, через заданное мной время "погоня" за улиткой прекрощается, и должна наступить функция, в функцию заключается поиск цвета (распылителя на картинке) и клик по нему, затем следует поиск другого цвета (цветка над которым висит картинка распылителя) и клик по этому распылителю (на цветке который).
Всё проходит хорошо, скрипт работает до тех пор, пока цветки не перестанут нуждатся в распылителе, после того вылетает ошибка...
Измените пожалуйста мой скрипт, что бы при выполнении функции, если цвет не найден, то он кликал мышкой по заданным мною координатам или по тому же самому месту где указывался пиксель с распылителем...
Вот скриншот с игры: http://s019.radikal.ru/i626/1206/f7/5f7fac66b48f.jpg
Описание: Игра Plants vs. Zombie, в ней есть мини игра, собственно для неё и нужен скрипт.
Скрипт должен всегда следовать за улиткой и кликать на неё, через заданное мной время "погоня" за улиткой прекрощается, и должна наступить функция, в функцию заключается поиск цвета (распылителя на картинке) и клик по нему, затем следует поиск другого цвета (цветка над которым висит картинка распылителя) и клик по этому распылителю (на цветке который).
Всё проходит хорошо, скрипт работает до тех пор, пока цветки не перестанут нуждатся в распылителе, после того вылетает ошибка...
Измените пожалуйста мой скрипт, что бы при выполнении функции, если цвет не найден, то он кликал мышкой по заданным мною координатам или по тому же самому месту где указывался пиксель с распылителем...
Вот скриншот с игры: http://s019.radikal.ru/i626/1206/f7/5f7fac66b48f.jpg
Код:
HotKeySet ("{F1}", "_script_togglePause")
HotKeySet ("{F2}","_exit")
Global $stSettings[1] = [False]
Func _script_togglePause ()
$stSettings[0] = Not ($stSettings[0])
If $stSettings[0] Then ToolTip (". . . pause . . .", @DesktopWidth/2, 100)
While $stSettings[0]
Sleep (100)
WEnd
ToolTip ("")
EndFunc
Func _exit()
Exit
EndFunc
AdlibRegister('poliv', 1*60*1000)
AdlibRegister('musik', 3*60*1000)
WinWaitActive ("Plants vs. Zombies")
While 1
$aCoord=PixelSearch( 557, 35, 1356, 628, 0xBD8140 )
If Not @error Then
MouseClick('left', $aCoord[0], $aCoord[1], 3,25)
EndIf
WEnd
Func poliv()
$aCoord=PixelSearch( 557, 35, 1356, 628, 0x9DD170 ) ; находит цвет
If Not @error Then
MouseClick('left', $aCoord[0], $aCoord[1], 1) ;;кликает
Sleep (2000)
$aCoord=PixelSearch( 557, 35, 1356, 628, 0x487825 ) ; если цвет не находит, то вылетает ошибка и скрипт останавливается
MouseClick('left', $aCoord[0], $aCoord[1], 1)
EndIf
EndFunc
Func musik()
$aCoord=PixelSearch( 557, 35, 1356, 628, 0xEDB139 )
If Not @error Then
MouseClick('left', $aCoord[0], $aCoord[1], 1)
Sleep (2000)
$aCoord=PixelSearch( 557, 35, 1356, 628, 0xF6B739 )
MouseClick('left', $aCoord[0], $aCoord[1], 1)
EndIf
EndFunc