Author Topic: Поиск картинки с таймером!  (Read 2061 times)

0 Members and 1 Guest are viewing this topic.

keepsv

  • Освоившийся
  • **
  • Posts: 34
    • View Profile
Поиск картинки с таймером!
« on: January 04, 2017, 06:27:17 PM »
Доброго времени суток! Подскажите как реализовать!
Есть блустакс в связке с которым (привязка к окну) уже выполняется скрипт. В определенном месте этого скрипта строка HINTPOPUP вызывающая системное уведомление. Задача: интервальное (чтоб не грузить систему, т.к. сообщение будет выскакивать раз в 5мин) сканирование на наличие этого сообщения в правом нижнем углу экрана, при обнаружении три клика по определенным координатам и сначала! Так будет работать? Или может как-то проще можно сделать?

Code: (clickermann) [Select]
$time = $_time_t + 300
WHILE($time > $_time_t) // ЖДЕМ КАРТИНКУ НЕ БОЛЕЕ 5 мин
   GETSCREEN
   COLORMODE(7)
   IF_PICTURE_IN (2180,900, $_xmax,$_ymax, "i.bmp", -1, 80)
      $time = 0    // НАШЛИ, ОБНУЛЯЕМ ТАЙМЕР, ПРЕРЫВАЕМ ЦИКЛ
      WAITMS(1000)
      LCLICK(2184,1013)  // сменить
      WAITMS(1000)
      LCLICK(2184,1013)  // сменить
      WAITMS(1000)
      LCLICK(1985,1003)  // ок
   ELSE
      WAITMS(100)
   END_IF
   WAITMS(100)
ELSE
   WAITMS(500)
END_IF
END_CYC

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Поиск картинки с таймером!
« Reply #1 on: January 04, 2017, 06:58:09 PM »
Начнем с того что у тебя в скрипте лишнее
Code: (clickermann) [Select]
   WAITMS(100)
ELSE
   WAITMS(500)
END_IF

Если это весь скрипт то какой смысл гонять цикл 5 минут чтобы он снова начался с новыми 5 минут?

Я так понимаю ты хочешь наладить "общение" квух кликеров?
Тогда используй запись в INI

Первый кликер в какой то момент пишет 
Code: (clickermann) [Select]
INIWRITE("config.ini", "Check", "1")
Вторая копия раз в пол секунды проверяет файл на наличия параметра 1
Code: (clickermann) [Select]
IF(INT(INIREAD("config.ini", "Check")) = 1)
   INIWRITE("config.ini", "Check", "0") // меняем на 0
   WAIT(1) // выполняем твой код
   LCLICK(2184,1013)  // сменить
   WAIT(1)
   LCLICK(2184,1013)  // сменить
   WAIT(1)
   LCLICK(1985,1003)  // ок
   WAIT(1)
ELSE
   WAITMS(500)
END_IF


keepsv

  • Освоившийся
  • **
  • Posts: 34
    • View Profile
Re: Поиск картинки с таймером!
« Reply #2 on: January 05, 2017, 01:32:51 PM »
Спасибо! То что надо! А еще не подскажите как правильно вставлять команду GETSCREEN?  По сценарию идут простые команды LCLICK но в определенном месте интервалы появления нужного окна всегда разные. Надо сделать так чтоб именно при появлении окна команды продолжились! Всё выполняется в BlueStacks с привязкой к окну!

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Поиск картинки с таймером!
« Reply #3 on: January 05, 2017, 01:40:59 PM »
Используй цикл с условием

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
      $check = 1 // флаг выхода из цикла
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC