В общем решил сделать бота для Легенды Кунг Фу.
Взял за основу скрипт http://autoit-script.ru/index.php/topic,1844.0.html для Eve-Online
Скрипт должен автоматически определить окно - делает
проверить состояние ХП масивом.. Ну и если что принять решение хилиться или нет..
Хеалз чек работает, но в МАин функции не обробатывает Кейс,либо контрл сенд.
Помогите плЗ)
Взял за основу скрипт http://autoit-script.ru/index.php/topic,1844.0.html для Eve-Online
Скрипт должен автоматически определить окно - делает
проверить состояние ХП масивом.. Ну и если что принять решение хилиться или нет..
Хеалз чек работает, но в МАин функции не обробатывает Кейс,либо контрл сенд.
Помогите плЗ)
Код:
AutoItSetOption ( "PixelCoordMode", 0)
AutoItSetOption ( "MouseCoordMode", 2)
AutoItSetOption ( "TrayAutoPause", 0)
Global $Paused
Global $sWinDo = "Легенды Кунг Фу Сервер-Дракон"
Global $hWnd = WinGetHandle("[CLASS:FxMain]")
Global $HealthCheck
Global $Status
Global $HP_Pix[7]=[261, 79, 265, 79, 0xEF5643]
HotKeySet("{NUMPAD1}", "Main")
HotKeySet("{NUMPAD2}", "TogglePause")
HotKeySet("{NUMPAD3}", "Terminate")
HotKeySet ( "{F1}", "_GetWinHandle1") ;
AdlibRegister("Status",1000)
While 1
Sleep (3000)
WEnd
Func Main ()
While 1
Select
Case $HealthCheck=1
$Status = "Много ХП" ;Работает
Case $HealthCheck=0
$Status = "Мало ХП" ; работает
ControlSend($hWnd,"","","{0}") ; неработает
Sleep (20000)
EndSelect
Wend
EndFunc
Func Status ()
_Check("HealthCheck")
_Check("ManaCheck")
EndFunc
Func _Check($Object,$Object2="No")
Select
Case $Object="HealthCheck"
PixelSearch($HP_Pix[0],$HP_Pix[1],$HP_Pix[2],$HP_Pix[3],$HP_Pix[4],$HP_Pix[5])
If Not @error Then
$HealthCheck=1
Else
$HealthCheck=0
EndIf
EndSelect
ToolTip("Чек ХП = "&$Status&"",0,0)
EndFunc
Func _GetWinHandle1 () ; функция определения хэндла первог?окна
$aAllWindows = WinList (); собираем вс?окна ?массив
For $i = 1 to $aAllWindows[0][0]; перебираем вс?окна ?цикл??проверяем активн?ли он?
If _IsActive($aAllWindows[$i][1]) Then ; если окно активн? то эт?наше окно
$sWinDo = $aAllWindows[$i][1] ; помещаем ег?хэнд??заране?приготовленную переменную
TrayTip ( "Определение Окна", "Готово "&$sWinDo&" ", 3)
HotKeySet ( "{F1}")
EndIf
Next
EndFunc
Func _IsActive($handle); функция проверки активн?ли окно
If BitAnd( WinGetState($handle), 8 ) Then
Return 1
Else
Return 0
EndIf
EndFunc
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc
Func Terminate()
Exit 0
EndFunc