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

Основной раздел => Общие вопросы => Topic started by: Alonce on May 19, 2020, 06:58:01 PM

Title: Помогите дописать скрипт.
Post by: Alonce 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
Title: Re: Помогите дописать скрипт.
Post by: 4.У.В.@.К 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 мин.