Что нового

Лутаем вреки

Belfigor

Модератор
Локальный модератор
Сообщения
3 573
Репутация
933
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) пропал этот глюк и пара других, на которых грешил по другим причинам.
 
Верх