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

Основной раздел => Общие вопросы => Topic started by: Light on July 04, 2013, 03:10:59 PM

Title: Скрипт перебора чисел от 1-го до 99999+
Post by: Light on July 04, 2013, 03:10:59 PM
Здравствуйте, пользователи.
Познакомился с вашей программой совсем не давно, но ужасно ей доволен.
Возникла потребность в создании такого рода скрипта:
У меня есть окошко, в которое надо вести число, допустим, 1 затем 2, затем 3 и так до 99999+
Но после каждого ввода цифры должен происходить клик по определенной точке экрана и задержка на определенное время.
Возможно ли такое реализовать? Буду очень благодарен за помощь.
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: stivus on July 09, 2013, 02:34:50 AM
Объявляешь переменную со значением 1,пишешь цикл со своими кликами и координатами,например так:
Code: (clickermann) [Select]
$i=1
WHILE($i<999999999)
   //здесь твоё окошко куда надо ввести число,которое будет равно $i
   WAITMS(150)
   inc($i)
   LCLICK(100,100)//здесь твои коры куда надо кликать...
   WAITMS(150)
end_cyc
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Oraven on July 10, 2013, 03:20:46 AM
Нет, надо вот так:

Code: (clickermann) [Select]
WAIT(1)
for ($i, $i<99999)
   KEYSTRING($i) //здесь твоё окошко куда надо ввести число, которое будет равно i
   WAITMS(150)
   LCLICK(100,100) //здесь твои коры куда надо кликать...
   WAITMS(150)
end_cyc
HALT

И нельзя писать знак $ в коментах
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: stivus on July 10, 2013, 06:54:05 AM
А чем в данном случае for лучше чем while?На самом деле совершенно без разницы,это хоть через if'ы можно организовать,хотя менее удобно,главное чтоб человек понял,что ему нужен цикл.
И для for перед циклом надо инициализировать $i со значением 1,ибо впечатает ему 0 на первом шаге(как,впрочем,и при while)
Упс,таки у меня неправильно))-не инкременировал $i...Отредактировал
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Oraven on July 10, 2013, 02:53:17 PM
А чем в данном случае for лучше чем while?На самом деле совершенно без разницы,это хоть через if'ы можно организовать,хотя менее удобно,главное чтоб человек понял,что ему нужен цикл.
И для for перед циклом надо инициализировать $i со значением 1,ибо впечатает ему 0 на первом шаге(как,впрочем,и при while)
Упс,таки у меня неправильно))-не инкременировал $i...Отредактировал


Для твоего просвещения.... FOR сам наращивает переменную в начале цикла(то есть первое значение как раз 1), объявлять ниче не нужно (если только эта переменная не участвует где то еще до этого), переменная будет обнулена в конце цикла.

Вот пример:

Code: (clickermann) [Select]
print("До цикла")
print($i)

print("Цикл")
for ($i, $i<3)
   print($i)
end_cyc

print("После цикла")
print($i)

HALT
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Ramzesia on July 01, 2017, 07:56:55 PM
А как сделать такой скрипт что бы он подбирал пароль из 3-х цифр. Начиная с "111" до "999" Ситуация следующая, нашли окно и начинаем подбор определять окно ввода не нужно просто сразу набирать цифры типа "набрал клик проверил" и так пока окно не пропадет.
Code: (clickermann) [Select]
GETSCREEN // Определяем окно
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
   //Здесь наращивающий подбор цифр
   LCLICK(10,10)
   //Если окно ушло продолжаем скрипт, если осталось, повторяем ввод подбора и так пока окно не свалит
   WAITMS(100)
END_IF
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: open_78 on July 01, 2017, 08:45:03 PM
Попробуй так. За подбор бан не схлопочешь?
Code: (clickermann) [Select]
$_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 года? Многие примеры в них не актуальны на сегодняшний день.
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Ramzesia on July 01, 2017, 08:55:07 PM
Попробуй так. За подбор бан не схлопочешь?
Надеюсь нет.
А вот так как то не лучше? Просто не соображу как выйти из цикла если окно пропало.
Code: (clickermann) [Select]
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
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: open_78 on July 01, 2017, 08:57:06 PM
А вот так как то не лучше? Просто не соображу как выйти из цикла если окно пропало.
Не лучше. Проверка картинки лучше в цикле.
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Ramzesia on July 01, 2017, 09:03:50 PM
А в твоем случае если картинка не найдется произойдет выход из цикла? Скрип пойдет дальше?
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: open_78 on July 01, 2017, 09:06:08 PM
А в твоем случае если картинка не найдется произойдет выход из цикла? Скрип пойдет дальше?
Конечно. Это происходит в 11 строке. Для этого мы ставим условие внутрь цикла, что-бы иметь такую возможность.
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Ramzesia on July 01, 2017, 09:10:47 PM
Конечно. Это происходит в 11 строке.
Либо я туплю либо ты меня не понял. Мне нужно что бы цикл закончился при условии что окна ввода уже нету а в 11 строке как я понимаю он выйдет только при вводе "1000". Да и если окно не исчезнет то и нет смысл продолжать скрипт.
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: open_78 on July 01, 2017, 09:23:19 PM
Code: (clickermann) [Select]
$_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  //  ВЫХОД
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Ramzesia on July 01, 2017, 09:43:04 PM
Спасибо большое вроде работает, пустил в работу посмотрим дальше что будет. А еще вопрос можно ли исключить из подбора числа с нулями? типа 110 120 130... 210 220 230... и т.д.
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: open_78 on July 01, 2017, 09:50:49 PM
Можно.
Code: (clickermann) [Select]
$_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  //  ВЫХОД
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: open_78 on July 01, 2017, 10:14:34 PM
Вот совсем без нолей.
Code: (clickermann) [Select]
$_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

Поправил немного. Так лучше.
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Ramzesia on July 01, 2017, 10:23:07 PM
Вот совсем без нолей.
Только хотел спросить что бы числа где есть ноль не писались) а вы уже отписали, нет слов, красота, работает как и хотелось СПАСИБО огромное)
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Ramzesia on July 29, 2017, 01:06:31 PM
А как сделать, что бы в место клавиш, кликало мышкой по кнопкам?

Code: (clickermann) [Select]
// Координаты кнопок
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
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: open_78 on July 29, 2017, 03:07:58 PM
А как сделать, что бы в место клавиш, кликало мышкой по кнопкам?
Code: (clickermann) [Select]
$_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
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Ramzesia on July 29, 2017, 03:29:16 PM
Большое спасибо.
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: женек on October 18, 2017, 11:11:00 PM
Подскажите пожалуйста как в скрипт перебора добавить еще 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  //  ВЫХОД
Title: Re: Скрипт перебора чисел от 1-го до 99999+
Post by: Oraven on October 19, 2017, 07:46:47 AM
Тебе нужно только правильно определить координату кнопки "Забронировать". Если она исчезнет то кликер увидит белый цвет и остановит выполнение.
Code: (clickermann) [Select]
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