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

Основной раздел => Использование => Topic started by: Art121 on February 25, 2021, 02:33:52 PM

Title: For (повтор нажатия)
Post by: Art121 on February 25, 2021, 02:33:52 PM
Добрый день!
Не пойму почему не работает код в таком варианте:
Code: [Select]
FOR($a=0, $a<5)
   KEYPRESS(#A)
   WAIT(1)
end_cyc
Должен нажимать кнопку "A" пять раз с перерывом 1 секунда.

Если убрать "WAIT(1)" все работает!
Title: Re: For (повтор нажатия)
Post by: Vint on February 25, 2021, 03:32:13 PM
Маленькая подсказка, если поменять A на B ведь всё работает?
Если не догадаешься дальше напишу.
Title: Re: For (повтор нажатия)
Post by: Art121 on February 25, 2021, 03:54:27 PM
Поменял на B не заработало.   (менял по очереди и переменную и "Кнопку нажатия"), но не работало.

Вернул на А, заработало, не знаю как и почему.
Подскажите? :)
Title: Re: For (повтор нажатия)
Post by: kiril on February 25, 2021, 04:10:04 PM
Подскажите? :)
это называется Магия! ;)
Title: Re: For (повтор нажатия)
Post by: Vint on February 25, 2021, 04:11:37 PM
Дело в горячих клавишах. Запуск, он же пауза Alt+A
Скрипт очень простой и самым первым действием жмётся A
При старте ГК альт отпустить не успеваешь и кликер сам себя ставит на паузу!
Горячие Клавиши проверяются с определённым периодом. И если задержки нет, не успевают сработать.

Но и это ещё не всё. Будет печататься на 1 штуку меньше. Потому что во многих программах ALT это переключение на меню окна. Следующее нажатие ожидается как выбор пункта.

Короче. Или меняй ГК запуска скрипта на безальтовые и в твоём случае без A или ставь в начале скрипта задержку при старте этим поборешь паузу по A
Code: (clickermann) [Select]
WAITMS(500)
FOR($a=0, $a < 5)
    KEYPRESS(#A)
    WAITMS(1000)
end_cyc
HALT

А чтобы проблем никогда небыло, если скрипт первыми действиями жмёт кнопки, то чтобы беспроблемно запускать и с кнопки и с ГК нужно первым действием кликнуть по заголовку нужного окна. Этим переключится на него фокус (если запускаем кнопкой пуск) и скинет ALT (если запускаем горячими клавишами)
Code: (clickermann) [Select]
LCLICK(2508, 211)
WAITMS(200)

FOR($a=0, $a < 5)
    KEYPRESS(#A)
    WAITMS(1000)
end_cyc
HALT
Title: Re: For (повтор нажатия)
Post by: Art121 on February 25, 2021, 04:33:57 PM
Спасибо!  :)