我正在嘗試創建熱鍵來模擬我在玩的在線遊戲中的輸入緩衝,該遊戲本身並不支持輸入緩衝,意思是搗毀一個咒語鍵,以便在前一個咒語完成投擲後熄滅是最好的方法手動執行。如何在AutoHotkey中將多個類似的熱鍵濃縮爲一個熱鍵?
在熱鍵的幫助下,我可以通過按住我的按鍵以最小的延遲來循環按鍵,以便它發送完成前一個咒語的瞬間。
但是爲每個按鈕創建多個熱鍵我已將鍵盤綁定到拼寫上,這似乎很乏味,我不確定如何使用一組定義的鍵將這些熱鍵壓縮成一個(即1到6和F1通過F6)
我的代碼示例片段至今只有3個考慮鍵:
$5::
{
Loop
{
Loop, 5
{
Send, 5
Sleep, 1
}
GetKeyState, state, 5
if state = U
break
}
return
}
$2::
{
Loop
{
Loop, 5
{
Send, 2
Sleep, 1
}
GetKeyState, state, 2
if state = U
break
}
return
}
$F2::
{
Loop
{
Loop, 5
{
Send, {F2}
Sleep, 1
}
GetKeyState, state, F2
if state = U
break
}
return
}
我試圖濃縮成這樣的事情,如果可能的話:
hotkeys := [5, 2, F2]
hotkeyCount := hotkeys.MaxIndex()
curKey := 1
Loop, hotkeyCount
{
hotkeyIndex := hotkeys[curKey]
$%hotkeyIndex%::
{
Loop
{
Loop, 5
{
Send, {%hotkeyIndex%}
Sleep, 1
}
GetKeyState, state, %hotkeyIndex%
if state = U
break
}
return
}
curKey := curKey + 1
}
有沒有辦法做到這一點不爲每個熱鍵綁定創建單獨的線?這似乎並沒有被壓縮,除非我失去了一些東西......我不介意如果按鍵不能一起按下,我介意製作16個不同的熱鍵,而不僅僅是輸入一個字母到數組中將該密鑰添加到我的腳本 – Erin
@Erin您必須編寫熱鍵,否則您將如何獲得不同的操作?你在你的例子中定義了3個熱鍵和一些他們執行的動作。考慮到它們的大小,我的例子實際上更加緊湊。 – 2501
我編輯我的帖子,也許我的例子比我更好地澄清我試圖解釋我正在試圖用語言來完成 – Erin