Author Topic: Зациклить нахождение 2 картинок и инклюд  (Read 1749 times)

0 Members and 3 Guests are viewing this topic.

Stereotipchik

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
    • Шевроны, нашивки, вышивка на форму военных
Здравствуйте, помогите составить скрипт.

Он должен искать фавикон.
Если нашёл далее идёт инклюд.
Если не нашёл прокручивать мышь, опять искать. Так 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

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Зациклить нахождение 2 картинок и инклюд
« Reply #1 on: September 20, 2016, 09:08:32 AM »
Зачем ты ломаешь конструкции? Почему ELSE вытащен из блока IF? Это часть условия. ELSE не может висеть в воздухе.


Stereotipchik

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
    • Шевроны, нашивки, вышивка на форму военных
Re: Зациклить нахождение 2 картинок и инклюд
« Reply #2 on: September 20, 2016, 09:10:09 AM »
Зачем ты ломаешь конструкции? Почему ELSE вытащен из блока IF? Это часть условия. ELSE не может висеть в воздухе.
Подскажите как тогда надо сделать, как должен выглядеть код, если там много раз идёт Getscreen с IF_PICTURE_IN
« Last Edit: September 20, 2016, 09:13:28 AM by Stereotipchik »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Зациклить нахождение 2 картинок и инклюд
« Reply #3 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...
Задержки ставь в тех местах где предполагается обновление экрана. В основном это после твоих действий: кликов, нажатий, прокруток.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Зациклить нахождение 2 картинок и инклюд
« Reply #4 on: September 20, 2016, 09:23:52 AM »
Только вот так #include  тоже плохо вставлять. Лучше не привыкать. Не все конструкции в нём смогут работать.
Лучше, чтобы #include были только в корне скрипта, без всяких вложенностей.
Самый нормальный вариант, это код в include оформлен в подпрограмму и подключается в начале скрипта. Потом в скрипте вызывается в нужных местах.


Stereotipchik

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
    • Шевроны, нашивки, вышивка на форму военных
Re: Зациклить нахождение 2 картинок и инклюд
« Reply #5 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...
Задержки ставь в тех местах где предполагается обновление экрана. В основном это после твоих действий: кликов, нажатий, прокруток.
Спасибо, всё заработало.