2017-01-27 5 views
1

シングルキー(私のスペースバー)を押すと、5つのボタンを同時に押すExileのパス(私がプレイしているゲーム)のautohotkeyを書いています。現在、スペースバーを押すと、オートホットキーでもq、e、w、スペース、Zが押されます(全5)Enterキーを押してゲームでチャットをするときにオートホットキットをオフにするにはどうすればよいですか?

ただし、チャットしてスペースバーを押すと「qew z」が入力されます私のチャット。これは非常に面倒なので、私は修正を作成しました: "キーボードのEnterキーを押したときに自動ホットキースクリプトをオフにして、Enterキーを押したときに再びオン/オフに切り替える" (ほとんどのゲームはチャットを開始するためにエンターキーを使用します)これはうまくいきましたが、しばらくしてからスクリプトがゲームと同期しなくなります。私がチャットしているときには、チャットを中断し、チャットを終えたらオフになります。

この問題は、私がシフトやコントロールを押して同時に入力した結果であることがわかりました。これはチャットを開きますが、スクリプトを一時停止しません。これを修正するために、私は入力スクリプトの前に^と+を追加しましたが、それでも同期を外す方法を見つけ出しています!!

注:#Ifwinactive、Exileのパスがない場合にこのスクリプトがトリガーされないように、Exileのパスが先頭にあります。それは完璧に働く(私は思う)。

以下のコードを確認してください。私は2つの質問があります:

  1. ゲーム内のチャットとスクリプトが同期しなくなる原因は何ですか?

  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 
+1

必ずしもあなたが望むものが、あなたは出ていたかもしれないとして、あなたのスクリプトを破るために多くの方法があります。例えば。ゲームが遅れて2回Enterキーを押すと1ヒットだけが登録されます。おそらく、あなたは 'Esc'または他の何らかのキーでチャットを離れることができるので、AHKはそれが再度アクティブになっていることを知らないでしょう。より信頼性の高いソリューションに切り替えることができます。ここにいくつかの提案があります:1)通常のスペースまたはあなたの特別な機能のためのユニークなホットキー( '^ Space'やクイック" double space "など)を作成します。 2)同期していないときにスクリプトを常に一時停止する「再有効化」ホットキーを定義します。 – MCL

+0

私は間違いなくエスケープキーまたはダブルプレスを見ます。決してそれを考えなかった:) –

答えて

2

ワイルドカード*アスタリスクはあなたが望むものです。これは、キーの任意の組み合わせが押されていても、ホットキーがトリガーできるようにすることによって機能します。コードを繰り返す必要はありません。空白のホットキーを押すと、下にあるホットキーがトリガーされます。繰り返しますが、あなたのようにすべてのキーをタイプする必要はありません。それらをインラインで整理して整理して整頓させる。

試してみてください。

SendMode Input 

#Ifwinactive, Path of Exile 

^Space:: 
$Space::Send, qew{Space}z 

*~Enter::Suspend 
関連する問題