Author Topic: Цикл при зажатой клавише  (Read 7390 times)

0 Members and 1 Guest are viewing this topic.

Noname

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Цикл при зажатой клавише
« on: October 06, 2013, 12:10:19 PM »
Всем добрый день
Вобщем нужно:
Зажимается клавиша (пусть будет N )- начинается цикл, состоящий из двух клавиш, но цикл должен до тех пор, пока клавиша "N"не будет отпущена.

Я вижу в общих чертах так:
Code: [Select]
IF (ISKEYDOWN(#N)) \\Если была зажата клавиша N
KEYPRESS #M   \\ Нажимается клавиша M
LCLICK(-1,-1)    \\ Затем к примеру кликается лкм
WAITMS (1)
END_IF

Где я ошибся?)))

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Цикл при зажатой клавише
« Reply #1 on: October 06, 2013, 12:49:42 PM »
Найди отличия

Code: (clickermann) [Select]
IF (ISKEYDOWN(#N) = 1) //Если была зажата клавиша N
   KEYPRESS (#M)   // Нажимается клавиша M
   WAITMS (50)
   LCLICK(-1,-1)    // Затем к примеру кликается лкм
   WAITMS (50)
END_IF

Noname

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Цикл при зажатой клавише
« Reply #2 on: October 06, 2013, 06:16:53 PM »
Спасибо, выставление задержки помогло, но а как сделать, чтобы была зацикленность. Т.е. пока я держу клавишу, нажималась та же самая клавиша и щелчок лкм.
Если поставить "до принудительной остановки", он щелкает один раз и заного отрабатывает макрос и не видет что зажата клавиша.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Цикл при зажатой клавише
« Reply #3 on: October 06, 2013, 06:34:03 PM »
Последняя версия 4.7 SE 002 и так работает всегда "до принудительной остановки".

Укажи другую свободную клавишу как в скрипте чтобы они не пересекались, нельзя одновременно держать и нажимать одну и туже клавишу.

Также нужно добавить задержку холостого хода чтоб снизить нагрузку на проц
Code: (clickermann) [Select]
IF (ISKEYDOWN(#N) = 1)
   KEYPRESS (#M)
   WAITMS (50)
   LCLICK(-1,-1)
   WAITMS (50)
Else
   WAITMS (20)
END_IF