Author Topic: Как прервать цикл  (Read 3010 times)

0 Members and 1 Guest are viewing this topic.

}{0T@B(H

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Как прервать цикл
« on: August 17, 2016, 11:37:41 AM »
Есть цикл ( кликает на кнопку - потом проигрывается видео - выходит из видео - и опять все по новой)
Но игра виснет на разных моментах.
Как сделать так чтобы каждые пол часа цикл прерывался - затем кликер ( делает некоторые действия, перезапускает игру) и цикл снова начинался?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Как прервать цикл
« Reply #1 on: August 17, 2016, 12:34:11 PM »
Где код, который "есть"?


}{0T@B(H

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Как прервать цикл
« Reply #2 on: August 17, 2016, 01:09:21 PM »
Code: (clickermann) [Select]

wait(5)
getscreen
IF_PIXEL_IN (2597,300,2597,300,0)
lclick(2384,293)
wait(40)
move(3186,798)
WAITMS(500)
dblclick(3186,798)
DEFINE ($GOLD,2)
print($GOLD)
INC($GOLD,2)
else

$var=1
IF($var < 40)
lclick(2370,376)
wait(2)
dblclick(3186,798)
INC ($var,1)
else
wait(5)
lclick(2184,872)
wait(5)
IF_PIXEL_IN (2147,890,2147,890,13480209)
dblclick(3186,798)
wait(5)
lclick(2579,875)
end_if
end_if

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Как прервать цикл
« Reply #3 on: August 17, 2016, 03:04:44 PM »
Не хватает одного end_if.

Не скромный вопрос: а где здесь цикл?
Если это всё что крутится в внутрикликеровском цикле, то можно так:
Code: (clickermann) [Select]
$time = $_time_t + 1800
WHILE($time > $_time_t)
    wait(5)
    getscreen
    IF_PIXEL_IN (2597,300,2597,300,0)
        lclick(2384,293)
        wait(40)
        move(3186,798)
        WAITMS(500)
        dblclick(3186,798)
        DEFINE ($GOLD,2)
        print($GOLD)
        INC($GOLD,2)
    else
        $var=1
        IF($var < 40)
            lclick(2370,376)
            wait(2)
            dblclick(3186,798)
            WAITMS(100)
            INC ($var,1)
        else
            wait(5)
            lclick(2184,872)
            wait(5)
            IF_PIXEL_IN (2147,890,2147,890,13480209)
                dblclick(3186,798)
                wait(5)
                lclick(2579,875)
                WAITMS(100)
            end_if
        end_if
    end_if
END_IF

// пол часа отработал
// делаем что нужно


}{0T@B(H

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Как прервать цикл
« Reply #4 on: August 17, 2016, 06:47:20 PM »
Цикл? Я имел ввиду действия которые повторяются снова и снова.
Спасибо за помощь)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Как прервать цикл
« Reply #5 on: August 18, 2016, 09:14:52 AM »
IF_PIXEL_IN - это ПОИСК пиксела в области. Поиск - когда не знаем где он точно может быть.
В
Code: (clickermann) [Select]
IF_PIXEL_IN (2597,300,2597,300,0)
IF_PIXEL_IN (2147,890,2147,890,13480209)

Область в 1 пиксель. Это как толпа из одного человека.

При известных координатах проверка пиксела пишется так:
Code: (clickermann) [Select]
IF(PXL(2147,890) = 13480209)
//...
END_IF