シングルキー(私のスペースバー)を押すと、5つのボタンを同時に押すExileのパス(私がプレイしているゲーム)のautohotkeyを書いています。現在、スペースバーを押すと、オートホットキーでもq、e、w、スペース、Zが押されます(全5)Enterキーを押してゲームでチャットをするときにオートホットキットをオフにするにはどうすればよいですか?
ただし、チャットしてスペースバーを押すと「qew z」が入力されます私のチャット。これは非常に面倒なので、私は修正を作成しました: "キーボードのEnterキーを押したときに自動ホットキースクリプトをオフにして、Enterキーを押したときに再びオン/オフに切り替える" (ほとんどのゲームはチャットを開始するためにエンターキーを使用します)これはうまくいきましたが、しばらくしてからスクリプトがゲームと同期しなくなります。私がチャットしているときには、チャットを中断し、チャットを終えたらオフになります。
この問題は、私がシフトやコントロールを押して同時に入力した結果であることがわかりました。これはチャットを開きますが、スクリプトを一時停止しません。これを修正するために、私は入力スクリプトの前に^と+を追加しましたが、それでも同期を外す方法を見つけ出しています!!
注:#Ifwinactive、Exileのパスがない場合にこのスクリプトがトリガーされないように、Exileのパスが先頭にあります。それは完璧に働く(私は思う)。
以下のコードを確認してください。私は2つの質問があります:
ゲーム内のチャットとスクリプトが同期しなくなる原因は何ですか?
チャットが開いているときにスクリプトが実行されないように、チャットを終えたときに常に実行されるように、私の問題の最善の解決策は何ですか?
ありがとうございます!
#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
必ずしもあなたが望むものが、あなたは出ていたかもしれないとして、あなたのスクリプトを破るために多くの方法があります。例えば。ゲームが遅れて2回Enterキーを押すと1ヒットだけが登録されます。おそらく、あなたは 'Esc'または他の何らかのキーでチャットを離れることができるので、AHKはそれが再度アクティブになっていることを知らないでしょう。より信頼性の高いソリューションに切り替えることができます。ここにいくつかの提案があります:1)通常のスペースまたはあなたの特別な機能のためのユニークなホットキー( '^ Space'やクイック" double space "など)を作成します。 2)同期していないときにスクリプトを常に一時停止する「再有効化」ホットキーを定義します。 – MCL
私は間違いなくエスケープキーまたはダブルプレスを見ます。決してそれを考えなかった:) –