Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Light on July 04, 2013, 03:10:59 PM
-
Здравствуйте, пользователи.
Познакомился с вашей программой совсем не давно, но ужасно ей доволен.
Возникла потребность в создании такого рода скрипта:
У меня есть окошко, в которое надо вести число, допустим, 1 затем 2, затем 3 и так до 99999+
Но после каждого ввода цифры должен происходить клик по определенной точке экрана и задержка на определенное время.
Возможно ли такое реализовать? Буду очень благодарен за помощь.
-
Объявляешь переменную со значением 1,пишешь цикл со своими кликами и координатами,например так:
$i=1
WHILE($i<999999999)
//здесь твоё окошко куда надо ввести число,которое будет равно $i
WAITMS(150)
inc($i)
LCLICK(100,100)//здесь твои коры куда надо кликать...
WAITMS(150)
end_cyc
-
Нет, надо вот так:
WAIT(1)
for ($i, $i<99999)
KEYSTRING($i) //здесь твоё окошко куда надо ввести число, которое будет равно i
WAITMS(150)
LCLICK(100,100) //здесь твои коры куда надо кликать...
WAITMS(150)
end_cyc
HALT
И нельзя писать знак $ в коментах
-
А чем в данном случае for лучше чем while?На самом деле совершенно без разницы,это хоть через if'ы можно организовать,хотя менее удобно,главное чтоб человек понял,что ему нужен цикл.
И для for перед циклом надо инициализировать $i со значением 1,ибо впечатает ему 0 на первом шаге(как,впрочем,и при while)
Упс,таки у меня неправильно))-не инкременировал $i...Отредактировал
-
А чем в данном случае for лучше чем while?На самом деле совершенно без разницы,это хоть через if'ы можно организовать,хотя менее удобно,главное чтоб человек понял,что ему нужен цикл.
И для for перед циклом надо инициализировать $i со значением 1,ибо впечатает ему 0 на первом шаге(как,впрочем,и при while)
Упс,таки у меня неправильно))-не инкременировал $i...Отредактировал
Для твоего просвещения.... FOR сам наращивает переменную в начале цикла(то есть первое значение как раз 1), объявлять ниче не нужно (если только эта переменная не участвует где то еще до этого), переменная будет обнулена в конце цикла.
Вот пример:
print("До цикла")
print($i)
print("Цикл")
for ($i, $i<3)
print($i)
end_cyc
print("После цикла")
print($i)
HALT
-
А как сделать такой скрипт что бы он подбирал пароль из 3-х цифр. Начиная с "111" до "999" Ситуация следующая, нашли окно и начинаем подбор определять окно ввода не нужно просто сразу набирать цифры типа "набрал клик проверил" и так пока окно не пропадет.
GETSCREEN // Определяем окно
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
//Здесь наращивающий подбор цифр
LCLICK(10,10)
//Если окно ушло продолжаем скрипт, если осталось, повторяем ввод подбора и так пока окно не свалит
WAITMS(100)
END_IF
-
Попробуй так. За подбор бан не схлопочешь?
$_num=111
WHILE($_num<1000)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
KEYSTRING($_num)
WAITMS(100)
LCLICK(10,10)
WAITMS(100)
INC($_num)
ELSE
$_num=1000
END_IF
END_CYC
P.S. Зачем вытаскивать темы 2013 года? Многие примеры в них не актуальны на сегодняшний день.
-
Попробуй так. За подбор бан не схлопочешь?
Надеюсь нет.
А вот так как то не лучше? Просто не соображу как выйти из цикла если окно пропало.
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
FOR($i=111, $i < 1000)
KEYSTRING($i, 50)
WAITMS(100)
LCLICK(0,0)
WAITMS(100)
END_CYC
WAITMS(100)
END_IF
HALT
-
А вот так как то не лучше? Просто не соображу как выйти из цикла если окно пропало.
Не лучше. Проверка картинки лучше в цикле.
-
А в твоем случае если картинка не найдется произойдет выход из цикла? Скрип пойдет дальше?
-
А в твоем случае если картинка не найдется произойдет выход из цикла? Скрип пойдет дальше?
Конечно. Это происходит в 11 строке. Для этого мы ставим условие внутрь цикла, что-бы иметь такую возможность.
-
Конечно. Это происходит в 11 строке.
Либо я туплю либо ты меня не понял. Мне нужно что бы цикл закончился при условии что окна ввода уже нету а в 11 строке как я понимаю он выйдет только при вводе "1000". Да и если окно не исчезнет то и нет смысл продолжать скрипт.
-
$_num=111
WHILE($_num<1000) // Цикл работает пока переменная $_num меньше 1000, если переменная равна или больше 1000 цикл завершается.
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Если картинка есть...
KEYSTRING($_num) // ...вводим цифры (первый раз 111 и т.д.)...
WAITMS(100)
LCLICK(10,10) // ...и кликаем...
WAITMS(100)
INC($_num) // ...наращиваем переменную. Возвращаемся к третей строке.
ELSE // Если картинки нет...
$_num=1000 // ...увеличиваем переменную до максимального значения - цикл "думает" что он закончил свою работу.
END_IF
END_CYC // ВЫХОД
-
Спасибо большое вроде работает, пустил в работу посмотрим дальше что будет. А еще вопрос можно ли исключить из подбора числа с нулями? типа 110 120 130... 210 220 230... и т.д.
-
Можно.
$_num=111
WHILE($_num<1000) // Цикл работает пока переменная $_num меньше 1000, если переменная равна или больше 1000 цикл завершается.
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Если картинка есть...
KEYSTRING($_num) // ...вводим цифры (первый раз 111 и т.д.)...
WAITMS(100)
LCLICK(10,10) // ...и кликаем...
WAITMS(100)
INC($_num) // ...наращиваем переменную. Возвращаемся к третей строке.
IF($_num/10=INT($_num/10))
INC($_num)
END_IF
ELSE // Если картинки нет...
$_num=1000 // ...увеличиваем переменную до максимального значения - цикл "думает" что он закончил свою работу.
END_IF
END_CYC // ВЫХОД
-
Вот совсем без нолей.
$_num=111
WHILE($_num<1000)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
KEYSTRING($_num)
WAITMS(100)
LCLICK(10,10)
WAITMS(100)
INC($_num)
IF($_num/100=INT($_num/100))
INC($_num,10)
END_IF
IF($_num/10=INT($_num/10))
INC($_num)
END_IF
ELSE
$_num=1000
END_IF
END_CYC
Поправил немного. Так лучше.
-
Вот совсем без нолей.
Только хотел спросить что бы числа где есть ноль не писались) а вы уже отписали, нет слов, красота, работает как и хотелось СПАСИБО огромное)
-
А как сделать, что бы в место клавиш, кликало мышкой по кнопкам?
// Координаты кнопок
LCLICK(350,330) // 1
LCLICK(475,330) // 2
LCLICK(600,330) // 3
LCLICK(350,390) // 4
LCLICK(475,390) // 5
LCLICK(600,390) // 6
LCLICK(350,455) // 7
LCLICK(475,455) // 8
LCLICK(600,455) // 9
-
А как сделать, что бы в место клавиш, кликало мышкой по кнопкам?
$_num=111
WHILE($_num<1000)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
FOR($step=1,$step<4)
$click=STRCUT($_num,$step,1)
WAITMS(100)
SWITCH($click)
CASE(1)
LCLICK(350,330)
CASE(2)
LCLICK(475,330)
CASE(3)
LCLICK(600,330)
CASE(4)
LCLICK(350,390)
CASE(5)
LCLICK(475,390)
CASE(6)
LCLICK(600,390)
CASE(7)
LCLICK(350,455)
CASE(8)
LCLICK(475,455)
CASE(9)
LCLICK(600,455)
END_SWITCH
END_CYC
WAITMS(100)
LCLICK(10,10)
INC($_num)
IF($_num/100=INT($_num/100))
INC($_num,10)
END_IF
IF($_num/10=INT($_num/10))
INC($_num)
END_IF
ELSE
$_num=1000
END_IF
END_CYC
-
Большое спасибо.
-
Подскажите пожалуйста как в скрипт перебора добавить еще 2 клика и зациклить, я если добавляю 2 клика с координатами то цикл не повторяется с вводом цифр.
мой алгоритм на словах такой а объяснить кликеру не могу:
1) ввод числа(111) \\ перебор 3х значных цифр
2) клик (проверка кода)
ожидание 2 сек
3)клик (новая проверка)
цикл повтора
1)ввод числа (112)
2)клик (проверка кода)
код подошел
исчезает поле ввода кода и кнопка проверка кода, клики проскакивают по пустым полям.
в идеале хочу сделать, чтобы среагировав что синяя кнопка исчезла и пиксель стал белым в том месте, то сразу стоп
$_num=111
WHILE($_num<999) // Цикл работает пока переменная $_num меньше 1000, если переменная равна или больше 1000 цикл завершается.
KEYSTRING($_num) // ...вводим цифры (первый раз 111 и т.д.)...
WAITMS(100)
LCLICK(1700,601)
INC($_num)
END_CYC // ВЫХОД
-
Тебе нужно только правильно определить координату кнопки "Забронировать". Если она исчезнет то кликер увидит белый цвет и остановит выполнение.
FOR($i=111,$i<1000) // от 111 до 999
KEYSTRING($i) // набираем
WAITMS(50)
LCLICK(1700,601) // кликаем
WAITMS(500)
GETSCREEN
IF(PXL(10,10) = 16777215) // проверяем на белый цвет в координате 10,10
HALT // если совпало то стоп
END_IF
END_CYC
HALT