Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Stereotipchik on September 20, 2016, 08:02:14 AM

Title: Зациклить нахождение 2 картинок и инклюд
Post by: Stereotipchik on September 20, 2016, 08:02:14 AM
Здравствуйте, помогите составить скрипт.

Он должен искать фавикон.
Если нашёл далее идёт инклюд.
Если не нашёл прокручивать мышь, опять искать. Так 5 раз
Если не нашёл фавикон после прокрутки мышью, искать другую картинку и кликать на неё.
Это всё один большой цикл

Вот на что моих знаний хватило, помогите.

Code: (clickermann) [Select]
GETSCREEN
WAITMS(500)
IF_PICTURE_IN(59,100,173,735, "fav_1.bmp")
   WAITMS(500)
   LCLICK(RND($_return1+27,$_return1+200),RND($_return2+3,$_return2+10))
   #include "1.cms"
END_IF
ELSE
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
GETSCREEN
WAITMS(500)
IF_PICTURE_IN(59,100,173,735, "fav_1.bmp")
   WAITMS(500)
   LCLICK(RND($_return1+27,$_return1+200),RND($_return2+3,$_return2+10))
   #include "1.cms"
END_IF
ELSE
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
GETSCREEN
WAITMS(500)
IF_PICTURE_IN(59,100,173,735, "fav_1.bmp")
   WAITMS(500)
   LCLICK(RND($_return1+27,$_return1+200),RND($_return2+3,$_return2+10))
   #include "1.cms"
END_IF
ELSE
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
GETSCREEN
WAITMS(500)
IF_PICTURE_IN(59,100,173,735, "fav_1.bmp")
   WAITMS(500)
   LCLICK(RND($_return1+27,$_return1+200),RND($_return2+3,$_return2+10))
   #include "1.cms"
END_IF
ELSE
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
GETSCREEN
WAITMS(500)
IF_PICTURE_IN(59,100,173,735, "fav_1.bmp")
   WAITMS(500)
   LCLICK(RND($_return1+27,$_return1+200),RND($_return2+3,$_return2+10))
   #include "1.cms"
END_IF
ELSE
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
WAITMS(300)
WHEELDOWN
GETSCREEN
WAITMS(500)
IF_PICTURE_IN(59,100,173,735, "fav_1.bmp")
   WAITMS(500)
   LCLICK(RND($_return1+27,$_return1+200),RND($_return2+3,$_return2+10))
   #include "1.cms"
END_IF
ELSE
GETSCREEN
WAITMS(500)
IF_PICTURE_IN(125,215,680,300, "2.bmp")
   WAITMS(500)
   LCLICK(RND($_return1+27,$_return1+200),RND($_return2+3,$_return2+10))
   WAIT(7)
END_IF
Title: Re: Зациклить нахождение 2 картинок и инклюд
Post by: Vint on September 20, 2016, 09:08:32 AM
Зачем ты ломаешь конструкции? Почему ELSE вытащен из блока IF? Это часть условия. ELSE не может висеть в воздухе.
Title: Re: Зациклить нахождение 2 картинок и инклюд
Post by: Stereotipchik on September 20, 2016, 09:10:09 AM
Зачем ты ломаешь конструкции? Почему ELSE вытащен из блока IF? Это часть условия. ELSE не может висеть в воздухе.
Подскажите как тогда надо сделать, как должен выглядеть код, если там много раз идёт Getscreen с IF_PICTURE_IN
Title: Re: Зациклить нахождение 2 картинок и инклюд
Post by: Vint on September 20, 2016, 09:20:43 AM
Code: (clickermann) [Select]
FOR($i=0, $i < 5)
    GETSCREEN
    IF_PICTURE_IN(59,100,173,735, "fav_1.bmp")
        $i = 10
        LCLICK($_return1 + RND(27,200), $_return2 + RND(3,10))
        WAITMS(500)
        #include "1.cms"
    ELSE
        WHEELDOWN(4)
        WAITMS(700)
    END_IF
END_CYC

IF($i ! 10)
    GETSCREEN
    IF_PICTURE_IN(125,215,680,300, "2.bmp")
        LCLICK(RND($_return1+27,$_return1+200),RND($_return2+3,$_return2+10))
        WAIT(7)
    END_IF
END_IF

Не нужно ставить задержку после команды GETSCREEN и сразу после IF...
Задержки ставь в тех местах где предполагается обновление экрана. В основном это после твоих действий: кликов, нажатий, прокруток.
Title: Re: Зациклить нахождение 2 картинок и инклюд
Post by: Vint on September 20, 2016, 09:23:52 AM
Только вот так #include  тоже плохо вставлять. Лучше не привыкать. Не все конструкции в нём смогут работать.
Лучше, чтобы #include были только в корне скрипта, без всяких вложенностей.
Самый нормальный вариант, это код в include оформлен в подпрограмму и подключается в начале скрипта. Потом в скрипте вызывается в нужных местах.
Title: Re: Зациклить нахождение 2 картинок и инклюд
Post by: Stereotipchik on September 20, 2016, 09:35:17 AM
Code: (clickermann) [Select]
FOR($i=0, $i < 5)
    GETSCREEN
    IF_PICTURE_IN(59,100,173,735, "fav_1.bmp")
        $i = 10
        LCLICK($_return1 + RND(27,200), $_return2 + RND(3,10))
        WAITMS(500)
        #include "1.cms"
    ELSE
        WHEELDOWN(4)
        WAITMS(700)
    END_IF
END_CYC

IF($i ! 10)
    GETSCREEN
    IF_PICTURE_IN(125,215,680,300, "2.bmp")
        LCLICK(RND($_return1+27,$_return1+200),RND($_return2+3,$_return2+10))
        WAIT(7)
    END_IF
END_IF

Не нужно ставить задержку после команды GETSCREEN и сразу после IF...
Задержки ставь в тех местах где предполагается обновление экрана. В основном это после твоих действий: кликов, нажатий, прокруток.
Спасибо, всё заработало.