1
Использование / Clickermann в игре Eve Online
« on: October 16, 2017, 06:09:36 PM »
Вот мои текущие наброски для скрипта автоматического майнинга.
Рабочее окно в Еве
[spoiler]
[/spoiler]
красным обведены места, где скрипт проверяет цвета
Если убрать основной массив кликов и нажатий клавиш, заменив их описанием, оставив только иерархию и условия
Сейчас он почему-то застрял на выходе из варпа - даже когда контрольный пиксель стал белым, он ничего не делает.
Нужно ли контроль времени выносить в отдельный поток?
Выпрыгнет ли гото из указанных мест? или как можно переписать чтобы не было гото?
Что ещё нужно/можно изменить?
Рабочее окно в Еве
[spoiler]
[/spoiler]
красным обведены места, где скрипт проверяет цвета
Если убрать основной массив кликов и нажатий клавиш, заменив их описанием, оставив только иерархию и условия
Code: [Select]
PRINT ("Start scenario")
thread(miner,1)
setthread(gohome,2)
//// Вход в варп режим - прыжок к поясу астероида
WAIT(10)
LOGWRITE(" вход в варп ")
$check1=0 // Если пиксель белый (1) - варп закончен, выходим из цикла
WHILE($check1=0)
getscreen
if(pxl(835,78)=16777215)
$check1=1
WAITMS(500)
else
waitms(500)
end_if
end_cyc
LOGWRITE(" выход с варпа ")
point:
////Подлетаем к Астероиду
LOGWRITE(" Летим к астеру ")
$check2=0 // Если пиксель белый (2) - корабль возле астероида, выходим из цикла
WHILE($check2=0)
getscreen
if(pxl(883,78)=16777215)
$check2=1
WAITMS(500)
else
waitms(500)
end_if
end_cyc
LOGWRITE(" прилетел ")
//==== Mining - Анализ прицела
// мы должны быть возле астероида и центральный пиксель прицела - белый
setthread(gohome,1)//activate gohome - контроль пикселей 4,5 - ранили или отсек для руды заполнен, то сваливаем
getscreen
If (pxl(883,78)=16777215) // Если прицел белый
// захватываем цель, активируем орудия копания - после захвата прицела центральный пиксель стал красным
Wait(61) // 1 цикл копания 60 сек
$check3=0 // пока пиксель остается красным - идёт процес копания, просто ждём
WHILE($check3=0)
getscreen
if(pxl(883,78)!1184511)
$check3=1
WAIT(10)
else // если прицел не красный - значит астероид выкопан, переходим к метке - захват новой цели.
waitms(500)
goto(point) // перезахват цели
end_if
end_cyc
else // если прицел не белый
waitms(500)
goto(point) // перезахват цели
end_if
end_thread
thread(gohome,0) // Станет активным, когда корабль выйдет из варпа в поясе астероидов
waitms(100)
$check5=0
while($check5=0)
getscreen
If((pxl(698,618)!13619151)|(Pxl(290,640)=6507777)) // Ранен или заполнен - Пиксель индикатора брои НЕ белый ИЛИ пиксель в отсеке руды СИНИЙ
$check5=1
waitms(500)
setthread(miner,2) // ОТКЛЮЧАЕМ ПОТОК МАЙНЕР
//// Варп + вход в док
Wait(10)
$check4=0 //Если буква [i] не белая - значит входим в док
WHILE($check4=0)
getscreen
if(pxl(983,78)!16777215)
$check4=1
WAITMS(500)
else
waitms(500)
end_if
end_cyc
LOGWRITE("Вход в док")
wait(15)
//// выгружаем руду, выходим с дока
wait(15) // Исходное состояние
setthread(miner,1)
else
wait(5)
end_if
end_cyc
end_thread
waitms(100)
//===Restart
$time=0 // Ева перегружает сервера в 14-00 по моему времени
while($time=0)
if($_time_h=13)&if($_time_m=55) // если 13:55
$time=1
setthread(miner,2)
setthread(gohome,2)
WAIT(2100) //35m перезагрузка серверов
// закрываем окно с игрой, окрываем лаунчер, запускаем игру, ждем
// делаем порядок в игровом окне
else
wait(10)
end_if
end_cyc
Полный текст - в прикреплённом файле. Сейчас он почему-то застрял на выходе из варпа - даже когда контрольный пиксель стал белым, он ничего не делает.
Нужно ли контроль времени выносить в отдельный поток?
Выпрыгнет ли гото из указанных мест? или как можно переписать чтобы не было гото?
Что ещё нужно/можно изменить?