- Сообщения
- 3,608
- Репутация
- 941
by hikki
Код:
Func loot()
Sleep(5000); дожидаемся лока вреков
While 1
$at=PixelGetColor($target1X,$target1Y); проверка пиксела цели, если его нет то выход из цикла
If $at=0 Then ExitLoop
$at6=PixelGetColor(978,855); проверям работает ли трактор
If $at6=0 Then ;
tractor() ; если не вклюен трактор то включаем
loot1(); лутаем
EndIf
WEnd
EndFunc
Func tractor()
Send ("{F5}")
Sleep(3000); иногда случается лаг и срабатывает типа врек можно открыть, изза этого вреки убиваются)) поэтому пауза
MouseClick( "left" ,$target1X,$target1Y ,1,30 ) ; выделил врек
$T_kill_wreck=0
Do;
$at=PixelGetColor($target1X,$target1Y); проверка пиксела цели, если его нет то выход из цикла
If $at=0 Then ExitLoop
$open_wreck=PixelGetColor($openX,$openY); проверка пиксела отрытия конта
Sleep(1000)
$T_kill_wreck=$T_kill_wreck+1
If $T_kill_wreck=40 Then; за 40 секунд врек либо полутан либо он за пределами трактора
Send ("{F1}")
$T_kill_wreck=0
ExitLoop
EndIf
Until $open_wreck=10066329
EndFunc
Func loot1()
$open_wreck=PixelGetColor($openX,$openY)
If $open_wreck=10066329 Then; доп проверка для предотвращения ложного лута от ф1
MouseClick( "left" ,$openX,$openY,1,30 ); открыл врек
Sleep(2500)
Send("^a"); выделяем все
Sleep(1500)
MouseClickDrag("left", $wreckX, $wreckY, $cargoX, $cargoY); тащим в трюм
Sleep(2000)
Send ("{ENTER}")
Sleep(1000)
Send ("{ENTER}")
Send("{F1}")
EndIf
EndFunc
hikki сказал(а):это кусок отвечающий за лутанье вреков. разделен на 3 функции просто потомучто так мне понятнее что за что отвечает
сразу замечу, в тех местах где используется SLEEP длинной более 1 секунды у меня вызов функции приостановки скрипта на заданное время и проверки локала, убрал чтоб не раздувать код.
вопрос, иногда не срабатывает Send("^a"), тоесть содержимое врека не выбирается, никаких зависимостей не нашел, за час раз или два бывает, почему не понятно, может кто подскажет
hikki сказал(а):нашел изза чего иногда не срабатывает ктрл+А, мало кнопки остаются удержаны, те значение SendKeyDownDelay по умолчанию мало, выставил параметр в начало кода
Opt("SendKeyDownDelay", 100) пропал этот глюк и пара других, на которых грешил по другим причинам.