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

Основной раздел => Общие вопросы => Topic started by: georgmann on December 12, 2018, 06:02:16 AM

Title: Ждать изменения картинки определенное время
Post by: georgmann on December 12, 2018, 06:02:16 AM
Доброй ночи.
Суть работы скрипта в том, чтобы дождаться изменения картинки в определённой области и продолжить дальнейшие действия.
Проблема в том, что иногда окно, в котором производится поиск, после действия LCLICK(1122,333) зависает и соответственно сравнение двух хешей с заданной области зацикливается до бесконечности.
Вопрос: как сделать, чтобы снятие хеша $hash2 производилось к примеру 2 минуты и если изменений не обнаружено, то повторилось бы действие кода LCLICK(1122,333) после чего продолжилось бы снятие хеша $hash2 и в случае сравнения и обнаружения изменений выполнилось бы дальнейшее действие по скрипту.
Спасибо за помощь.  :)
Часть кода:
Code: [Select]
      GETSCREEN
      $hash1 = PXLCRC(1338,436, 1346,441) // снимаем хеш с области
      WAITMS (100)
      LCLICK(1151,274)
      WAITMS (100)
      KEYDOWN (#CTRL)
      WAITMS (100)
      KEYPRESS(#A)
      WAITMS (100)
      KEYPRESS(#V)
      WAITMS (100)
      KEYUP (#CTRL)
      WAITMS (100)
      LCLICK(1122,333)
      WAITMS (1000)
      skip:
      GETSCREEN
      $hash2 = PXLCRC(1338,436, 1346,441) // снимаем хеш с области
      IF($hash1 = $hash2) // сравниваем
         goto(skip)
      ELSE
         goto(skip1)
      END_IF
      skip1:
Title: Re: Ждать изменения картинки определенное время
Post by: Oraven on December 12, 2018, 07:56:47 AM
На гото далеко не уедешь....

Code: (clickermann) [Select]
GETSCREEN
$hash1 = PXLCRC(1338,436, 1346,441) // снимаем хеш с области
WAITMS (100)
LCLICK(1151,274)
WAITMS (100)
KEYDOWN (#CTRL)
WAITMS (100)
KEYPRESS(#A)
WAITMS (100)
KEYPRESS(#V)
WAITMS (100)
KEYUP (#CTRL)
WAITMS (100)

$check = 0
WHILE($check = 0) // цикл клика и сравнения хешей
   LCLICK(1122,333)
   WAITMS (1000)
   $time = $_time_t + 120 // таймер на 2 минуты
   WHILE($time > $_time_t) // цикл сравнения хешей на 2 минуты
      GETSCREEN(1338,436, 1346,441)
      $hash2 = PXLCRC(1338,436, 1346,441) // снимаем хеш с области
      IF($hash1 = $hash2) // сравниваем
         WAITMS(30)
      ELSE
         $time = 0 // если отличаются присваиваем $time значение 0, выходим из цикла хешей
      END_IF
   END_CYC
   IF($time = 0) // если $time равна 0
      $check = 1 // выходим из цикла клика и сравнения хешей
   END_IF
END_CYC
Title: Re: Ждать изменения картинки определенное время
Post by: georgmann on December 12, 2018, 12:59:27 PM
Quote
На гото далеко не уедешь....
Похоже, что так и есть.
Сама программа просто шикарная.
Скрипт работает, правда пока не было возможности увидеть его работу при зависании, но это дело времени.
Благодарю за помощь.  :)