#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\icons\иконки устройств\1013.ico
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Opt("PixelCoordMode", 2) ;Отсчет координат пикселей от левого верхнего угла клиентской части окна
Opt("MouseCoordMode", 2) ;Отсчет координат мыши от левого верхнего угла клиентской части окна
Opt ("MouseClickDelay", 20);Задаем интенсивность нажатия мыши.
Opt ("SendKeyDownDelay", 100)
HotKeySet ("{`}","_exit");задаем горячую клавишу остановки скрипта
;----------------------------------------------Ниже основа ------------
Global $y=133
Global $x
checkbeltnum()
IniWrite("D:\eve.ini","Script", @MDAY & "\" & @MON & " " & @HOUR & ":" & @Min & ":" & @Sec,"Start,Belt №" & $x)
IniWrite("D:\eve.ini","Mined", "=-------------------","")
IniWrite("D:\eve.ini","Status","=-------------------","")
#cs
справка по белтам цифра - значение $y`
1-133 2-149 3-165
4-181 5-197 6-213
7-229 8-245 9-261
10-277 11-293 12-309
#ce
while $y<310
WinActivate("EVE - charname")
WinWaitActive("EVE - charname");активируем окно с евой,чтобы покорить еву ботством...:)
Undock();андокаемся - пока не пройдет проверка повторяем...
Sleep (1000)
checkbeltnum()
If ConvoCheck()=1 Or ConvoCheck2()=1 Or ConvoCheck3()=1 Then ;3 проверки на конво,если вдруг срабатывает то загружаем громкую мелодию :) закомментил - можно просто выход сделать.
ShellExecute ("D:\Autoit\proekts\1.mp3")
;_exitgame()
;_exit()
EndIf
WarpToBelt();плывем к белту - ломимся,пока не пройдут проверки.
Sleep (500)
If ConvoCheck()=1 Or ConvoCheck2()=1 Or ConvoCheck3()=1 Then;снова проверка на конво
ShellExecute ("D:\Autoit\proekts\1.mp3")
;_exitgame()
;_exit()
EndIf
Mine();здесь процесс добычи с проверками на заполненность трюма,лока,конво.
sleep (300)
Dock();летим домой
sleep (1000)
OreToHome();сбрасываем руду;проверка осталось ли че? :) Если осталось - повторить.
If ConvoCheck()=1 Or ConvoCheck2()=1 Or ConvoCheck3()=1 Then
ShellExecute ("D:\Autoit\proekts\1.mp3")
;_exitgame()
;_exit()
EndIf
Wend
_exitgame()
_exit()
;--------------------------------------------Конец основы---------------
;--------------------------------------------------
Func _exit();завершение работы скрипта
ToolTip("Завершение скрипта",0,0)
Sleep(200)
IniWrite("D:\eve.ini","Script", @MDAY & "\" & @MON & " " & @HOUR & ":" & @Min & ":" & @Sec,"Stop,Belt №" & $x)
Exit
EndFunc
;--------------------------------------------------
Func WarpToBelt();функция полета на белт
Do
ToolTip ("Пытаемся варпнутся к белту",0,0)
MouseClick ("left",62, 47,1,20);клик на треугольник
MouseMove(120, 52,20);плавно ведем мышь по меню
MouseMove(120, 133,20)
MouseMove(240, 133,20)
;доводим до списка бук белтов - эти первые 3 операции с мышью
;для всех белтов одинаковы
MouseMove(240, $y,20);доводим до 1го белта в списке(разница в 16 пикселей)
MouseClick("left",340, $y,1,20);
Sleep (8000) ;летим ждем надпись "Гипердрайв активен"
Until CheckWarp()=0;повторяем попытки улететь на белт,пока не пройдет проверка на варп к белту
WinActivate("EVE - charname")
WinWaitActive("EVE - charname")
Do
Sleep(100)
ToolTip ("летим к белту",0,0)
Until CheckWarp()=1;повторяем надпись,пока не пройдет проверка на окончание варпа.
Sleep(1000)
EndFunc
;-----------------------------------------------
Func CheckWarp() ;функция проверки окончания варпа
PixelSearch (425, 527,425, 527,0xBCBCBC,10);проверяется левый верхний пиксель буквы Г в слове Гиперпрыжок :)пока он есть мы в гиперпрыжке.
If @error Then
Return 1
Else
Return 0
EndIf
EndFunc
;----------------------------------------------
Func _exitgame();если белты с дистанцией менее 10км к астероиду кончились - выйти из игры.
WinActivate("EVE - charname")
WinWaitActive("EVE - charname")
Send ("{esc}")
sleep (4000)
MouseClick ("left",851, 606,1,20)
IniWrite("D:\eve.ini","Game Exit", @MDAY & "\" & @MON & " " & @HOUR & ":" & @Min & ":" & @Sec,"Stop,Belt №" & $x)
Return
EndFunc
;------------------------------------------------
Func Dock() ;Полет домой если заполнен трюм
WinActivate("EVE - charname")
WinWaitActive("EVE - charname")
;если трюм заполнился - летим домой
Do
MouseClick ("left",62, 47,1,20);клик на треугольник`
MouseMove (123, 56,20);аккуратно ведем мышь
MouseMove (123, 157,20);дом
MouseMove (223, 157,20);додвигаем до начала меню дом
MouseClick ("left",223, 207,1,20);4й пункт 1й буки
sleep (6000);примерное время до появления надписи "Гипердрайв активен"
ToolTip ("Начинаю варпаться домой",0,0)
Sleep(200)
Until CheckWarp()=0;повторяем процедуру,пока не пройдем проверку на процесс варпа
Do
ToolTip ("Варп домой",0,0)
Until CheckWarp()=1
Do
ToolTip ("Лечу в док...",0,0)
Until CheckSpace()=0
ToolTip ("Мы дома",0,0)
Sleep(200)
EndFunc
;----------------------------------------------------------
Func Undock();вылет со станции.
WinActivate("EVE - charname")
WinWaitActive("EVE - charname")
Do
ToolTip("Вылетаем ботить :)",0,0)
MouseClick("left",17, 735);щелчок на андок
Sleep(200)
ToolTip ("я на станции!",0,0)
Until CheckSpace()=1;спамить андок и показывать надпись каждую секунду,пока не появимся в космосе.
EndFunc
;-----------------------------------------------
Func CheckSpace();проверка на космос
WinActivate("EVE - charname")
WinWaitActive("EVE - charname")
PixelSearch(737, 122,737, 122,0xCFCFCF,10);ищем треугольник овервью
if not @error Then ;- мы находимся в космосе.
ToolTip ("я в космосе",0,0)
Sleep(200)
return 1
Else
return 0
EndIf
EndFunc
;------------------------------------------------
Func Mine();включить лазеры для добычи если дистанция ближе 10км
Minestage1()
While CargoCheck()=0;пока не заполниться карго бурим,тут проверки на лок,конво.
WinActivate("EVE - charname")
WinWaitActive("EVE - charname")
While LockCheck()=1;проверка на лок
ToolTip("Атаке!" & "|" & "Белт " & $x,0,0)
Send ("{f1}")
Send ("{f2}")
Send ("{f3}")
$stripwork=random (45500,49300)
Sleep ($stripwork)
WinActivate("EVE - charname")
WinWaitActive("EVE - charname")
Send ("{f1}")
Send ("{f2}")
Send ("{f3}")
ToolTip ("ждем пока не заполнится трюм",0,0)
sleep (1000)
ToolTip ("проверка конво",0,0)
If ConvoCheck()=1 Or ConvoCheck2()=1 Or ConvoCheck3()=1 Then
ShellExecute ("D:\Autoit\proekts\1.mp3")
;_exitgame()
;_exit()
EndIf
If CargoCheck()=1 Then
ExitLoop
EndIf
WEnd
WEnd
EndFunc
;------------------------------------------------
Func Minestage1() ;проверка на
#comments-start
Do
Sleep (100)
SelItemCheck();проверка на выбор объекта(selected item).
ToolTip("Подлетаю к метеору ближе 10 км",0,0)
Until DistanceCheck()=1;повторяем цикл,пока дистанция не станет ближе 10км
#comments-end
Distforbelt()
MouseClick ("left",880, 74);жмем кнопку лока цели
ToolTip("Лочу цель",0,0)
Sleep (3500);ждем окончания лока
EndFunc
;------------------------------------------------
Func LockCheck();проверка цели на лок
PixelSearch(635, 81,635, 81,0x404040)
If not @error Then
Return 1
Else
ToolTip("Сбился лок - начинаю поиск ближайшего метеора",0,0)
Sleep (600)
;если лок сбился начинаем процедуру лока и бурения,как будто только прилетели на белт.
Minestage1()
return 0
EndIf
EndFunc
;------------------------------------------------
Func CargoCheck();проверка на заполненность трюма
;WinActivate("EVE - charname")
Sleep (200)
PixelSearch (280, 617,280, 617,0x005067,10);проверка на наличие синего цвета.если есть,то заполнен.
If Not @error Then
ToolTip("Трюм наполнился",0,0)
Sleep(200)
Return 1
Else
Return 0
EndIf
EndFunc
;-----------------------------------------------
;----------кусок сброса лута---------------
Func OreToHome();функция сбрасывания руды на станцию
Do
ToolTip("Cбрасываю добычу",0,0)
Sleep(200)
MouseClick("left",150, 597,1,20);иногда происходит лаг и вся руда не вытаскивается,поэтому решил воткнуть костылик
Send ("^a")
MouseClickDrag ("left",63, 665,83, 366,20)
Sleep (2000)
Until FullEmptyCheck()=1
IniWrite("D:\eve.ini","Mined",@MDAY & "\" & @MON & " " & @HOUR & ":" & @Min & ":" & @Sec, "сброшен лут" & " Бука №" & $x)
EndFunc
;--------------------------------------------------
Func FullEmptyCheck();проверка - сброшен лут или нет.
PixelSearch (186, 618,186, 618,0x041115,10)
If @error Then
ToolTip ("лут еще есть!",0,0)
Sleep(200)
Else
ToolTip ("лут сброшен...",0,0)
Sleep(200)
return 1
EndIf
EndFunc
;-----------------------------------------------------
Func Distforbelt();проверка на дистанцию - меньше или больше 10км - усовершенствовал - теперь определяет астероиды ближе 100 м адекватно.
WinActivate("EVE - charname")
WinWaitActive("EVE - charname")
MouseClick("left",774, 183,1,20)
Sleep (600)
PixelSearch (828, 40,830, 44,0x8F8F8F,10);проверка диапазона пикселей между 2х значным XX числом километров и слова км.на наличие серого оттенка цвета(цвет чисел).
If not @error Then;PixelSearch (836, 40,840, 44,0x8F8F8F,10) если появился нужный цвет в диапазоне,значит мы уже ближе 10км и представление цифр изменилось на XXXX м.
ToolTip("Ближе 10км есть астероиды - майню на Белте " & $x & " дальше.",0,0)
Sleep (600)
Return
Else
PixelSearch (943, 74,951, 87,0x8E8E8E,10)
If @error Then
ToolTip("Белт пустой!Летим дальше.",0,0)
Sleep (500)
Else
PixelSearch (836, 40,840, 44,0x8F8F8F,10)
If @error Then
ToolTip("Ближе 10км есть астероиды - майню на Белте " & $x & " дальше.",0,0)
Sleep (600)
Return
EndIf
EndIf
$y=$y+16
ToolTip("нет астероидов ближе 10км - меняю белт № " & $x & " на белт №" & ($x+1),0,0)
Sleep(600)
If $y>310 Then
_exitgame()
_exit()
EndIf
WarpToBelt()
checkbeltnum()
IniWrite("D:\eve.ini","Status",@MDAY & "\" & @MON & " " & @HOUR & ":" & @Min & ":" & @Sec, "Warp to belt №" & $x)
Distforbelt()
Return
EndIf
EndFunc
;-------------------------------------------
Func checkbeltnum();узнаем номер белта по текущей координате y
Select
Case $y=133
$x=1
Case $y=149
$x=2
Case $y=165
$x=3
Case $y=181
$x=4
Case $y=197
$x=5
Case $y=213
$x=6
Case $y=229
$x=7
Case $y=245
$x=8
Case $y=261
$x=9
Case $y=277
$x=10
Case $y=293
$x=11
Case $y=309
$x=12
EndSelect
EndFunc
;---------------------------
Func ConvoCheck()
PixelSearch (303, 172,819, 581,0xFFA600,10)
If Not @error Then
IniWrite("D:\eve.ini","Convo",@MDAY & "\" & @MON & " " & @HOUR & ":" & @Min & ":" & @Sec, "АААА конво был бляяяя!!!сработала проверка 1")
Send ("{PRINTSCREEN}")
Return 1
Else
Return 0
EndIf
EndFunc
Func ConvoCheck2()
PixelSearch (303, 172,819, 581,0x6284AF,10)
If Not @error Then
IniWrite("D:\eve.ini","Convo",@MDAY & "\" & @MON & " " & @HOUR & ":" & @Min & ":" & @Sec, "АААА конво был бляяяя!!!сработала проверка 2")
Send ("{PRINTSCREEN}")
Return 1
Else
Return 0
EndIf
EndFunc
Func ConvoCheck3()
PixelSearch (303, 172,819, 581,0x0064C0,10)
If Not @error Then
IniWrite("D:\eve.ini","Convo",@MDAY & "\" & @MON & " " & @HOUR & ":" & @Min & ":" & @Sec, "АААА конво был бляяяя!!!сработала проверка 3")
Send ("{PRINTSCREEN}")
Return 1
Else
Return 0
EndIf
EndFunc