1

Тема: AutoHotKey: Как остановить выполнение скрипта

Доброго времени суток. Я пользуюсь  вот такой скриптом:

 F1::Send, {1}{2}{3}

Точнее сказать спамом клавиши F1. Дело в том, что при многоразовом нажатии F1 и остановки нажатия выполнение скрипта продолжаеться. И выходит что клавиша F1 не нажата, а нажатие кнопок 1,2,3 длиться еще некоторое время. Мой вопрос: как заставить этот скрипт спамить кнопки 1,2,3 только тогда, когда я жму клавишу F1 ( нажал спамит, отпустил- не спамит)?
P.S. Использую скрипт для игры.

2

Re: AutoHotKey: Как остановить выполнение скрипта

F1::
    If GetKeyState("F1", "P")
        Send, {1}{2}{3}
Return

3

Re: AutoHotKey: Как остановить выполнение скрипта

Все работает так, как и хотелось. Огромное спасибо за помощь.:)

4 (изменено: Pet'ka, 2010-11-09 08:36:07)

Re: AutoHotKey: Как остановить выполнение скрипта

Ребят, а как сделать, пока я нажимаю и удерживаю клавишу d она же повторялась? То есть я жму d а комп должен думать, что я много раз нажимаю на d?

5

Re: AutoHotKey: Как остановить выполнение скрипта

$d::
    Send, d
    Sleep, 100
Return

6

Re: AutoHotKey: Как остановить выполнение скрипта

Большое спасибо, все отлично, все работает.

7 (изменено: uBaH, 2014-08-20 12:27:55)

Re: AutoHotKey: Как остановить выполнение скрипта

+ открыть спойлер

А вот например мне надо сделать 5-ти секундный отсчет, но иногда надо его остановить
Например:

F1::

        Send, 5{enter}
        sleep 1200
        Send, 4{enter}
        sleep 1200
        Send, 3{enter}
        sleep 1200
        Send, 2{enter}
        sleep 1200
        Send, 1{enter}
        sleep 1200                   
Return

Как сделать, чтобы его можно было остановить в любой момент?

Ответ найден.

8

Re: AutoHotKey: Как остановить выполнение скрипта

uBaH пишет:

А вот например мне надо сделать 5-ти секундный отсчет, но иногда надо его остановить
Как сделать, чтобы его можно было остановить в любой момент?

Так же, как написал YMP ТС-у.

9 (изменено: uBaH, 2014-08-20 12:27:23)

Re: AutoHotKey: Как остановить выполнение скрипта

Drugoy пишет:
uBaH пишет:

А вот например мне надо сделать 5-ти секундный отсчет, но иногда надо его остановить
Как сделать, чтобы его можно было остановить в любой момент?

Так же, как написал YMP ТС-у.

Пробовал, не помогает.
А не, помогло. Сразу не догадался, что надо ставить перед каждым действием, а не в начале.

10

Re: AutoHotKey: Как остановить выполнение скрипта

надо ставить перед каждым действием

Есть ещё вариант с таймером:


#UseHook

Keys := [["{5}{enter}", 1200]
        , ["{4}{enter}", 1200]
        , ["{3}{enter}", 1200]
        , ["{2}{enter}", 1200]
        , ["{1}{enter}", 1200]]

1:: SetTimer, Send, % "-" . (N := 0)

2:: SetTimer, Send, Off

Send: 
    If (++N > Keys.MaxIndex())
        Return 
    SendInput % Keys[N, 1]
    SetTimer, Send, % "-" . Keys[N, 2]
    Return 

По мотивам: Как организовать переключение между двумя циклами в скрипте?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui