#Region
#AutoIt3Wrapper_icon=..\icons\иконки устройств\1013.ico
#AutoIt3Wrapper_UseX64=n
#EndRegion
#include <Date.au3>
Opt("TrayIconDebug", 1)
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)
Opt ("MouseClickDelay", 20)
Opt ("SendKeyDownDelay", 100)
HotKeySet ("{`}","_exit")
HotKeySet ("{\}","_pause")
HotKeySet ("{RIGHT}","BookmarkPlus")
HotKeySet ("{LEFT}","BookmarkMinus")
HotKeySet("{UP}","DroneUse")
HotKeySet("{DOWN}","ConvoSwitch")
WinMove("EVE", "", -3, -27)
Global $CharName="Char Name"
Global $Status="#"
Global $NearDockWarp=0
Global $Dock=0
Global $MidCicleTime[4]
Global $CicleWorked=0
Global $ConvoExe="mp3"
Global $DroneUse=IniRead("D:\Eve.ini","Drone","Use","Да")
Global $ProcChk
Global $RndStrp
Global $all
Global $FullEmptyCheck
Global $SpaceChk
Global $WarpChk
Global $Belt
Global $CargoChk
Global $10kmChk
Global $AsterChk
Global $LockChk
Global $StripChk
Global $LootCount=0
Global $DrChk
Global $pause
Global $CicleTime
Global $timer = TimerInit()
Dim $hour,$min,$sec
Global $y=133
Global $x
AdlibRegister("Status")
IniWrite("D:\eve.ini","Script", _NowCalc(),"Start,Бука №" & $x)
$CicleTime = TimerInit()
While 1
Mine()
Wend
Func Mine()
Local $StrpTimer
While 1
AllChecks()
Select
Case $SpaceChk="Загрузка..." or $ProcChk="процесс..." or $WarpChk=1
Sleep(100)
Case $SpaceChk="Док"
If $FullEmptyCheck="Есть" Then
_Action("OreToHome")
Else
_Action("Undock")
EndIf
Case $CargoChk=1
If $Dock=1 Then
$Status="Жду док..."
Sleep(300)
Else
_Action("Dronecontrol")
_Action("Dock")
EndIf
Case $AsterChk=0
If $Dock=1 Then
$Status="Жду док..."
Sleep(300)
EndIf
If TimerDiff($CicleTime)<=30000 or $NearDockWarp=1 Then
_Action("WarpToBelt")
Else
_Action("WarpToBelt","Бука+")
EndIf
Case $AsterChk=1
If $LockChk=0 Then
_Action("StripChk","Off")
_Check("Chk10km")
If $10kmChk="<10км" Then
_Action("LockTarget")
_Action("StartDrone")
EndIf
If $10kmChk=">10км" Then
Sleep(5000)
_Check("Chk10km")
If $10kmChk="<10км" Then
IniWrite("D:\eve.ini","Error",_Nowtime(5), "Сработала повторная проверка" & " Бука №" & $x)
_Action("LockTarget")
_Action("StartDrone")
Else
_Action("WarpToBelt","Бука+")
EndIf
EndIf
EndIf
If $LockChk=1 Then
If $StripChk=1 Then
_Action("StripChk","On")
$Status="Грызу метеор"
If TimerDiff($StrpTimer)>=$RndStrp Then
_Action("StripChk","On")
$Status="Выключаю стрипы"
Send ("{f1}")
Send ("{f2}")
Send ("{f3}")
Sleep(2000)
EndIf
EndIf
If $StripChk=0 Then
$StrpTimer = TimerInit()
$Status="Включаю стрипы"
Send ("{f1}")
Send ("{f2}")
Send ("{f3}")
$RndStrp=Random(30000,35000)
MouseMove(774, 183)
Sleep(2000)
EndIf
EndIf
Case Else
$Status="Неописанная ситуация!"
Sleep(100)
EndSelect
WEnd
EndFunc
Func Status()
_Check("bookmark")
ToolTip("Белт №"&$x&"\Ср.длит.цикла="&$MidCicleTime[0]&"\Конво="&$ConvoExe&"\Использование дронов="&$DroneUse&@LF&"Статус = "&$Status,0,0)
EndFunc
Func _Action($Do,$Do2="No")
Select
Case $Do="Dock"
$Status="Докаюсь"
MouseClick ("left",62, 47,1,20)
MouseMove (123, 56,20)
MouseMove (123, 157,20)
MouseMove (223, 157,20)
Sleep(300)
PixelSearch(215, 250,356, 256,0x8F8F8F,10)
If Not @error Then
MouseClick ("left",223, 220,1,20)
sleep (4000)
_Check("CheckWarp")
If $WarpChk=1 Then
$dock=1
EndIf
Else
MouseClick ("left",223, 203,1,20)
If $NearDockWarp=1 Then
Sleep(20000)
EndIf
$dock=1
EndIf
Case $Do="WarpToBelt"
If $Do2="Бука+" Then
$y=$y+16
$Status="Меняю белт"
If $DroneUse="Да" Then
_Action("Dronecontrol")
EndIf
If $y>454 Then
_exitgame()
_exit()
EndIf
EndIf
$Status="Варпаюсь на белт"
MouseClick ("left",62, 47,1,20)
MouseMove(120, 52,20)
MouseMove(120, 133,20)
MouseMove(240, 133,20)
MouseMove(240, $y,20)
MouseClick("left",340, $y,1,20)
Sleep(4000)
$DrChk=0
_Check("CheckWarp")
If $WarpChk=1 Then
$NearDockWarp=0
EndIf
Case $Do="Undock"
$Status="Андок"
MouseClick("left",17, 735)
$Dock=0
$NearDockWarp=1
Case $Do="StripChk"
Select
Case $Do2 = "On"
PixelSearch(611, 650,612, 650,0x000000)
If Not @error Then
$Status="стрип 1 не включился - активирую..."
IniWrite("D:\eve.ini","Error",_Nowtime(5), "противофаза - стрип 1 не включился" & " Бука №" & $x)
Send ("{f1}")
Sleep (500)
EndIf
PixelSearch(662, 650,663, 650,0x000000)
If Not @error Then
$Status="стрип 2 не включился - активирую..."
IniWrite("D:\eve.ini","Error",_Nowtime(5), "противофаза - стрип 2 не включился" & " Бука №" & $x)
Send ("{f2}")
Sleep (500)
EndIf
PixelSearch(713, 650,714, 650,0x000000)
If Not @error Then
$Status="стрип 3 не включился - активирую..."
IniWrite("D:\eve.ini","Error",_Nowtime(5), "противофаза - стрип 3 не включился" & " Бука №" & $x)
Send ("{f3}")
Sleep (500)
EndIf
Case $Do2 = "Off"
PixelSearch(611, 650,612, 650,0x000000)
If @error Then
$Status="стрип 1 не выключился - выключаю..."
IniWrite("D:\eve.ini","Error",_Nowtime(5), "противофаза - стрип 1 не выключился" & " Бука №" & $x)
Send ("{f1}")
Sleep (500)
EndIf
PixelSearch(662, 650,663, 650,0x000000)
If @error Then
$Status="стрип 2 не выключился - выключаю..."
IniWrite("D:\eve.ini","Error",_Nowtime(5), "противофаза - стрип 2 не выключился" & " Бука №" & $x)
Send ("{f2}")
Sleep (500)
EndIf
PixelSearch(713, 650,714, 650,0x000000)
If @error Then
$Status="стрип 3 не выключился - выключаю..."
IniWrite("D:\eve.ini","Error",_Nowtime(5), "противофаза - стрип 3 не выключился" & " Бука №" & $x)
Send ("{f3}")
EndIf
EndSelect
Case $Do="LockTarget"
$Status="Лочу цель"
MouseClick ("left",879, 76)
If $DroneUse="Нет" Then
Sleep (2500)
EndIf
Case $Do="StartDrone"
If $DroneUse="Да" Then
$Status="Запускаю дронов"
If $DrChk=0 Then
MouseClick ("right",779, 628)
sleep(200)
MouseClick ("left",806, 654)
Sleep (3000)
MouseClick ("right",779, 648)
sleep(500)
MouseClick ("left",808, 695)
sleep(100)
$DrChk=$DrChk+1
Else
MouseClick ("right",779, 648)
sleep(2500)
MouseClick ("left",808, 695)
sleep(100)
EndIf
EndIf
Case $Do="OreToHome"
If $Status="процесс..." or TimerDiff($CicleTime)<=30000 Then
Sleep(100)
Else
Sleep (3500)
EndIf
$Status="Сбрасываю лут"
MouseClick("left",150, 597,1,20)
Send ("^a")
MouseClickDrag ("left",63, 665,83, 366,20)
Sleep (2000)
_Check("FullEmptyCheck")
If $FullEmptyCheck="Нет" Then
If TimerDiff($timer)>=60000 Then
_TicksToTime(Int(TimerDiff($CicleTime)),$hour,$min,$sec)
$CicleWorked=StringFormat("%02d:%02d:%02d", $hour,$min,$sec)
IniWrite("D:\eve.ini","Mined",_NowTime(5), "сброшен лут" & " Бука №" & $x & " Время цикла: "& $CicleWorked)
$LootCount=$LootCount+1
_TicksToTime((TimerDiff($timer)/$LootCount),$MidCicleTime[1],$MidCicleTime[2],$MidCicleTime[3])
If $LootCount=0 Then
$MidCicleTime[0]="-"
Else
$MidCicleTime[0]=StringFormat("%02d:%02d:%02d", $MidCicleTime[1],$MidCicleTime[2],$MidCicleTime[3])
EndIf
$CicleTime = TimerInit()
EndIf
EndIf
Case $Do="Dronecontrol"
If TimerDiff($CicleTime)<=30000 or $DroneUse="Нет" Then
Return
Else
$Status="Забираю дронов"
Send ("!{2}")
MouseClick ("left",779, 648)
While 1
Sleep (1000)
PixelSearch(938, 666,959, 669,0x404040)
If @error Then
ExitLoop
EndIf
$Status="Ждем дрончегов!"
PixelSearch(844, 664,920, 671,0x00DC00,10)
If Not @error Then
$Status="сцуко дроны зависли,повторяю команду возврата"
Sleep(2000)
Send ("!{2}")
IniWrite("D:\eve.ini","Error",_Nowtime(5), "Дроны зависли" & " Бука №" & $x)
EndIf
WEnd
$Status="Дроны вернулись!"
MouseClick ("left",779, 648)
Sleep (100)
Endif
EndSelect
EndFunc
Func _Check($Object)
Select
Case $Object="bookmark"
$x=($y-133)/16+1
Case $Object="Chk10km"
MouseClick("left",774, 183,1,20)
Sleep(500)
PixelSearch (828, 40,830, 44,0x8F8F8F,10)
If not @error Then
$10kmChk="<10км"
Else
PixelSearch (943, 74,951, 87,0x8E8E8E,10)
If @error Then
$10kmChk=">10км"
Else
PixelSearch (836, 40,840, 44,0x8F8F8F,10)
If @error Then
$10kmChk="<10км"
EndIf
EndIf
$10kmChk=">10км"
EndIf
Case $Object="StrpChk"
PixelSearch(611, 650,612, 650,0x000000)
If Not @error Then
$StripChk=0
Else
$StripChk=1
EndIf
Case $Object="AsterChk"
PixelSearch(926, 177,1005, 267,0xB1B1B1,10)
If Not @error Then
$AsterChk=1
Else
$AsterChk=0
EndIf
Case $Object="LockCheck"
PixelSearch(621, 80,636, 80,0x404040,10)
If not @error Then
$LockChk=1
Else
$LockChk=0
EndIf
Case $Object="CargoCheck"
PixelSearch (279, 617,279, 617,0x005067,10)
If Not @error Then
$CargoChk=1
Else
$CargoChk=0
EndIf
Case $Object="CheckWarp"
PixelSearch (433, 527,433, 527,0xBFBFBF,10)
If @error Then
$WarpChk=0
Else
$WarpChk=1
$Status="Варпаюсь"
EndIf
Case $Object="CheckSpace"
PixelSearch(3, 713,29, 728,0xFFD342,10)
If Not @error Then
$SpaceChk="Док"
Else
PixelSearch(737, 122,737, 122,0xCFCFCF,10)
if not @error Then
$SpaceChk="Космос"
Else
$SpaceChk="Загрузка..."
$Status="Загрузка"
EndIf
EndIf
Case $Object="CheckProcess"
PixelSearch(377, 391, 646, 413, 0xB3B3B3, 10)
If Not @error Then
$ProcChk="процесс..."
$Status="процесс"
Else
$ProcChk="-"
EndIf
Case $Object="FullEmptyCheck"
PixelSearch (186, 618,186, 618,0x041115,10)
If Not @error Then
$FullEmptyCheck="Нет"
Else
$FullEmptyCheck="Есть"
EndIf
Case $Object="ConvoCheck"
Local $ConvoChk[4]
PixelSearch (303, 172,819, 581,0xFFA600,10)
If Not @error Then
IniWrite("D:\eve.ini","Convo",_NowCalc(), "Конво!!!сработала проверка 1")
$ConvoChk[1]=1
Else
$ConvoChk[1]=0
EndIf
PixelSearch (303, 172,819, 581,0x6284AF,10)
If Not @error Then
IniWrite("D:\eve.ini","Convo",_NowCalc(), "Конво!!!сработала проверка 2")
$ConvoChk[2]=1
Else
$ConvoChk[2]=0
EndIf
PixelSearch (303, 172,819, 581,0x0064C0,10)
If Not @error Then
IniWrite("D:\eve.ini","Convo",_NowCalc(), "Конво!!!сработала проверка 3")
$ConvoChk[3]=1
Else
$ConvoChk[3]=0
EndIf
If $ConvoChk[1]=1 Or $ConvoChk[2]=1 Or $ConvoChk[3]=1 Then
$Status="Сработала проверка конво -"&$ConvoExe&""
Send ("{PRINTSCREEN}")
If $ConvoExe="mp3" Then
ShellExecute ("D:\Autoit\proekts\1.mp3")
_pause()
Else
_exitgame()
_exit()
EndIf
EndIf
EndSelect
EndFunc
Func AllChecks()
WinActivate("EVE - "&$CharName)
Sleep(100)
_Check("CheckProcess")
If $ProcChk="процесс..." Then
Sleep(100)
Return
EndIf
_Check("CheckSpace")
If $SpaceChk="Загрузка..." Then
Sleep(100)
Return
EndIf
If $SpaceChk="Док" Then
_Check("FullEmptyCheck")
Sleep(100)
Return
EndIf
_Check("CheckWarp")
If $WarpChk=1 Then
Sleep(100)
Return
EndIf
_Check("CargoCheck")
_Check("LockCheck")
_Check("StrpChk")
_Check("AsterChk")
_Check("ConvoCheck")
EndFunc
Func _exit()
_Action("Dronecontrol")
$Status="Завершение скрипта"
Sleep(200)
_TicksToTime((TimerDiff($timer)/$LootCount),$MidCicleTime[1],$MidCicleTime[2],$MidCicleTime[3])
If $LootCount=0 Then
$MidCicleTime[0]="-"
Else
$MidCicleTime[0]=StringFormat("%02d:%02d:%02d", $MidCicleTime[1],$MidCicleTime[2],$MidCicleTime[3])
EndIf
_TicksToTime(TimerDiff($timer),$hour,$min,$sec)
$ScriptWorked=StringFormat("%02d:%02d:%02d", $hour,$min,$sec)
IniWrite("D:\eve.ini","Script",_NowCalc(), "Stop,Бука №" & $x &" -- "& "Время работы: "& $ScriptWorked & ", лут сбросил: " & $LootCount&" раз."&" \Цикл в среднем="&$MidCicleTime[0])
Exit
EndFunc
Func _exitgame()
_Action("Dronecontrol")
Send ("{esc}")
sleep (4000)
MouseClick ("left",851, 606,1,20)
IniWrite("D:\eve.ini","Game Exit",_NowCalc(),"Stop,Бука №" & $x)
Return
EndFunc
Func _pause()
$pause=$pause+1
while $pause=1
$Status="Пауза..."
WEnd
$Status="Снята пауза..."
Sleep(200)
$pause=0
EndFunc
Func DroneUse()
Select
Case $DroneUse="Да"
$DroneUse="Нет"
$Status="Дроны деактивированы"
Sleep(200)
IniWrite("D:\Eve.ini","Drone","Use","Нет")
Case $DroneUse="Нет"
$DroneUse="Да"
$Status="Дроны активированы"
IniWrite("D:\Eve.ini","Drone","Use","Да")
Sleep(200)
EndSelect
EndFunc
Func ConvoSwitch()
Select
Case $ConvoExe="mp3"
$ConvoExe="Выход"
$Status="Реакция на конво = Выход"
Sleep(300)
Case $ConvoExe="Выход"
$ConvoExe="mp3"
$Status="Реакция на конво = MP3"
Sleep(300)
EndSelect
EndFunc
Func BookmarkPlus()
$y=$y+16
$Status="+Бука"
EndFunc
Func BookmarkMinus()
$y=$y-16
$Status="-Бука"
If $y<133 Then
$y=133
$Status="Ниже некуда"
EndIf
EndFunc