Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Psix on January 15, 2017, 12:48:18 PM
-
Совсем не соображаю в программировании, на бирже желающих не нашел, пришлось сюда перебраться, заранее извините :D
Вот написал нахождение, при появлении этого цвета- он жмет туда ЛКМ. Как теперь это все сделать, чтобы он искал эти цвета на продолжении всего скрипта? То есть выполнялся определенный скрипт, как только появился данный цвет - он тыкнул туда ЛКМ. Эти окна выползают в неопределенное время, может вылезти любое из них.
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
-
Для начала добавим задержки после клика. Выполнение скрипта без задержек это большая нагрузка на процессор. И главное после клика должно пройти время на изменения и только потом нужно снова искать.
Данный скрипт просто ищет последовательно в зонах заданный цвет по кругу. Если находит выполняет внутренность условия тоесть клик.
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)
-
А как сделать чтобы на протяжении всего скрипта проверялось условие? То есть, если есть данные цвета в этих местах - он кликал на них? Если нет, то продолжал основные действия. В случае появления цвета - кликнул на него и продолжил работу с того же места. Такое возможно?
-
Я так понимаю у тебя есть еще код, который должен выполняться но параллельно ему должен идти анализ этих пикселов?
Тогда нужно использовать потоки.
Когда в потоке errors будет обнаружен пиксел, поток main ставится на паузу, выполняется клик и снова запускается поток main.
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)
-
Спасибо, вроде то, что мне нужно - пойду пробовать. :)
-
Можно ли сделать привязку в BlueStacksе? Если можно, то подскажите как...