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

Основной раздел => Использование => Topic started by: Psix on January 15, 2017, 12:48:18 PM

Title: Нахождение по цвету
Post by: Psix on January 15, 2017, 12:48:18 PM
Совсем не соображаю в программировании, на бирже желающих не нашел, пришлось сюда перебраться, заранее извините :D
Вот написал нахождение, при появлении этого цвета- он жмет туда ЛКМ. Как теперь это все сделать, чтобы он искал эти цвета на продолжении всего скрипта? То есть выполнялся определенный скрипт, как только появился данный цвет - он тыкнул туда ЛКМ. Эти окна выползают в неопределенное время, может вылезти любое из них.
Code: (clickermann) [Select]
GETSCREEN
 if_pixel_in(828, 191, 852, 213, 4815250)
 lclick(838, 199)
 end_if
GETSCREEN
if_pixel_in(821, 188, 849, 218, 16777215)
lclick(833, 197)
end_if
GETSCREEN
if_pixel_in(808, 402, 817, 410, 2045887)
lclick(817, 402)
end_if
GETSCREEN
if_pixel_in(733, 218, 754, 236, 15132390)
lclick(740, 227)
end_if
GETSCREEN
if_pixel_in(756, 199, 772, 216, 15066597)
lclick(763, 207)
end_if
GETSCREEN
if_pixel_in(626, 790, 660, 820, 16777215)
lclick(629, 816)
end_if
Title: Re: Нахождение по цвету
Post by: Oraven on January 15, 2017, 01:15:20 PM
Для начала добавим задержки после клика. Выполнение скрипта без задержек это большая нагрузка на процессор. И главное после клика должно пройти время на изменения и только потом нужно снова искать.

Данный скрипт просто ищет последовательно в зонах заданный цвет по кругу. Если находит выполняет внутренность условия тоесть клик.
Code: (clickermann) [Select]
GETSCREEN
if_pixel_in(828, 191, 852, 213, 4815250)
   lclick(838, 199)
   WAITMS(1000)
end_if

GETSCREEN
if_pixel_in(821, 188, 849, 218, 16777215)
   lclick(833, 197)
   WAITMS(1000)
end_if

GETSCREEN
if_pixel_in(808, 402, 817, 410, 2045887)
   lclick(817, 402)
   WAITMS(1000)
end_if

GETSCREEN
if_pixel_in(733, 218, 754, 236, 15132390)
   lclick(740, 227)
   WAITMS(1000)
end_if

GETSCREEN
if_pixel_in(756, 199, 772, 216, 15066597)
   lclick(763, 207)
   WAITMS(1000)
end_if

GETSCREEN
if_pixel_in(626, 790, 660, 820, 16777215)
   lclick(629, 816)
   WAITMS(1000)
end_if

WAITMS(50)
Title: Re: Нахождение по цвету
Post by: Psix on January 15, 2017, 01:25:48 PM
А как сделать чтобы на протяжении всего скрипта проверялось условие? То есть, если есть данные цвета в этих местах - он кликал на них? Если нет, то продолжал основные действия. В случае появления цвета - кликнул на него и продолжил работу с того же места. Такое возможно?
Title: Re: Нахождение по цвету
Post by: Oraven on January 15, 2017, 01:46:52 PM
Я так понимаю у тебя есть еще код, который должен выполняться но параллельно ему должен идти анализ этих пикселов?
Тогда нужно использовать потоки.

Когда в потоке errors будет обнаружен пиксел, поток main ставится на паузу, выполняется клик и снова запускается поток main.
Code: (clickermann) [Select]
THREAD(main, 1) // это главный поток твоего скрипта
   
   LOGWRITE ("Основной скрипт")
   WAIT(1)
   
END_THREAD

THREAD(errors, 1) // это поток паралельного анализа
   GETSCREEN
   if_pixel_in(828, 191, 852, 213, 4815250)
      SETTHREAD (main, 0) // 0 - Пауза
      WAITMS(500)
      lclick(838, 199)
      WAITMS(1000)
      SETTHREAD (main, 1) // 1 - Старт
   end_if
   
   if_pixel_in(821, 188, 849, 218, 16777215)
      SETTHREAD (main, 0)
      WAITMS(500)
      lclick(833, 197)
      WAITMS(1000)
      SETTHREAD (main, 1)
   end_if
   
   if_pixel_in(808, 402, 817, 410, 2045887)
      SETTHREAD (main, 0)
      WAITMS(500)
      lclick(817, 402)
      WAITMS(1000)
      SETTHREAD (main, 1)
   end_if
   
   if_pixel_in(733, 218, 754, 236, 15132390)
      SETTHREAD (main, 0)
      WAITMS(500)
      lclick(740, 227)
      WAITMS(1000)
      SETTHREAD (main, 1)
   end_if
   
   if_pixel_in(756, 199, 772, 216, 15066597)
      SETTHREAD (main, 0)
      WAITMS(500)
      lclick(763, 207)
      WAITMS(1000)
      SETTHREAD (main, 1)
   end_if
   
   if_pixel_in(626, 790, 660, 820, 16777215)
      SETTHREAD (main, 0)
      WAITMS(500)
      lclick(629, 816)
      WAITMS(1000)
      SETTHREAD (main, 1)
   end_if
   
   WAITMS(50)
END_THREAD

WAIT(1)
Title: Re: Нахождение по цвету
Post by: Psix on January 15, 2017, 02:44:47 PM
Спасибо, вроде то, что мне нужно - пойду пробовать. :)
Title: Re: Нахождение по цвету
Post by: Psix on January 16, 2017, 05:27:55 PM
Можно ли сделать привязку в BlueStacksе? Если можно, то подскажите как...