;~ #include "E:\Games\AutoIt scripts\!Eve\0.0 Hunter\All Include\OpFunc Include\SelectedItem v1.6.au3"
Opt("PixelCoordMode", 0)
Opt("MouseCoordMode", 0)
Opt("MustDeclareVars", 1)
Dim $MyBotStatus, $WhoToKill
Func Kill($Case)
Select
Case $Case = "All"
SetKillStatus(1)
SaveResult($CurBelt, 0)
While 1
KillPreload()
Select
Case GetKillStatus() = 1 ; Начинаем поиск и отстрел неписи
ToolTip("Ищу непись в белте. Белт №:"&$CurBelt,0,0)
SetKillStatus(NPCTest()) ;Нацеливание на непись. Если в белте нет неписи возвращает 22, если непись есть то таргетит ее и возвращает 21.
Case GetKillStatus() = 11 ;Если в белте обнаружена непись
ToolTip("Беру непись на таргет. Белт №:"&$CurBelt,0,0)
SetKillStatus(TargetAll()) ;Взять ее на таргет
Case GetKillStatus() = 21 ;Если непись найдена и таргетится
ToolTip("Проверяю есть ли иконка цели. Белт №:"&$CurBelt,0,0)
SetKillStatus(CheckIcon()) ;Проверка наличия иконки затаргеченной цели. Если иконка есть возвращает 31, если нету 32
Case GetKillStatus() = 31 ;Увидили иконку неписи
ToolTip("Дожидаюсь готовности к стрельбе. Белт №:"&$CurBelt,0,0)
SetKillStatus(PrepareToShot()) ;Проверяем готовностьк стрельбе, если готов то 41, если нет то 42
Case GetKillStatus() = 41 ;Если к стрельбе готов
ToolTip("Запускаю оружие. Белт №:"&$CurBelt,0,0)
SetKillStatus(UseWeapon()) ;Начать стрелять. Наживает ф1 и ф2 и возвращает 51
Case GetKillStatus() = 51 ;Если стрелять начал
ToolTip("Дожидаюсь смерти неписи. Белт №:"&$CurBelt,0,0)
SetKillStatus(WaitKillEnd()) ;Дожидаемся смерти неписи. Возвращает 61 если цель жива, если мертва 61
Case GetKillStatus() = 61 ;Если цель жива, продолжаем проверять ее до тех пор пока она не умрет
ToolTip("Дожидаюсь смерти неписи. Белт №:"&$CurBelt,0,0)
SetKillStatus(WaitKillEnd())
Case GetKillStatus() = 62 ;Если цели нету
ToolTip("Проверяю есть ли иконка цели. Белт №:"&$CurBelt,0,0)
SetKillStatus(CheckIcon()) ;Проверяем наличие иконки цели
Case GetKillStatus() = 32 ;Если иконки не обнаружено
ToolTip("Иконки не обнаружено. Белт №:"&$CurBelt,0,0)
SetKillStatus(NPCTest()) ;Проверяем есть ли в белте непись.
Case GetKillStatus() = 42 ;Если не готов к стрельбе
ToolTip("Дожидаюсь готовности к стрельбе. Белт №:"&$CurBelt,0,0)
SetKillStatus(PrepareToShot()) ;То готовимсё
Case GetKillStatus() = 12 ;Непись в белте не обнаружена
ToolTip("В белте нету неписи. Белт №:"&$CurBelt,0,0)
Sleep(8000)
Send("^r")
Return 0
Case Else
MsgBox(0,"",GetKillStatus()&"-е условие не описано в распределительном цикле")
Exit
EndSelect
WEnd
Case $Case = "BS"
;~ WinActivate("EVE")
SetKillStatus("CheckResp")
While 1
KillPreload()
;~ MsgBox(0,"","Статус: "&GetKillStatus())
;~ WinActivate("EVE")
;~ WinWaitActive("EVE")
Select
Case GetKillStatus() = "CheckResp"
SetKillStatus(CheckBSResp())
Case GetKillStatus() = 1 ; Начинаем поиск и отстрел неписи
ToolTip("Ищу непись в белте. Белт №:"&$CurBelt,0,0)
SetKillStatus(BSTest()) ;Нацеливание на непись. Если в белте нет неписи возвращает 22, если непись есть то таргетит ее и возвращает 21.
Case GetKillStatus() = 11 ;Если в белте обнаружена непись
ToolTip("Беру непись на таргет. Белт №:"&$CurBelt,0,0)
SetKillStatus(TargetBS()) ;Взять ее на таргет
Case GetKillStatus() = 21 ;Если непись найдена и таргетится
ToolTip("Проверяю есть ли иконка цели. Белт №:"&$CurBelt,0,0)
SetKillStatus(CheckIcon()) ;Проверка наличия иконки затаргеченной цели. Если иконка есть возвращает 31, если нету 32
Case GetKillStatus() = 31 ;Увидили иконку неписи
ToolTip("Дожидаюсь готовности к стрельбе. Белт №:"&$CurBelt,0,0)
SetKillStatus(PrepareToShot()) ;Проверяем готовностьк стрельбе, если готов то 41, если нет то 42
Case GetKillStatus() = 41 ;Если к стрельбе готов
ToolTip("Запускаю оружие. Белт №:"&$CurBelt,0,0)
SetKillStatus(UseWeapon()) ;Начать стрелять. Наживает ф1 и ф2 и возвращает 51
Case GetKillStatus() = 51 ;Если стрелять начал
ToolTip("Дожидаюсь смерти неписи. Белт №:"&$CurBelt,0,0)
SetKillStatus(WaitKillEnd()) ;Дожидаемся смерти неписи. Возвращает 61 если цель жива, если мертва 61
Case GetKillStatus() = 61 ;Если цель жива, продолжаем проверять ее до тех пор пока она не умрет
ToolTip("Дожидаюсь смерти неписи. Белт №:"&$CurBelt,0,0)
SetKillStatus(WaitKillEnd())
Case GetKillStatus() = 62 ;Если цели нету
ToolTip("Проверяю есть ли иконка цели. Белт №:"&$CurBelt,0,0)
SetKillStatus(CheckIcon()) ;Проверяем наличие иконки цели
Case GetKillStatus() = 32 ;Если иконки не обнаружено
ToolTip("Иконки не обнаружено. Белт №:"&$CurBelt,0,0)
SetKillStatus(BSTest()) ;Проверяем есть ли в белте непись.
Case GetKillStatus() = 42 ;Если не готов к стрельбе
ToolTip("Дожидаюсь готовности к стрельбе. Белт №:"&$CurBelt,0,0)
SetKillStatus(PrepareToShot()) ;То готовимсё
Case GetKillStatus() = 12 ;Непись в белте не обнаружена
ToolTip("В белте нету кул БШ. Белт №:"&$CurBelt,0,0)
While 1
Local $ReloadOffset = CheckModule()
If $ReloadOffset[1][1] = 1 Then
ToolTip("Жду когда лаунчер выключится. Белт №:"&$CurBelt,0,0)
Sleep(500)
Else
ExitLoop
EndIf
WEnd
;~ SaveResult($CurBelt, 1)
Send("^r")
Return 0
;~ Case GetKillStatus() =
;~ SetKillStatus(TargetBS())
Case Else
MsgBox(0,"",GetKillStatus()&"-е условие не описано в распределительном цикле")
Exit
EndSelect
WEnd
EndSelect
EndFunc
Func SetKillStatus($status)
$MyBotStatus = $status
EndFunc
Func GetKillStatus()
Return ($MyBotStatus)
EndFunc
Func KillPreload()
If _WinGetLocalStatus() = 1 Then
Warp("POS")
Sleep(1000)
ToolTip("Палево",0,0)
While 1
Sleep(5000)
$sTestMsg = _WarpTest()
If $sTestMsg = 00 Or $sTestMsg = 01 Then ExitLoop
WEnd
While _WinGetLocalStatus() = 1
Sleep(10000)
WEnd
Warp("BACK")
While 1
Sleep(5000)
$sTestMsg = _WarpTest()
If $sTestMsg = 00 Or $sTestMsg = 01 Then ExitLoop
WEnd
EndIf
;~ Local $Scrum = WebScrumbleTest()
;~ If Not @error Then
;~ MouseClick("left", $Scrum[0], $Scrum[1], 1, 10)
;~ Kill("ALL")
;~ Else
;~ ;
;~ EndIf
EndFunc
Func NPCTest()
PixelSearch(772, 189, 772, 189+150, 0xC61410, 5)
If @error Then Return 12 ;Неись не найдена
Return 11
EndFunc
Func BSTest()
$BSTest = _GetOverviewStatus()
;~ MsgBox(0,"","БШ в овервью: "&$BSTest[1])
If $BSTest[1] = 0 Then Return 12
Return 11
EndFunc
Func TargetAll()
$CellX1 = $Ov[0] - 4 ;Расчет ;Для построчного скана
$CellY1 = $Ov[1] + 52 ;координат области
$CellX2 = $CellX1 + 22 ;сканирования
$CellY2 = $CellY1 + 17 ;ячейки овервью.
For $i = 1 To 6 Step 1
Local $TargetAll = PixelSearch($CellX1 , $CellY1 , $CellX2, $CellY2, 0xC61410, 20) ;Проверяем есть ли в текущей ячейке непись
If Not @error Then
MouseClick("left", $TargetAll[0], $TargetAll[1], 1, 10)
Sleep(1000)
Local $TestTarget = SIGetButtons()
If $TestTarget[5] = 1 And SIOp("Target", "Get Target Button Status") = 0 Then
Send("{CTRLDOWN}")
Sleep(Random(50, 100, 1))
MouseClick("left", Random($TargetAll[0], $TargetAll[0]+5, 1), Random($TargetAll[1], $TargetAll[1]+5, 1), 1, 10)
Send("{CTRLUP}")
ElseIf $TestTarget[3] = 0 And $TestTarget[4] = 0 And $TestTarget[5] = 0 And $TestTarget[6] = 0 Then
;~ MsgBox(0,"","")
Warp("Belt", "Next")
While 1
ToolTip("В активном поиске. Белт №:"&$CurBelt,0,0)
Sleep(5000)
$sTestMsg = _WarpTest()
If $sTestMsg = 00 Or $sTestMsg = 01 Then ExitLoop
WEnd
EndIf
Else
ExitLoop ;Если в ячейке не обнаружена непись то выйти из цикла
EndIf
$CellY1 = $CellY1 + 19
$CellY2 = $CellY2 + 19
If CheckIcon() = 31 Then ExitLoop
Next
Return 21 ;Закончил нацеливаться на непись
EndFunc
Func TargetBS()
;а вот ето пишем сами :D
EndFunc
Func CheckBSResp()
;И ето тоже :3
EndFunc
Func CheckIcon() ;Проверка наличия иконки затаргеченной цели
Local $Target = PixelSearch($1[1][0][1]+32, $1[1][0][2]+32, $1[1][0][1]+32, $1[1][0][2]+32, 0x000000) ;Ищим первую иконку таргета
If @error Then
Return 31
Else
Return 32 ;не нашли иконку
EndIf
EndFunc
Func WaitKillEnd() ;Дожидаемся пока сдохнет цель
Sleep(1000)
If SIOp("Target", "Get Target Button Status") = 1 Then ;Пока видим что горит кнопка цели
CheckModulesOnTarget() ;Проверяем оба ли модуля активны на цели
If @error Then ;Если нет
If CheckReload() = 0 Then ;Мы не нашли черный фон на фоне числа отражающего количество оставшихся патронов
Return 61
Else
Send("{F1}") ;Запускаем лаунчеры
EndIf
EndIf
Return 61;Цель жива
Else
Return 62;Цели нету
EndIf
EndFunc
Func PrepareToShot() ;Проверяем готовность к стрельбе
Local $TestModule = CheckModule()
If $TestModule[1][1] = 0 And $TestModule[1][2] = 0 Then
Sleep(1000)
$TestModule = CheckModule()
If $TestModule[1][1] = 0 And $TestModule[1][2] = 0 Then
Return 41 ;К стрельбе готов
EndIf
EndIf
Return 42 ;К стрельбе не готов
EndFunc
Func UseWeapon() ;Запускаем оружие
MouseClick("left", Random($1[1][0][1]+22, $1[1][0][1]+42, 1), Random($1[1][0][2]+22, $1[1][0][2]+42, 1), 1, 10)
Send("{F1}{F2}")
Return 51 ;Оружие запущено
EndFunc