1

Тема: Одновременное нажатие двух клавиш и проблема

Есть скрипт для бега в игре(удержанием W). Как к нему добавить одновременное удержание левой клавиши Shift(быстрый бег)?
Желаемый вид:
NumPad1 - старт
LShift+W - бесконечное удержание
NumPad1 - стоп

Второстепенный вопрос:

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

Как автоматически останавливать скрипт если игра свернута? При сворачивании без остановки продолжает нажимать где попало.


#IfWinActive, Game
  
W_NumPad1:
{
   SetKeyDelay, -1
   if( NumPad1 )
      Send, {Blind}{w DownTemp}
   else
   {
      SetTimer, W_NumPad1, OFF
      Send, {Blind}{w UP}
   }
return
}
 
NumPad1::
{
   NumPad1 := ( NumPad1 ? 0 : 1 )
   SetTimer, W_NumPad1, 40
return
}

Я совсем новенький. Буду очень признателен если измените скрипт и поясните. Спасибо!!!

2 (изменено: Alectric, 2015-02-19 22:20:34)

Re: Одновременное нажатие двух клавиш и проблема


#persistent  ; выполнять код бесконечно

IfWinNotActive, Game  ; тут должно быть название окна игры  ; если окно не активно
  if NumPad1   ; и переменная равна "true"
  {
    Sendinput,{shift up}{w up}     ; послать отпускание клавиш
    NumPad1:=!NumPad1    ; и изменить переменную на "false"
  }
return

#IfWinActive, Game  ; тут должно быть название окна игры
  
NumPad1::
NumPad1:=!NumPad1       
if NumPad1
  Sendinput,{shift down}{w Down}
else
  Sendinput,{shift up}{w up}
return

#if
Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.