1 (изменено: slavafedora, 2017-02-20 05:44:32)

Тема: AHK: Ожидание нажатия

Решено, код убрал из своих соображений.

2

Re: AHK: Ожидание нажатия

Вариант, если из 3 можно нажать 2 раза любую.


#SingleInstance Force
#NoEnv

#if !wait && (wait := 1)
1::
	Traytip,, Нажмите Num1`,2`,3
	SetTimer, reset, -5000 
	Return
	
#if wait
Numpad1::
Numpad2::
Numpad3::
	SetTimer, reset, % ((wait := wait + 1 = 3 ? 0 : wait + 1) = 3 ? "Off" : -5000)
	Traytip,, % "Нажали " (A_ThisHotkey = "Numpad1" ? "Num1" : A_ThisHotkey = "Numpad2" ? "Num2" : "Num3")
	Return

reset:
	Traytip,, Время истекло
	wait := 0
	Return
	
#if
По вопросам возмездной помощи пишите в личку
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.00 (Unicode 32-bit).

3 (изменено: slavafedora, 2017-02-20 05:44:54)

Re: AHK: Ожидание нажатия

Почти так.

4 (изменено: serzh82saratov, 2017-02-05 22:03:29)

Re: AHK: Ожидание нажатия

#SingleInstance Force
#NoEnv

#if !wait && (wait := 1)
1::
	addChatMessage("Нажмите Num1, Num2 или Num3")
	SetTimer, reset, -5000 
	Return
	
#if wait
Numpad1::
Numpad2::
Numpad3::
	SetTimer, reset, % (!(wait := ++wait = 3 ? 0 : wait) ? "Off" : -5000) 
	AddChatMessage("Нажали " (A_ThisHotkey = "Numpad1" ? "Num1" : A_ThisHotkey = "Numpad2" ? "Num2" : "Num3"))
	Gosub % (A_ThisHotkey = "Numpad1" ? "proc1" : A_ThisHotkey = "Numpad2" ? "proc2" : "proc3")
	Return
#if

proc1:
	MsgBox,,,% A_ThisLabel,0.4
	Return
proc2:
	MsgBox,,,% A_ThisLabel,0.4
	Return
proc3:
	MsgBox,,,% A_ThisLabel,0.4
	Return
	
reset:
	AddChatMessage("Время истекло")
	wait := 0
	Return
+ Без повтора одной и той же клавиши.

#SingleInstance Force
#NoEnv

#if !wait && (wait := 1, arr := {})
1::
	addChatMessage("Нажмите Num1, Num2 или Num3")
	SetTimer, reset, -5000 
	Return

#if wait && !arr[A_ThisHotkey] && arr[A_ThisHotkey] := 1
Numpad1::
Numpad2::
Numpad3:: 
	SetTimer, reset, % (!(wait := ++wait = 3 ? 0 : wait) ? "Off" : -5000) 
	AddChatMessage("Нажали " (A_ThisHotkey = "Numpad1" ? "Num1" : A_ThisHotkey = "Numpad2" ? "Num2" : "Num3"))
	Gosub % (A_ThisHotkey = "Numpad1" ? "proc1" : A_ThisHotkey = "Numpad2" ? "proc2" : "proc3")
	Return
#if

proc1:
	MsgBox,,,% A_ThisLabel,0.4
	Return
proc2:
	MsgBox,,,% A_ThisLabel,0.4
	Return
proc3:
	MsgBox,,,% A_ThisLabel,0.4
	Return
	
reset:
	AddChatMessage("Время истекло")
	wait := 0
	Return
По вопросам возмездной помощи пишите в личку
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.00 (Unicode 32-bit).

5 (изменено: slavafedora, 2017-02-12 17:35:42)

Re: AHK: Ожидание нажатия

serzh82saratov
Спасибо большое за помощь, что старались.
Нашел более простой и удобный способ.