Начал писать элементарного бота для онлайн игры атлантика.
Бот спокойно находится в зоне тбс с агромобами, дерется на автобое, после боя проверяет умер ли кто то из мерков, если да то воскрешает его.
После боя начинаю выбирать каждого мерка и проверять по цвету пикселя жив он или нет, с помощью
Почему то скрипт начинает работать некорректно, если первый наёмник мертв, то он и всех остальных после него считает мёртвыми.
Если все живы, то после проверки 6 мерк всегда почему то мёртв и причём остальных мерков идущих после него, он считает что они живы.... Не могу понять в чём косяк?
Бот спокойно находится в зоне тбс с агромобами, дерется на автобое, после боя проверяет умер ли кто то из мерков, если да то воскрешает его.
После боя начинаю выбирать каждого мерка и проверять по цвету пикселя жив он или нет, с помощью
Код:
PixelSearch.
Почему то скрипт начинает работать некорректно, если первый наёмник мертв, то он и всех остальных после него считает мёртвыми.
Если все живы, то после проверки 6 мерк всегда почему то мёртв и причём остальных мерков идущих после него, он считает что они живы.... Не могу понять в чём косяк?
Код:
#Include <winapi.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 453, 327, 192, 124)
$Merk2 = GUICtrlCreateInput("Мёртв", 16, 24, 121, 21)
$Merk3 = GUICtrlCreateInput("Мёртв", 16, 56, 121, 21)
$Merk4 = GUICtrlCreateInput("Мёртв", 16, 88, 121, 21)
$Merk5 = GUICtrlCreateInput("Мёртв", 16, 128, 121, 21)
$Merk6 = GUICtrlCreateInput("Мёртв", 16, 160, 121, 21)
$Merk7 = GUICtrlCreateInput("Мёртв", 16, 192, 121, 21)
$Merk8 = GUICtrlCreateInput("Мёртв", 16, 224, 121, 21)
$Merk9 = GUICtrlCreateInput("Мёртв", 16, 256, 121, 21)
$CheckMerk = GUICtrlCreateButton("Check Merk", 312, 64, 75, 25)
GUISetState(@SW_SHOW)
$hWnd = WinGetHandle("Атлантика Онлайн")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $CheckMerk
CheckMerk()
EndSwitch
WEnd
Func CheckMerk()
ControlSend($hWnd, "", "", "2")
sleep(600)
$MerkDie = PixelSearch(0,0,771,753,0x371B3A,1,0,$hWnd)
If Not @error Then
GUICtrlsetdata($Merk2,"Мёртв")
Else
GUICtrlsetdata($Merk2,"Жив")
EndIf
ControlSend($hWnd, "", "", "3")
sleep(600)
$MerkDie = PixelSearch(0,0,815,753,0x371B3A,1,0,$hWnd)
If Not @error Then
GUICtrlsetdata($Merk3,"Мёртв")
Else
GUICtrlsetdata($Merk3,"Жив")
EndIf
ControlSend($hWnd, "", "", "4")
sleep(600)
$MerkDie = PixelSearch(0,0,859,753,0x371B3A,1,0,$hWnd)
If Not @error Then
GUICtrlsetdata($Merk4,"Мёртв")
Else
GUICtrlsetdata($Merk4,"Жив")
EndIf
ControlSend($hWnd, "", "", "5")
sleep(600)
$MerkDie = PixelSearch(0,0,903,753,0x371B3A,1,0,$hWnd)
If Not @error Then
GUICtrlsetdata($Merk5,"Мёртв")
Else
GUICtrlsetdata($Merk5,"Жив")
EndIf
ControlSend($hWnd, "", "", "6")
sleep(600)
$MerkDie = PixelSearch(0,0,945,754,0x371B3A,1,0,$hWnd)
Sleep(100)
If Not @error Then
GUICtrlsetdata($Merk6,"Мёртв")
Else
GUICtrlsetdata($Merk6,"Жив")
EndIf
ControlSend($hWnd, "", "", "7")
sleep(600)
$MerkDie = PixelSearch(0,0,987,753,0x371B3A,1,0,$hWnd)
If Not @error Then
GUICtrlsetdata($Merk7,"Мёртв")
Else
GUICtrlsetdata($Merk7,"Жив")
EndIf
ControlSend($hWnd, "", "", "8")
sleep(600)
$MerkDie = PixelSearch(0,0,1030,753,0x371B3A,1,0,$hWnd)
If Not @error Then
GUICtrlsetdata($Merk8,"Мёртв")
Else
GUICtrlsetdata($Merk8,"Жив")
EndIf
ControlSend($hWnd, "", "", "9")
sleep(600)
$MerkDie = PixelSearch(0,0,1073,753,0x371B3A,1,0,$hWnd)
If Not @error Then
GUICtrlsetdata($Merk9,"Мёртв")
Else
GUICtrlsetdata($Merk9,"Жив")
EndIf
EndFunc