Author Topic: Ошибка!!!Многократность кликов  (Read 2850 times)

0 Members and 5 Guests are viewing this topic.

dambolog37

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Ошибка!!!Многократность кликов
« on: May 11, 2019, 01:01:32 PM »
Прошу помощи,мне нужно чтобы при нахождении нужного цвета кликал всего один раз и продолжал  поиск в заданной области
GETSCREEN
COLORMODE(3, 802,110, 814,900)
IF_PIXEL_IN(802,110, 814,900, 524287)
   LCLICK(1781,544)=1
   WAITMS(50)
ELSE
   WAITMS(50)
END_IF
GETSCREEN
COLORMODE(3, 802,110, 814,900)
IF_PIXEL_IN(802,110, 814,900, 1048575)
   LCLICK(1781,474)=1
   WAITMS(50)
ELSE
   WAITMS(50)
END_IF

iggi

  • Освоившийся
  • **
  • Posts: 22
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #1 on: May 11, 2019, 01:40:52 PM »
Я в этом скрипте вижу ошибку синтаксиса -
LCLICK(1781,544)=1
LCLICK(1781,474)=1
лишнее выделил красным.
Хотя возможно она и не влияет на ход скрипта.
Мне кажется нужно увеличить паузу после клика мышью, 50мс может не хватать на реагирование. Попробуй хотя бы 500мс
Возможно, после упрощения цвета командой colormode(3) искомых пикселей заданного цвета слишком много?

dambolog37

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #2 on: May 11, 2019, 02:13:45 PM »
Всё правильно на работоспособность =1 не влияет,скрипт работает,для меня сложность в том чтобы при нахождении цвета был всего один клик и поиск продолжался дальше

dambolog37

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #3 on: May 11, 2019, 02:20:04 PM »
по скольку нужные цвета прыгают в заданной области нужен всего один клик

dambolog37

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #4 on: May 11, 2019, 02:51:34 PM »
Проблема в том, что нужные для меня цвета появляясь остаются висеть неопределённое время там где появились, по этому клики происходят до тех пор пока нужные цвета не появятся в другой точке заданной области,вот почему  и нужен всего один клик

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #5 on: May 11, 2019, 04:58:02 PM »
Может тебе нужны циклы поиска?

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(3, 802,110, 814,900)
   IF_PIXEL_IN(802,110, 814,900, 524287)
      $check = 1
      LCLICK(1781,544)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(3, 802,110, 814,900)
   IF_PIXEL_IN(802,110, 814,900, 1048575)
      $check = 1
      LCLICK(1781,474)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

dambolog37

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #6 on: May 11, 2019, 05:29:42 PM »
Возможно,огромное спасибо,смогу проверить только в понедельник,поскольку приложение не работает в выходные.

dambolog37

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #7 on: May 13, 2019, 10:40:20 AM »
Может тебе нужны циклы поиска?скрипт проверил не подходит при находке цветов кликает и сюда

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(3, 802,110, 814,900)
   IF_PIXEL_IN(802,110, 814,900, 524287)
      $check = 1
      LCLICK(1781,544)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(3, 802,110, 814,900)
   IF_PIXEL_IN(802,110, 814,900, 1048575)
      $check = 1
      LCLICK(1781,474)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
немного не то, нужно вот что
 $check = 0                                        в данном скрипте при находке цвета клик просисходит сдесь
WHILE($check = 0)
   GETSCREEN
   COLORMODE(3, 796,110, 800,903) //
   IF_PIXEL_IN(796,110, 800,903, 524287,460799) //
      $check = 1
      LCLICK(1781,597) //при обнаружении 524287,460799 один клик
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(4, 796,110, 800,881) //
   IF_PIXEL_IN(796,110, 800,881, 1048575,1019663) //
      $check = 1
      LCLICK(1781,500) // при обнаружении 1048575,1019663  один клик
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #8 on: May 13, 2019, 12:34:33 PM »
Не понятно что ты хочешь, один клик а дальше что? Может ждать пока цвет исчезнет?

dambolog37

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #9 on: May 13, 2019, 01:29:05 PM »
Совершенно верно ждать пока цвет исчезнет и появится снова в другой точке

dambolog37

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #10 on: May 14, 2019, 03:40:39 PM »
Oraven,потестил скрипт и он работает,единственное но, почему он работает не совсем как надо это наверно то, что поиск происходит в одном окне приложения,а клики в другом и я думаю что именно это как то влияет на поиск н.ц. при первом включении скрипт работает,а потом после первого срабатывания теряется,потому что после появления н.ц ничего не происходит.Помоги пожалуйста))

dambolog37

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: Ошибка!!!Многократность кликов
« Reply #11 on: May 15, 2019, 12:45:43 AM »
Близок к цели,самое главное,что ответ в простоте вашего скрипта,СПАСИБО его оказывается достаточно,чтобы не задумываться о сложности решения нужной задачи,достаточно чирнуть маркером  на экране))чтобы скрипт снова работал,да не удобно,но если подумать о идеальном решении,ничего не получится сделать, по скольку область поиска изменчива(не статична),да можно закрепить окно,но нельзя закрепить объект,область))который(ая) нужен,не знаю может ошибаюсь,со временем и до этого дойду,Если это работает,то нужно понимать как это применить))Спасибо,главное не останавливаться))чтобы добиться того чего хочется.Когда будет время,обязательно займусь изучением,а пока проверка способности,на сколько это может мне помочь.Спасибо