rekusha
Новичок
- Сообщения
- 8
- Репутация
- 4
было желание несколько автоматизировать процесс копания
прочитал у вас по автоиту
отдельное спасибо автору статьи про бота за 90 часов. выкладываю свое "творение" для направления моих страданий в нужное русло.
также вопрос о том насколько практично процедуры на каждое действие разносить по отельным файлам чтоб потом инклудить их в нужных местах с нужными параметрами?
прочитал у вас по автоиту
отдельное спасибо автору статьи про бота за 90 часов. выкладываю свое "творение" для направления моих страданий в нужное русло.
также вопрос о том насколько практично процедуры на каждое действие разносить по отельным файлам чтоб потом инклудить их в нужных местах с нужными параметрами?
Код:
#cs ----------------------------------------------------------------------------
miner
AutoIt Version: 3.3.6.1
Author: rekusha
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
;#include <Misc.au3>
;Global $dll = DllOpen("user32.dll")
Opt("PixelCoordMode", 0) ;Отсчет координат пикселей от левого верхнего угла клиентской части окна
Opt("MouseCoordMode", 0) ;Отсчет координат мыши от левого верхнего угла клиентской части окна
Global $Paused
Global $UdocKpositionX = 22
Global $UdocKpositionY = 742
Global $MenUpositionX = 66
Global $MenUpositionY = 69
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
HotKeySet("+!d", "ShowMessage")
WinActivate("EVE")
While 1
undock()
StopShip()
Belt_Warp()
mine()
Doc()
uncargo()
WEnd
Func uncargo()
MouseClick("left",435,463,1,10)
Sleep(500)
Send("^a")
Sleep(500)
MouseClickDrag("left",435,463,446,670,10)
Sleep(10000)
EndFunc
Func mine()
WinActivate("EVE")
sleep(500)
droneLaunch()
sleep(500)
while cargo()<2
WinActivate("EVE")
If dist_chek()=0 Then
asteroid_aproch()
sleep(500)
Else
lock_asteroid()
EndIf
sleep(500)
hiSlot_1()
sleep(500)
hiSlot_2()
WEnd
Sleep(500)
DroneScoop()
Sleep(5000)
EndFunc
Func cargo()
WinActivate("EVE")
PixelSearch(629, 405, 630, 405, 0x005067, 10)
If @error Then
ToolTip("трюм не заполнен",100,0)
return 0
Else
ToolTip("трюм полон",100,30)
return 2
EndIf
EndFunc
Func hiSlot_2()
PixelSearch(660, 670, 670, 674, 0x8E958B, 50)
If @error Then
Send("{F2}")
ToolTip("хайслот 2 не активен - включаю",0,0)
return 0
Else
ToolTip("хайслот 2 активен",0,30)
return 1
EndIf
EndFunc
Func hiSlot_1()
PixelSearch(610, 670, 620, 674, 0x989C95, 50)
If @error Then
Send("{F1}")
ToolTip("хайслот 1 не активен - включаю",0,0)
return 0
Else
ToolTip("хайслот 1 активен",0,15)
return 1
EndIf
EndFunc
Func lock_asteroid()
If target_1()=0 Then
Do
MouseClick("left", 821, 181, 1, 2)
sleep(500)
MouseClick("left", 889, 95, 1, 2)
sleep(5000)
Until target_1()=1
Else
EndIf
EndFunc
Func target_1()
PixelSearch(670, 42, 680, 47, 0xC0C0C0, 50)
If @error Then
ToolTip("нет цели",0,0)
Sleep(500)
return 0
Else
ToolTip("цель захвачена",0,0)
Sleep(500)
return 1
EndIf
EndFunc
Func asteroid_aproch()
Sleep(200)
if checkasteroid()=0 then
Sleep(200)
Do
Sleep(200)
if dist_chek()=0 then
Sleep(500)
MouseClick("left", 821, 181, 2, 2)
Sleep (500)
EndIf
Sleep(200)
until dist_chek()<>0
StopShip()
Sleep(10000)
else
ToolTip("нечего копать",0,0)
EndIf
EndFunc
Func dist_chek()
PixelSearch(816, 176, 831, 185, 0xB8B8B8, 5)
If @error Then
PixelSearch(853, 178, 856, 186, 0xB8B8B8, 5)
If @error Then
Return 0 ; дальше 10km
EndIf
Return 1 ; ближе 99м
Else
Return 2 ;ближе 10 км но дальше 99м
EndIf
EndFunc
Func checkasteroid()
Overwiev_asteroid()
Sleep(200)
MouseClick("left", 821, 181, 1, 2)
Sleep(200)
PixelSearch(820, 180, 822, 182, 0x000000, 5)
If @error Then
Return 0
ToolTip("астероид найден",200,0)
Sleep(10000)
Else
Return 1
ToolTip("астероидов нет",200,0)
Sleep(10000)
EndIf
EndFunc
Func Overwiev_belt()
MouseClick("left", 935, 142, 1, 2)
Sleep(500)
EndFunc
Func Overwiev_npc()
MouseClick("left", 900, 142, 1, 2)
Sleep(500)
EndFunc
Func Overwiev_asteroid()
MouseClick("left", 855, 142, 1, 2)
Sleep(500)
EndFunc
Func Overwiev_default()
MouseClick("left", 803, 142, 1, 2)
Sleep(500)
EndFunc
Func DroneScoop()
MouseClick("right", 530, 167, 1, 10)
Sleep(500)
MouseClick("left", 570, 235, 1, 10)
EndFunc
Func DroneLaunch()
MouseClick("right", 530, 147, 1, 10)
Sleep(500)
MouseClick("left", 576, 163, 1, 10)
EndFunc
Func WarpCheck()
PixelSearch(519, 560, 519, 560, 0xBEBEBE, 5)
If @error Then
Return 0
ToolTip("Варп окончен",0,0)
;Sleep(100)
Else
Return 1
ToolTip("В варпе",0,0)
;Sleep(100)
EndIf
EndFunc
Func Belt_Warp()
Send("{F10}")
Sleep(5000)
MouseClick("left", 429, 157, 1, 10)
Menu_Asteroid_Belts()
MouseClick("left", 355, 73, 1, 10)
Sleep(5000)
Do
ToolTip("В варпе",0,0)
Sleep(5000)
Until WarpCheck()=0
Sleep(5000)
EndFunc
Func StopShip()
Send("^{SPACE}")
Sleep(2000)
EndFunc
Func Undock()
WinActivate("EVE")
Do
If cargo()=2 Then
uncargo()
Sleep(500)
EndIf
MouseClick("left", $UdocKpositionX, $UdocKpositionY, 1, 0)
Until StateCheck()=1
Sleep(10000)
EndFunc
Func Doc()
WinActivate("EVE") ;Активировать окно евы
Menu_Station()
Sleep(500)
MouseMove(463, 122,10)
Sleep(500)
MouseClick("left", 463, 168, 1, 10)
Do
ToolTip("Направляюсь на станцию",0,0)
Sleep (10000)
; If WarpCheck()<>1 Then
; Doc()
; EndIf
Until StateCheck()=2
Sleep(500)
Send("{F10}")
Sleep(5000)
EndFunc
Func Menu()
WinActivate("EVE") ;Активировать окно евы
MouseClick("left", $MenUpositionX, $MenUpositionY, 1, 5)
EndFunc
Func Menu_Asteroid_Belts()
WinActivate("EVE") ;Активировать окно евы
Menu()
MouseClick("left", $MenUpositionX+98, 73, 1, 2)
EndFunc
Func Menu_planets()
WinActivate("EVE") ;Активировать окно евы
Menu()
MouseClick("left", $MenUpositionX+98, 88, 1, 2)
EndFunc
Func Menu_Stargates()
WinActivate("EVE") ;Активировать окно евы
Menu()
MouseClick("left", $MenUpositionX+98, 103, 1, 2)
EndFunc
Func Menu_Station()
WinActivate("EVE") ;Активировать окно евы
Menu()
MouseClick("left", $MenUpositionX+98, 118, 1, 10)
EndFunc
Func StateCheck()
PixelSearch(22, 742, 22, 742, 0xFFD842, 2)
If @error Then
PixelSearch(5, 760, 35, 785, 0x8A8A8A, 2)
If @error Then
ToolTip("в переходе",0,0)
Sleep(1000)
Return 0
Else
Return 1
ToolTip("В космосе",0,0)
Sleep(1000)
EndIf
Else
Return 2
ToolTip("В доке",0,0)
Sleep(1000)
EndIf
EndFunc
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc
Func Terminate()
Exit 0
EndFunc
Func ShowMessage()
MsgBox(4096,"","This is a message.")
EndFunc