подскажите что я делаю не так?
Код:
#comments-start
Бот для игры Мир танков
Код:
Графический интерфейс
Запуск бота
Релогин
Выбор танка(на дороботке)
Выход из боя(После смерти)
#comments-end
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
; Определяем параметры окна
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)
; Рисуем GUI интерфейс для управления ботом
$WoT = GUICreate("BoT", 200, 220, 192, 124)
$Client = GUICtrlCreateGroup("Управление клиентом", 8, 8, 185, 129)
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 24, 169, 17)
$ChangTank = GUICtrlCreateCheckbox("Поиск свободного танка", 16, 40, 169, 25)
$SortLabel = GUICtrlCreateLabel("В каком порядке выбирать танк", 16, 64, 169, 17)
$SortTank = GUICtrlCreateInput("123", 16, 104, 169, 21)
$StartBot = GUICtrlCreateButton("Запуск", 32, 154, 129, 25, $WS_GROUP)
$SaveSet = GUICtrlCreateButton("Сохранить настройки", 32, 180, 129, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
; попытка сохранять параметры в Ini
Case $SaveSet
$ARState = GUICtrlRead($AutoRelog)
$CTState = GUICtrlRead($ChangTank)
$STState = GUICtrlRead($SortTank)
If $ARState = 1 Then
IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 1)
Else
IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 0)
EndIf
If $CTState = 1 Then
IniWrite("Bot.ini", "ClConfig", "ChangeTank", 1)
Else
IniWrite("Bot.ini", "ClConfig", "ChangeTank", 0)
EndIf
IniWrite("Bot.ini", "ClConfig", "SortTank", $STState)
; запуск бота
Case $StartBot
; активируем окно игры
WinActivate("[TITLE:W.o.T. Client]","")
While 1
Select
; Если окно не активно оповещаем
Case WinActive("[TITLE:W.o.T. Client]","") = 0
MsgBox(0,"Сообщение","Окно игры не активно, бот остановлен")
ExitLoop
; Если окно активно,проверяем залогинен ли клиент
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
; Если логин не совершен, совершаем его
PixelSearch(0,0,500,500,0x000000,100)
If @error=0 Then
Sleep(1000)
MouseClick("",512,540,2)
EndIf
; Необходимо добавить проверку нахождения в ангаре
Case PixelGetColor(516,94) = 0x080000
; Начинаем выбор танка
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
; Проверяем 1 слот
If PixelGetColor(461,40) = 0xB02022 Then
Sleep(3000)
MouseClick("",180,657,5)
Sleep(3000)
MouseClick("",511,46,5)
; Проверяем 2 слот
ElseIf PixelGetColor(461,40) = 0xB02022 Then
Sleep(3000)
MouseClick("",348,657,5)
Sleep(3000)
MouseClick("",511,46,5)
; Проверяем 3 слот
ElseIf PixelGetColor(461,40) = 0xB02022 Then
Sleep(3000)
MouseClick("",511,657,5)
Sleep(3000)
MouseClick("",511,46,5)
EndIf
; Параметры боя
While 1
Select
Case WinActive("[TITLE:W.o.T. Client]","") = 0
Exit
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
While 1
$var = PixelSearch(825,568,1014,756,0xDA0000,3)
If Not @error Then
Send("{CTRLDOWN}")
MouseMove($var[0],$var[1])
Send("{CTRLUP}")
Else
;Мы не нашли нужный цвет
EndIf
WEnd
EndSelect
WEnd
; Проверка жив ли наш танк
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
PixelSearch(0,0,500,500,0x000000,100)
If @error=0 Then
Sleep(3000)
Send("{R 2}")
EndIf
; Если танк убит выходим из боя
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
Sleep(3000)
Send("{ESC}")
Sleep(3000)
MouseClick("",510,372,5)
EndSelect
WEnd
EndSwitch
WEnd