Author Topic: Запутался с написанием скрипта  (Read 1635 times)

0 Members and 3 Guests are viewing this topic.

Crookkri

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Запутался с написанием скрипта
« on: August 02, 2019, 11:28:35 PM »
Здравствуйте! Нубу нужна помощь с написанием скрипта. Я запутался. Задача:
Ждём нужный текст в нужной области;
Находим его и кликаем по координатам;
Ждём 2 секунды и кликаем по другим координатам;
Далее ждём другой нужный текст в другой нужной области;
Находим, ждём 2 секунды и кликаем по координатам.
Ждём ещё другой нужный текст в другой нужной области;
Находим, опять ждём 2 секунды и кликаем по координатам.
Всё по порядку. Это закончился один цикл. Бесконечные циклы.
Причём, на любом этапе при появлении определённого текста в ещё одной нужной области, цикл надо вернуть в начало.
Я запутался в порядке написания команд и условий. Помогите, пожалуйста!
ЗЫ. Набросал алгоритм действий. Поиск текста заменён на поиск картинки. У меня получается вот это г:
« Last Edit: August 03, 2019, 04:54:28 PM by Crookkri »

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Запутался с написанием скрипта
« Reply #1 on: August 04, 2019, 10:53:18 PM »
ЗЫ. Набросал алгоритм действий. Поиск текста заменён на поиск картинки. У меня получается вот это г:

У тебя в описании одно, на картинке "алгоритм действий" совсем другое. Про наброски кода "1.cms" лучше промолчать, там микс из непойми чего.

Вот твой алгоритм действий с картинки так, как ты его нарисовал и никак иначе. Но, чую, что не так все должно быть, странный какойто алгоритм. После нахождения картинки №2 искать ее же имено 3 раза (одновременно с третей картинкой)?

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)  //ждем картинку №1
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "pic_1.bmp", -1, 100)
      $check = 1
      wait(3)   // ждем 3 сек
      LCLICK(100, 100) //жмем по координатам 100х100, если нужно по найденой картинке, то координаты $_return1, $_return2
      wait(5)   // ждем 5 сек
      LCLICK(200, 200) //жмем по другим координатам 200х200
   END_IF
   waitms(100)
END_CYC

$check = 0
WHILE($check = 0) //ждем картинку №2
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "pic_2.bmp", -1, 100)
      $check = 1
      wait(3)   // ждем 3 сек
      LCLICK(300, 300) //жмем по другим координатам 300х300
   END_IF
   waitms(100)
END_CYC

$wait_pic_2 = 0
$check = 0
WHILE($check = 0) //ждем картинку №2 и картинку №3
   //при этом, если картинку №2 найдет 3 раза, то далее будет искать только картинку №3  (бесконечно)
   
   GETSCREEN
   
   IF($wait_pic_2 < 3)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "pic_2.bmp", -1, 100) //если картинка №2 найдена
         wait(3)   // ждем 3 сек
         SWITCH($wait_pic_2)
            CASE(0)  //если она найдена первый раз
               LCLICK(310, 310) //жмем по другим координатам 310х310
            CASE(1)  //если она найдена во второй раз
               LCLICK(320, 320) //жмем по другим координатам 320х320
            CASE(2)  //если она найдена в третий раз
               LCLICK(330, 330) //жмем по другим координатам 330х330
         END_SWITCH
         inc($wait_pic_2)  //наращиваем переменную, если она равна трем, то картинку №2 больше искать не будет
         GETSCREEN
      END_IF
   END_IF
   
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "pic_3.bmp", -1, 100) //если картинка №3
      wait(1080)   // ждем 18 мин
      LCLICK(400, 400) //жмем по другим координатам 400х400
      $check = 1  //выход из цикла
   END_IF
   
   waitms(100)
END_CYC

//возврат в начало к картинке №1