1 (изменено: Пытка, 2017-02-02 15:51:52)

Тема: Непрерывное действие совершается только при зажатой одной кнопки

Как сделать, что бы непрерывной действие совершалось только при зажатой кнопки допустим "1".
Вот что у меня получилось:


   1::
   Loop
      {
         Send, {g down}{g up}
         Sleep, 270
         If GetKeyState("A", "P") = 0
            Break
      }
   Return

Проблема в том, что когда я отпускаю кнопку "1" действие продолжает работать. Делаю под игру GTA SA-MP.

2

Re: Непрерывное действие совершается только при зажатой одной кнопки

Пытка
Найдите отсутствующие точки в конце всех предложений. До правки ответы запрещены.

3

Re: Непрерывное действие совершается только при зажатой одной кнопки

Flasher
Точки в обычных предложениях или в скрипте? Если в скрипте, то я не знаю куда там вставлять.

4

Re: Непрерывное действие совершается только при зажатой одной кнопки

Пытка
В коде скрипта важно соблюсти точный синтаксис, поэтому речь может идти только о предложениях.
А вот в конце заголовка как раз этого делать не надо. Убрал. Доступ к ответам открыт.

5 (изменено: Indomito, 2017-02-04 06:09:14)

Re: Непрерывное действие совершается только при зажатой одной кнопки

Пытка пишет:

Проблема в том, что когда я отпускаю кнопку "1" действие продолжает работать.

Ты просто не проверяешь на выход из бесконечного цикла, т.е. проверяешь не верно.
Надо проверять клавишу 1, а не клавишу A.

Вот так работает.

1::
  While (GetKeyState("1", "P"))
    {
      Send, {g down}{g up}
      Sleep, 270
     }
Return

Хотя можно проще.

1::
      Send, {g down}{g up}
      Sleep, 270
Return

Это обычная подмена 1 -> g.

Может ты другое хочешь сделать?

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download