Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: IgorExa on September 21, 2016, 12:09:09 PM
-
Здравствуйте. На форуме лежит отличный скрипт
GETSCREEN
IF(PXL(910,207) = 200070) ????
LCLICK(RND(910,1024),RND(201,213))
WAIT(RND(27,40))
ELSE
HALT
END_IF
GETSCREEN
IF(PXL(948,206) = 200070)
LCLICK(RND(947,1002),RND(201,212))
WAIT(RND(2,6))
ELSE
IF(PXL(1041,206) = 200070)
LCLICK(RND(1041,1089),RND(204,211))
END_IF
WAIT(RND(2,6))
END_IF
WAIT(RND(2,7))
Помогите плиз! Голову сломал - как задать поиск пикселей по области? Просканировал область на цвет - нашел - тыкнул в указанное место - не нашел- сканирует область на след цвет - нашел - тыкнул в указанное место. не нашел - ждет 5 сек и заново.
-
-
Спасибо!
GETSCREEN
IF_PIXEL_IN(496, 119, 512, 661, 255)
LCLICK(1208,546)
IF_PIXEL_IN(496, 119, 512, 661, 65280)
LCLICK(1214,420)
WAIT(2)
Если сценарий сработал по одному из параметров, как добавить доп задержку, напр на 60 секунд, во избежания повторных кликов через 2 сек? Заранее спасибо за ответ.
Ерунда какая то получилась( просто кликает одновременно и все
-
Куда остальное то делось?
GETSCREEN(496, 119, 512, 661)
IF_PIXEL_IN(496, 119, 512, 661, Цвет1, Цвет2)
LCLICK($_return1,$_return2)
WAIT(60)
ELSE
WAIT(5)
END_IF
-
$check = 0
WHILE($check = 0)
GETSCREEN(496, 119, 512, 661) // сохранить в графический буфер сектор
IF_PIXEL_IN(496, 119, 512, 661, 255)//Просканировал область на цвет
$check = 1 //выход из цикла сканирования цветов
LCLICK(1208,546) //тыкнул в указанное место
WAIT(60) // добавить доп задержку на 60 секунд
ELSE // если не нашел 255
IF_PIXEL_IN(496, 119, 512, 661, 65280)
$check = 1
LCLICK(1214,420)
WAIT(60) // добавить доп задержку на 60 секунд
ELSE // если не нашел 65280
WAIT(5) // ждет 5 сек
END_IF // обязательный конец кажного условия
END_IF
END_CYC // обязательный конец кажного цикла
HALT // стоп
Кирил, спасибо огромное! Изучение с нуля надо с чего то начать) Но одного интереса маловато. На основании своих мыслей и вашего кода с объяснениями перечитываю мануал. Не могу найти указание на приоритет выполнения команд(. К примеру
IF_PIXEL_IN(496, 119, 512, 661, 65280)
$check = 1
LCLICK(1214,420)
WAIT(60) // добавить доп задержку на 60 секунд
вот это место. Если дописываю м\у клик и wait команду на еще один клик в другом месте, то кликает только один раз, в первом месте. Дописываю еще wait м\у строками клик - тот же результат. В двух словах, если не трудно,- что делаю не правильно? или где об этом можно прочитать? Спасибо)
Вот
$check = 0
WHILE($check = 0)
GETSCREEN(496, 119, 512, 661)
IF_PIXEL_IN(496, 119, 512, 661, 255)
$check = 1
LCLICK(1214,420)
WAIT(1)
LCLICK(1208,546)
WAIT(20)
ELSE
IF_PIXEL_IN(496, 119, 512, 661, 65280)
$check = 1
LCLICK(1214,420)
WAIT(1)
LCLICK(1214,420)
WAIT(20)
ELSE
WAIT(1)
END_IF
END_IF
END_CYC
-
после внесения изменений в код, нужно нажимать кнопку применить, потом кнопку сохранить, потом кнопку закрыть редактор
и только после этих манипуляций изменения должну заработать.
Это понятно. Спасибо
Для опытного глаза
$check = 0
WHILE($check = 0)
GETSCREEN(496, 119, 512, 661)
IF_PIXEL_IN(1228, 407, 1260, 421, 16777215)
$check = 1
LCLICK(1211,401)
ELSE
IF_PIXEL_IN(496, 119, 512, 661, 255)
$check = 1
LCLICK(1208,546)
WAIT(30)
ELSE
IF_PIXEL_IN(496, 119, 512, 661, 65280)
$check = 1
LCLICK(1214,420)
WAIT(30)
ELSE
WAIT(1)
END_IF
END_IF
END_IF
END_CYC
Что не верно и мешает выполнению с точки зрения кода? Не выполняет первый поиск и клик.
-
Вот такой вот кусок кода:
IF_PIXEL_IN(973, 126, 1100, 650, 6121925)
$check = 1
LCLICK(1240,235)
KEYPRESS(#BACKSPACE)
KEYPRESS(#BACKSPACE)
KEYSTRING($1) подскажите как заставить вписывать циклически увеличивающееся в двое значение? Опять же перерыл мануал, но логику вставки переменной да еще и с циклом не понимаю( Или нужен весь код для полноты картины? Заранее спасибо
-
Подскажите пожалуйста, что даёт объявление переменной? Вернее одинаково ли кликер видит
DEFINE($a1,1)
и
$a1=1
-
Подскажите пожалуйста, что даёт объявление переменной? Вернее одинаково ли кликер видит
DEFINE($a1,1)
и
$a1=1
$a1=1
всегда будет приравнивать $a к 1,
DEFINE будет действовать только если переменной не существует. Если переменная уже есть с любым значением, DEFINE игнорируется.
И сразу возникает резонный вопрос: справку не читал?
Только не нужно говорить, как это делают в этих случаях, что справка не открывается.
-
Оцените плод трудов на жизнеспособность, пожалуйста) Ибо сам, ввиду временной ограниченности знаний и опыта, пока не могу) Заранее спасибо за указанные ошибки и идеотизмы)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(1228, 407, 1260, 421, 30719)
$check = 1
LCLICK(1211,401)
ELSE
IF_PIXEL_IN(496, 119, 512, 661, 255)
$check = 1
IF_PIXEL_IN(496, 119, 512, 661, 255)
$check = 1
WAIT(2)
ELSE
LCLICK(1208,546)
MOVE(1137,511)
WAIT(30)
1:
IF_PIXEL_IN(973, 126, 1100, 650, 400393)
$check = 1
END_CYC
ELSE
IF_PIXEL_IN(973, 126, 1100, 650, 6121925)
LCLICK(1240,235)
DEFINE($a1,1)
FOR($a=0,$a<8 )
KEYPRESS(#BACKSPACE)
KEYPRESS(#BACKSPACE)
$a1=$a1*2
KEYSTRING($a1)
LCLICK(1280,150)
LCLICK(967,384)
LCLICK(1214,420)
WAIT(250)
END_IF
ELSE
GOTO(1)
END_IF
END_IF
ELSE
Код не дописан до конца.
-
Тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
-
Тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
Спасибо)
-
да у вас, уважаемый, код нерабочий
хорошо что отступы расставили, но сделайте и ещё один шаг - проанализируйте свой код
любой блок IF (и IF_PIXEL_IN и IF_PICTURE_IN тоже) должен быть закрыт END_IF
любой блок цикла (FOR или WHILE) должен быть закрыт END_CYC
а что у вас?
1:
IF_PIXEL_IN(973, 126, 1100, 650, 400393)
$check = 1
END_CYC
FOR($a=0,$a<8 )
KEYPRESS(#BACKSPACE)
KEYPRESS(#BACKSPACE)
$a1=$a1*2
KEYSTRING($a1)
LCLICK(1280,150)
LCLICK(967,384)
LCLICK(1214,420)
WAIT(250)
END_IF
что эта хрень лесная должна означать – я не понимаю.
-
да у вас, уважаемый, код нерабочий
хорошо что отступы расставили, но сделайте и ещё один шаг - проанализируйте свой код
любой блок IF (и IF_PIXEL_IN и IF_PICTURE_IN тоже) должен быть закрыт END_IF
любой блок цикла (FOR или WHILE) должен быть закрыт END_CYC
а что у вас?
1:
IF_PIXEL_IN(973, 126, 1100, 650, 400393)
$check = 1
END_CYC
FOR($a=0,$a<8 )
KEYPRESS(#BACKSPACE)
KEYPRESS(#BACKSPACE)
$a1=$a1*2
KEYSTRING($a1)
LCLICK(1280,150)
LCLICK(967,384)
LCLICK(1214,420)
WAIT(250)
END_IF
что эта хрень лесная должна означать – я не понимаю.
Уважаемый! Премного благодарен за конструктивный комментарий. Проанализирую.
-
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(1228, 407, 1260, 421, 30719)
$check = 1
LCLICK(1211,401)
ELSE
IF_PIXEL_IN(496, 119, 512, 661, 255)
$check = 1
IF_PIXEL_IN(496, 119, 512, 661, 255)
$check = 1
WAIT(2)
ELSE
LCLICK(1208,546)
MOVE(1137,511)
WAIT(30)
IF_PIXEL_IN(973, 126, 1100, 650, 400393)
$check = 1
END_IF
END_IF
END_IF
END_IF
END_CYC
// из циклов и подпрограмм выходить-входить по метке НЕЛЬЗЯ, это приводит к ошибкам, даже если при отладке и работало.
метка_1: // а что вам даёт переход на эту метку? действий ни каких не производится. это способ ожидания пикселя? тогда проверка экрана нужна постоянная
GETSCREEN
IF_PIXEL_IN(973, 126, 1100, 650, 6121925)
LCLICK(1240,235)
DEFINE($a1,1)
FOR($a=0,$a<8 ) // вам действительно нужно повторить это 8 раз?
KEYPRESS(#BACKSPACE)
KEYPRESS(#BACKSPACE)
$a1=$a1*2
KEYSTRING($a1)
LCLICK(1280,150)
LCLICK(967,384)
LCLICK(1214,420)
WAIT(250) // вы серьёзно 250 сек. ожидания?
END_CYC //конец цикла пишется иначе чем конец условия
ELSE
GOTO(метка_1)// не надо насиловать интерпритатор, все названия должны начинаться с букв а не цифр.
END_IF
// зачем вообще вам метка, если вас научиль пользоваться двумя видами цмклов?
// учитесь все строки дополнять комментариями, это не трудно - это культура программирования.
Спасибо огромное. Ушел переваривать