Author Topic: 100 и более кликов за одно нажатие  (Read 2440 times)

0 Members and 1 Guest are viewing this topic.

Kolobok

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
100 и более кликов за одно нажатие
« on: April 02, 2019, 05:28:03 PM »
Помогите плиз
Нужно чтобы при нажатии клавиши производилось 100/1000/10000/10000 кликов и останавливался
Одно нажатие = 100/1000 и более кликов
Типо двоного клика

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: 100 и более кликов за одно нажатие
« Reply #1 on: April 02, 2019, 06:54:03 PM »
Code: (clickermann) [Select]
if(iskeydown(1)=1)   //если нажал левую кнопку мыши
   
   WHILE(iskeydown(1)=1) //ждем, пока не отпустишь левую кнопку мыши
      waitms(50)
   END_CYC
   
   
   FOR($a=0,$a<100) //ПОВТОРИТСЯ 100 РАЗ
      LCLICK($_xmouse,$_ymouse)  // будет кликать левой кнопкой мыши там где курсор
      waitms(20)   //задержка между кликами в миллисекундах
   END_CYC
   
else
   waitms(50)// задержка, ожидание нажатия левой кнопки мыши.
end_if

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: 100 и более кликов за одно нажатие
« Reply #2 on: April 02, 2019, 07:18:09 PM »
+ смена режимов, но я не уверен, что это самый удачный вариант  :D
Code: (clickermann) [Select]
IF(ISKEYDOWN(18) = 1)
   GETKEYSDOWN($array_buttons)
   IF(ARRSIZE($array_buttons) > 2)
      SWITCH($array_buttons[1])
      CASE(49)
         $num_click = 100     // ALT + 1
      CASE(50)
         $num_click = 100*10  // ALT + 2
      CASE(51)
         $num_click = 100*100 // ALT + 3 
      END_SWITCH
      WHILE(ISKEYDOWN(18) = 1)
         WAITMS(25)
      END_CYC
   END_IF   
END_IF
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: 100 и более кликов за одно нажатие
« Reply #3 on: April 02, 2019, 08:08:35 PM »
+ смена режимов, но я не уверен, что это самый удачный вариант  :D

Вариант удачный. Немного переделал и объединил.

Code: (clickermann) [Select]
define($num_click, 100) //начальное значение повторов кликов

WHILE(iskeydown(1)=1) //ждем, пока не отпустишь левую кнопку мыши (при нажатии на кнопку старт  кликермана)
   waitms(50)
END_CYC

WHILE(1)   //бесконечный цикл
   
   IF(ISKEYDOWN(18) = 1)
     
      WHILE((ISKEYDOWN(49) = 0)&(ISKEYDOWN(50) = 0)&(ISKEYDOWN(51) = 0)&(ISKEYDOWN(18) = 1)) //пока не нажмем кнопку 1-3 - ожидание
         waitms(20)
      END_CYC
     
      GETKEYSDOWN($array_buttons)
      IF(ARRSIZE($array_buttons) > 2)
         SWITCH($array_buttons[1])
            CASE(49)
               $num_click = 100    // ALT + 1
            CASE(50)
               $num_click = 1000  // ALT + 2
            CASE(51)
               $num_click = 10000 // ALT + 3
         END_SWITCH
         WHILE(ISKEYDOWN(18) = 1)
            WAITMS(25)
         END_CYC
      END_IF
      print($num_click," повторов.")  //смотрим в логе количество повторов
     
   END_IF
   
   if(iskeydown(1)=1)   //если нажал левую кнопку мыши
     
      WHILE(iskeydown(1)=1) //ждем, пока не отпустишь левую кнопку мыши
         waitms(50)
      END_CYC
     
     
      FOR($a=0,$a < $num_click) //ПОВТОРИТСЯ $num_click РАЗ
         LCLICK($_xmouse,$_ymouse)  // будет кликать левой кнопкой мыши там где курсор
         waitms(20)   //задержка между кликами в миллисекундах
      END_CYC
     
   else
      waitms(50)// задержка, ожидание нажатия левой кнопки мыши.
   end_if
   
END_CYC

У меня при нажатии на левый альт, GETKEYSDOWN($array_buttons) выдает два элемента. Второй =164 (Left MENU key)   :-\

А теперь катите тему вместе  колобком в другой раздел, типа он от бабушки ушёл...  ;D

У нас нет полномочий для таких махинаций  :D


Добавлено:

Скрипт был не совсем рабочий, исправил. Ожидание отпускания кнопки при старте вынес за пределы основного кода. Теперь это ожидание выполнится только при старте, так как и положено.
« Last Edit: April 03, 2019, 11:13:58 AM by dramster »