我已经为流放之路(我正在玩的游戏)编写了一个自动热键,当我按下一个键(我的空格键)时一次按下 5 个按钮。目前,当我按下空格键时,自动热键也会按下 q、e、w、空格和 Z。(全部 5 个)
但是,当我聊天并按空格键时,我会在聊天中输入“qew z”。这非常烦人,所以我创建了一个修复程序:“当我按下键盘上的 Enter 键时关闭自动热键脚本,然后在我再次按下 Enter 时将其重新打开。” (大多数游戏使用回车键开始聊天)这有效,但一段时间后我的脚本会与游戏不同步。它会在我聊天时打开,打断我的聊天,然后在我聊天结束时关闭。
我发现这个问题有时是我同时按下 shift 或 control 和 Enter 的结果。这会打开聊天,但不会暂停脚本。为了解决这个问题,我在输入脚本前添加了 ^ 和 +,但它仍在寻找不同步的方法!!!!
注意:#Ifwinactive,流放路径位于顶部,以防止在我没有打开流放路径时触发此脚本。这非常有效(我认为)。
请在下面检查我的代码。我有两个问题:
是什么导致我的脚本与游戏中的聊天不同步?
什么是我的问题的最佳解决方案,以便在我打开聊天时脚本不会运行,并且在我结束聊天时总是再次运行?
提前致谢!
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn ; Recommended for catching common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#Ifwinactive, Path of Exile
Space::
Send {q}
Send {e}
Send {w}
Send {Space}
Send {z}
Return
^Space::
Send {q}
Send {e}
Send {w}
Send {Space}
Send {z}
Return
~Enter::
Suspend Permit
Suspend
Return
~!Enter::
Suspend Permit
Suspend
Return
~^Enter::
Suspend Permit
Suspend
Return
~+Enter::
Suspend Permit
Suspend
Return