Author Topic: For (повтор нажатия)  (Read 3267 times)

0 Members and 1 Guest are viewing this topic.

Art121

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
For (повтор нажатия)
« 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)" все работает!
« Last Edit: February 25, 2021, 02:50:01 PM by Art121 »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: For (повтор нажатия)
« Reply #1 on: February 25, 2021, 03:32:13 PM »
Маленькая подсказка, если поменять A на B ведь всё работает?
Если не догадаешься дальше напишу.


Art121

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: For (повтор нажатия)
« Reply #2 on: February 25, 2021, 03:54:27 PM »
Поменял на B не заработало.   (менял по очереди и переменную и "Кнопку нажатия"), но не работало.

Вернул на А, заработало, не знаю как и почему.
Подскажите? :)
« Last Edit: February 25, 2021, 04:10:20 PM by Art121 »

kiril

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: For (повтор нажатия)
« Reply #3 on: February 25, 2021, 04:10:04 PM »
Подскажите? :)
это называется Магия! ;)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: For (повтор нажатия)
« Reply #4 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


Art121

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: For (повтор нажатия)
« Reply #5 on: February 25, 2021, 04:33:57 PM »
Спасибо!  :)