1

Тема: Deus Ex: Имитация удержание клавиши

Когда нажимает "C" персонаж в игре приседает, но стоит отпустить клавишу "C" как он тут же встаёт.
Помогите со скриптом, что бы нажал - персонаж присел, отпустил клавишу "C" а он всё равно бы сидел, пока повторно не нажмёшь клавишу "C". Для игры Deus Ex (самая первая)

2

Re: Deus Ex: Имитация удержание клавиши

Доброго времени суток. Попробуйте так.

*$vk43::  ; кнопка с
Radio := !Radio 
if Radio
sendInput, {vk43 Down} ; кнопка с нажать
if !Radio
sendInput, {vk43 Up} ; кнопка с отпутить
return
OS: Win7x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

3

Re: Deus Ex: Имитация удержание клавиши

Ядрён
А автоповтор без отжатия клавиши, как реализовать?
У меня получилось только через таймер.

lUpper:
  if (fUp = False)
        Send {Up Down}
      Else 
        Send {Up Up}
Return

gTimerUpperOff:
  Send {%Tmp_A_ThisHotkey% Down}
   KeyWait, % Tmp_A_ThisHotkey
  Send {%Tmp_A_ThisHotkey% Up}
Return

Enter::
Right::
Left::
Down::
  Tmp_A_ThisHotkey  := A_ThisHotkey
  Gosub gTimerUpperOff
  If (fUp = False)
        fUp :=   True
Return

Up::
  Tmp_A_ThisHotkey  := A_ThisHotkey
  If (fUp)
      Gosub gTimerUpperOff
    Else
      {
        fUp :=   True
        Send {Up Up}
      }
Return

<+Up::
  If (fUp)
    {
      fUp :=  False 
      SetTimer lUpper,On
      Gosub lUpper
      Sleep 250
      Send {p Down}
        KeyWait, % A_ThisHotkey
      Send {p Up}

      Send {p Down}
        Sleep 550
      Send {p Up}
      
      Send {p Down}
        KeyWait, % A_ThisHotkey
      Send {p Up}
    }
Return
"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AHK 1.1.25.05

4

Re: Deus Ex: Имитация удержание клавиши

Indomito, так?:

vk54:: ; T
Gosub % "Key" a := (!a || a = 4) ? 1 : a + 1
return
Key1:
 SendInput F
Return
Key2:
 SendInput D
Return
Key3:
 SendInput S
 return
Key4:
 SendInput B
Return

5 (изменено: Indomito, 2017-04-21 04:17:31)

Re: Deus Ex: Имитация удержание клавиши

svoboden
Проверил - нет автоповтора нажатой клавиши.
У меня LShift+Up зажимает стрелку вверх, т.е. Up, и выдает автоповтор клавиши Up без обтжатия, до события.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AHK 1.1.25.05

6 (изменено: svoboden, 2017-04-21 23:25:19)

Re: Deus Ex: Имитация удержание клавиши

Indomito, что значит, нет автоповтора и до какого события? Это какие-то простые скрипты, могли бы и сами разобраться.

7

Re: Deus Ex: Имитация удержание клавиши

svoboden
Да, я давно сам сделал, просто зажатие и автоповтор вещи разные.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AHK 1.1.25.05

8

Re: Deus Ex: Имитация удержание клавиши

Так?

vk43::
send, {vk43 down}
KeyWait,vk43, u
KeyWait,vk43, d
send, {vk43 up}
Indomito пишет:

А автоповтор без отжатия клавиши, как реализовать?

$c::
SetTimer,d,300,On
KeyWait,c, u
KeyWait,c, d
SetTimer,d,off
return
d:
send,{c}
return

9

Re: Deus Ex: Имитация удержание клавиши

cahtbap1
Ну я так и сделал, только у меня автоповтор+удержание.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AHK 1.1.25.05