Author Topic: Помогите подредактировать скрипт с условием поиска картинок  (Read 1353 times)

0 Members and 1 Guest are viewing this topic.

Natusik

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Имеется скрипт,  как в него добавить условие- поиск "картинка5", и как только он нашел картинка5, то искал картинку "домой". Наверно поток надо добавить, как? "картинка5" может появиться в любой момент.

Code: (clickermann) [Select]
LOGWRITE ("Ищем!")
WAIT(15)

первая А:
FOR($a=0,$a<3)
   WAIT(1)
   GETSCREEN
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "картинка1.bmp", 65280) //с
      LOGWRITE ("нашли картинка1")
      LCLICK($_return1, $_return2)
      WAIT(RND(3, 4)
   ELSE
      LOGWRITE ("не нашли картинка1")
      WAIT(2)
      GOTO(домой)
   END_IF
   WAITMS(100)
   MOVE(1000,300)
   LCLICK(1000,300)
   WAITMS(100)
END_CYC

вторая:
WAIT(1)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "картинка2.bmp", 65280) //м
   LOGWRITE ("нашли картинка2")
   LCLICK($_return1, $_return2)
   WAITVS(RND(50, 100)
ELSE
   LOGWRITE ("не нашли картинка2")
END_IF
WAITMS(100)
MOVE(1000,300)
LCLICK(1000,300)
WAITMS(100)

первая Б:
FOR($a=0,$a<2)
    WAIT(1)
   GETSCREEN
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "картинка1.bmp", 65280) //с
      LOGWRITE ("нашли картинка1")
      LCLICK($_return1, $_return2)
      WAIT(RND(3, 4)
   ELSE
      LOGWRITE ("не нашли картинка1")
      GOTO(домой)
   END_IF
   WAITMS(100)
   MOVE(1000,300)
   LCLICK(1000,300)
   WAITMS(100)
END_CYC

третья:
WAIT(1)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "картинка3.bmp", 65280) //ц
   LOGWRITE ("нашли картинка3")
   LCLICK($_return1, $_return2)
   WAIT(RND(2, 3)
ELSE
   LOGWRITE ("не нашли картинка3")
   END_IF
WAITMS(100)
MOVE(1000,300)
LCLICK(1000,300)
WAITMS(100)

четвертая:
WAIT(1)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "картинка4.bmp", 65280) //р
   LOGWRITE ("нашли картинка4")
   LCLICK($_return1, $_return2)
   WAIT(RND(3, 4)
   GOTO(первая А)
ELSE
   LOGWRITE ("не нашли картинка4")
END_IF
WAITMS(100)
MOVE(1000,300)
LCLICK(1000,300)
WAITMS(100)

домой:
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "домой.bmp", 65280)
   LOGWRITE ("нашли домой")
   LCLICK($_return1, $_return2)
   GOTO(ПОИСК)
ELSE
   LOGWRITE ("не нашли домой")
END_IF
« Last Edit: January 26, 2016, 10:35:11 AM by Natusik »

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
1 ты можешь вставить поиск и клик 5й картинки (а в нем еще один поиск+клик) перед каждым обычным поиском картинок по номеру, это можно сделать легко и красиво с помощью сабов

2 можно сделать потоком, но сомнительно в скрипте из 5 операторов

3 выходя из операторов и циклов с помощью гото ты делаешь утечки памяти и скрипт со временем крашится

Natusik

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Хорошо. С помощью сабов :-) не умею делать :(

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
примерно вот так (возможно я лишнего нарезал, но главное чтоб суть ты уловил)

Code: (clickermann) [Select]
LOGWRITE ("Ищем!")
WAIT(15)

sub(pic,$pic)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, $pic, 65280) //с
      LOGWRITE ("нашли ",$pic)
      LCLICK($_return1, $_return2)
      WAIT(RND(1, 3)
   ELSE
      LOGWRITE ("не нашли ",$pic)
      WAIT(2)
      GOTO(домой)
   END_IF
   WAITMS(100)
   LCLICK(1000,300)
   WAITMS(100)
   WAIT(1)
end_sub

FOR($a=0,$a<3) //первая А:
   pic("картинка1.bmp")
END_CYC

pic("картинка2.bmp") //вторая:

FOR($a=0,$a<2)
   pic("картинка1.bmp") //с первая Б:
END_CYC

pic("картинка3.bmp") //ц третья:
 
pic("картинка4.bmp") //р четвертая:

домой:
pic("домой.bmp")
LOGWRITE ("не нашли домой")

Natusik

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Спасибо, буду разбираться.