[autoit]
Global $overview[2],$fact_eve_res[2],$overline_1_left_up[2],$overline_1_middle[2],$Paused=False,$mini=True
Global $droneinbaylinemiddle[2],$dronelounchlinemiddle[2],$droneinbayOCR[2],$droneinspaceOCR[2],$SIFirstIconCenter[2],$SIstep
Global $localzone[4]
Func checkbaseparams()
Local $temp1[4], $temp2[2], $tmp[2]
If WinExists("EVE") Then
WinActivate("EVE")
WinWaitActive("EVE")
WinMove("EVE","",0,0)
$temp=WinGetPos("EVE") ;узнаем длину и ширину oкна ЕВЫ
$fact_eve_res[0]=$temp[2]-6
$fact_eve_res[1]=$temp[3]-28
GUICtrlSetData($MyGUI_Lable5,$fact_eve_res[0]&","&$fact_eve_res[1])
;начинаем искать овервью
$temp2=PixelSearch($fact_eve_res[0]/2,30,$fact_eve_res[0],$fact_eve_res[1],0xCFCFCF) ;ищем координаты треугольника овервью
If @error Then
MsgBox(4096,"Error","Overview not found. I cant work :(")
Exit(1)
EndIf
$overview[0]=$temp2[0]+1;
$overview[1]=$temp2[1]+3; попровляем координаты чтобы стали серединой треугольника
$overline_1_left_up[0]=$overview[0]-6;левый верхний угол первой строки овервью
$overline_1_left_up[1]=$overview[1]+48;
$overline_1_middle[0]=$overview[0]+5;середина первой строки овервью
$overline_1_middle[1]=$overview[1]+57;
; начинаем искать селектед итемс
$tmp=SISearch()
If @error Then
MsgBox(4096,"Error","Selected Item menu not found. I cant work :(")
Exit(2)
EndIf
If $mini Then
$SIstep=23 ; шаг между иконками в селектед итемс
$SIFirstIconCenter[0]=$tmp[0]+16 ; центр первой иконки
Else
$SIstep=32
$SIFirstIconCenter[0]=$tmp[0]+21
EndIf
$SIFirstIconCenter[1]=$tmp[1]+72
;начинаем поиск треугольника у дронов
$temp2=PixelSearch($fact_eve_res[0]/2,$overview[1]+10,$fact_eve_res[0],$fact_eve_res[1],0xCFCFCF)
If Not @error Then
$droneinbaylinemiddle[0]=$temp2[0]+48; середина линии Drones in bay
$droneinbaylinemiddle[1]=$temp2[1]+26
$dronelounchlinemiddle[0]=$temp2[0]+109; середина линии Drones in local space
$dronelounchlinemiddle[1]=$temp2[1]+65
$droneinbayOCR[0]=$temp2[0]+88; координаты цифры количества дронов в трюме
$droneinbayOCR[1]=$temp2[1]+24
$droneinspaceOCR[0]=$temp2[0]+122; координаты цифры количества выпущенных дронов
$droneinspaceOCR[1]=$temp2[1]+43
Else
MsgBox(4096,"Error","Drones not found. I cant work :(")
Exit(3)
EndIf
;начинаем искать Локал, а точнее нам нужно получить зону для сканирования нейтралов и минусов
$localzone=LocalSearch()
If @error Then
MsgBox(4096,"Error","Local not found. I cant work :(")
Exit(4)
EndIf
MouseMove($overline_1_middle[0],$overline_1_middle[1],15)
Sleep(500)
MouseMove($droneinbayOCR[0]+2,$droneinbayOCR[1]+3,15)
Sleep(500)
MouseMove($localzone[0],$localzone[1],15)
Sleep(500)
MouseMove($localzone[2],$localzone[3],15)
Sleep(1500)
EndIf
EndFunc
; Description ...: Ищит в заданной области поиска окно Selected Item.
; Return values .: Success - Возвращает одномерный массив содержащий X, Y координаты левого верхнего угла Selected Item окна. (Array[0] = x, Array[1] = y).
; Failure - Возвращает 0 и присваивает @error одно из следующих значений:
; @error = 1 : Если в области сканирования небыло найдено даже намека на окно Selected Item.
; @error = 2 : Если было найдено предположительное место расположения окна, но последующая проверка показала
; что это либо не оно, либо его параметры не такие какими должны быть.
Func SISearch()
Local $i1 = PixelSearch($fact_eve_res[0]/2,30,$fact_eve_res[0],$fact_eve_res[1]/2,0x333333,5)
If Not @error Then
Local $i2 = PixelSearch($i1[0], $i1[1]+32, $i1[0], $i1[1]+32, 0x7A7A7A, 5)
If @error Then
Return $i1
Else
SetError(2)
EndIf
Else
SetError(1)
EndIf
Return 0
EndFunc
Func LocalSearch()
Local $ret[4]
Local $i1 = PixelSearch(40,30,$fact_eve_res[0]/2,$fact_eve_res[1],0xCECECE)
If Not @error Then
Local $i2=PixelSearch($i1[0]+1,$i1[1]+2,$i1[0]+7,$i1[1]+4,0x6B6B6B)
If Not @error Then
$ret[0]=$i1[0]-5
$ret[1]=$i1[1]+20
$ret[2]=$ret[0]+25
$ret[3]=$ret[1]+300
Return $ret
Else
SetError(1)
EndIf
SetError(2)
EndIf
EndFunc
[/autoit]