Author Topic: Помогите дописать скрипт.  (Read 1379 times)

0 Members and 1 Guest are viewing this topic.

Alonce

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Помогите дописать скрипт.
« on: May 19, 2020, 06:58:01 PM »
Добрый день.
Зашел в тупик, не могу разобраться со временем.
Суть скрипта такая.
1. Ищем фрагмент картинки-нашёл кликаем на нее, если не нашел нажимаем кнопку.
2. Ищем пиксель нажимаем на него.
3. Ищем пиксель удачно 35 раз, потом завершаем скрипт.

Так вот все 3 пункта сейчас без отказно работают.
Что необходимо сделать, нужно сделать чтоб первые 3 пункта работали по кругу пока не найдет удачно 35 раз пиксель.(это уже работает)
Потом пауза на 80 мин. И далее занова ищем 35 раз пиксель. После 5ти паус в 80 мин, весь скрипт останавливается.

Что сейчас есть.

LOGCLEAR
 
GETSCREEN
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "1.bmp", -1, 100)
            LCLICK($_return1, $_return2)             
            WAITMS(100)
            KEYPRESS(#PAGEDOWN)
         ELSE 
                KEYPRESS(#PAGEDOWN)             
        END_IF
WAIT(1)             
GETSCREEN
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 5655021)
            LCLICK($_return1, $_return2) 
            INC($1,1)
   END_IF         
     
WAIT(4)

IF($1 >= 35) //Если счетчик больше или равно 35 СТОП
 LOGSHOW (1, 25,250)
  LOGWRITE ("Сделал столько раз " ,$1, " шт.")
HALT
END_IF
« Last Edit: May 19, 2020, 11:23:24 PM by Alonce »

4.У.В.@.К

  • Активный участник
  • ***
  • Posts: 117
    • View Profile
Re: Помогите дописать скрипт.
« Reply #1 on: May 20, 2020, 08:40:33 AM »
Привет.
Вот так можно написать. Должно работать. Не проверял.
Переделал условие поиска картинки в сочетании с KEYPRESS(#PAGEDOWN), проверь.
Наверно следует добавить дополнительные условия выхода из цикла. Если пикселя на экране нет, то цикл становится бесконечным.
Имена важных переменных наверно лучше делать осмысленными и не начинающимися с цифры. Но это так - просто мое мнение. :)

Code: (clickermann) [Select]
// LOGCLEAR

WHILE($1 < 35) // цикл завершится, если пиксель будет найден 35 раз
   
   GETSCREEN
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "1.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   END_IF
   
   KEYPRESS(#PAGEDOWN)
   
   WAIT(1)
   
   GETSCREEN
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 5655021)
      LCLICK($_return1, $_return2)
      INC($1,1)
   END_IF
   
   WAIT(4)
   
END_CYC

//--------------------------------

INC($2) // счетчик пауз

IF($2 = 5)
   LOGSHOW (1, 25,250)
   LOGWRITE ("Сделал столько раз " ,$1, " шт.")
   HALT
END_IF

UNDEFINE($1) // обнуляем счетчик найденных пикселей

WAIT(4800) // пауза на 80 мин.