Author Topic: Скрипт перебора чисел от 1-го до 99999+  (Read 12935 times)

0 Members and 1 Guest are viewing this topic.

Light

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Здравствуйте, пользователи.
Познакомился с вашей программой совсем не давно, но ужасно ей доволен.
Возникла потребность в создании такого рода скрипта:
У меня есть окошко, в которое надо вести число, допустим, 1 затем 2, затем 3 и так до 99999+
Но после каждого ввода цифры должен происходить клик по определенной точке экрана и задержка на определенное время.
Возможно ли такое реализовать? Буду очень благодарен за помощь.

stivus

  • Освоившийся
  • **
  • Posts: 35
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #1 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
« Last Edit: July 10, 2013, 07:13:42 AM by stivus »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #2 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

И нельзя писать знак $ в коментах
« Last Edit: July 10, 2013, 03:31:49 AM by Oraven »

stivus

  • Освоившийся
  • **
  • Posts: 35
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #3 on: July 10, 2013, 06:54:05 AM »
А чем в данном случае for лучше чем while?На самом деле совершенно без разницы,это хоть через if'ы можно организовать,хотя менее удобно,главное чтоб человек понял,что ему нужен цикл.
И для for перед циклом надо инициализировать $i со значением 1,ибо впечатает ему 0 на первом шаге(как,впрочем,и при while)
Упс,таки у меня неправильно))-не инкременировал $i...Отредактировал
« Last Edit: July 10, 2013, 07:13:00 AM by stivus »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #4 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

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #5 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

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #6 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 года? Многие примеры в них не актуальны на сегодняшний день.
« Last Edit: July 01, 2017, 08:51:30 PM by open_78 »

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #7 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

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #8 on: July 01, 2017, 08:57:06 PM »
А вот так как то не лучше? Просто не соображу как выйти из цикла если окно пропало.
Не лучше. Проверка картинки лучше в цикле.

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #9 on: July 01, 2017, 09:03:50 PM »
А в твоем случае если картинка не найдется произойдет выход из цикла? Скрип пойдет дальше?

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #10 on: July 01, 2017, 09:06:08 PM »
А в твоем случае если картинка не найдется произойдет выход из цикла? Скрип пойдет дальше?
Конечно. Это происходит в 11 строке. Для этого мы ставим условие внутрь цикла, что-бы иметь такую возможность.
« Last Edit: July 01, 2017, 09:09:28 PM by open_78 »

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #11 on: July 01, 2017, 09:10:47 PM »
Конечно. Это происходит в 11 строке.
Либо я туплю либо ты меня не понял. Мне нужно что бы цикл закончился при условии что окна ввода уже нету а в 11 строке как я понимаю он выйдет только при вводе "1000". Да и если окно не исчезнет то и нет смысл продолжать скрипт.
« Last Edit: July 01, 2017, 09:13:29 PM by Ramzesia »

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #12 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  //  ВЫХОД

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #13 on: July 01, 2017, 09:43:04 PM »
Спасибо большое вроде работает, пустил в работу посмотрим дальше что будет. А еще вопрос можно ли исключить из подбора числа с нулями? типа 110 120 130... 210 220 230... и т.д.

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Скрипт перебора чисел от 1-го до 99999+
« Reply #14 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  //  ВЫХОД