TITLE:Auto Hot Key
配布ページ:https://autohotkey.com/download/
解説Wiki:http://ahkwiki.net/Top
~
スクリプト編集による高い自由度が利点の汎用入力補助ツール。
Grindawn用のものではないですが、とても便利なので
使用法と簡単なスクリプトを紹介します。

なお、当ページに掲載されているスクリプト例を含め
使用により何が起きても自己責任ということをご了承ください。
~
*インストールと使用法 [#yb17e5b4]
インストーラーをタウンロードして任意の場所にインストールしてください。
拡張子 .ahk ファイルが関連付けされ、ダブルクリックで実行できるようになります。
テキストエディタでスクリプトを書いたら、拡張子を .txt から .ahk に変更してください。
AutoHotKey本体には特にUIなどはなく、.ahk ファイルを実行するためだけのものです。
詳しいスクリプトの書式、各コマンドの意味は上記Wikiを参照してください。

*スクリプト例 [#y9e20253]
 #IfWinActive,ahk_exe grim dawn.exe
テキストエディタを開き、まず上記の一文をコピペしてください。
これを書くことで、そのファイルはGrimdawnがアクティブなときのみ有効になります。
**左クリック固定 [#b8e5d7d4]
 XButton1::
 Send,{LButton Down}
 Return
マウスのサイドボタン(ボタン4、戻るボタン)を押すことで
左クリックが押しっぱなしになります。左クリックで解除されます。
固定中はカーソルを動かすだけで移動と攻撃(左クリックスキル)ができますが
拾う、話す、入るなどの動作をする場合は固定を解除する必要があります。

**スキル連続使用 [#p7c5736b]
 RButton::
 Sleep 400
 Send {1 down}
 Sleep 300
 Send {1 up} 
 Send {2 down}
 Sleep 300
 Send {2 up} 
 Send {3 down}
 Sleep 300
 Send {3 up} 
 (以下、任意で追加)
 Return
右クリックスキルを使用したあと、スキルスロット1から順番に
記述したものまで続けてスキルを使用します。
スキルスロット変更は Send 後の数字を、ウェイト調整は Sleep の数字(ミリ秒)を変更してください。
アイテムの売却やコンポーネント使用時にスキルが暴発しますが仕様です。

*補足 [#t25a58e0]
サンプルをAutoHotKey本体が不要の実行ファイル形式に変換してアップすることもできますが
.exeファイルになるため誰も起動したくないと思うのでやめときます。
とりあえず試したい場合は、AutoHotKeyをインストール後
以下の内容をコピペしたテキストファイルを作り、拡張子を .ahk に変更して実行してみてください。
#region(サンプルスクリプト)
#IfWinActive
XButton1::
Send,{LButton Down}
Return&br;
RButton::
Sleep 400
Send {1 down}
Sleep 300
Send {1 up} 
Send {2 down}
Sleep 300
Send {2 up} 
Send {3 down}
Sleep 300
Send {3 up} 
Send {4 down}
Sleep 300
Send {4 up} 
Send {5 down}
Sleep 300
Send {5 up} 
Return
#endregion
マウスサイドボタンで左クリック固定、右クリックでスキル1~5を使用します。
終了するときはタスクトレイにある緑の「H」アイコンを右クリックし「Exit」を選んでください。
敵に突っ込んでスキルを端から使いまくる脳筋型に向いたスクリプトです。

よかったら修正案やご自身が使用しているスクリプト、その他ご意見など
加筆修正をお願いします。

**脳筋用スクリプト Ver.2 [#w0ea1afd]
#region(内容)
 #IfWinActive,ahk_exe grim dawn.exe
 
 Wait := 300			; スキル使用間隔(ミリ秒)
 
 XButton1::
 Send,{LButton Down}
 Rapid := 1
 Loop {
 	Send,1			; 移動(突進)スキル推奨
 				; ※自動使用スキルを増やすには、ここに「Send,n」を追加し(※続く↓)
 	Sleep 200		; 連打間隔
 	Send,{LButton Up}
 	Send,z			;「拾う」用
 	if Rapid = 0
 		Break
 	Send,{LButton Down}
 }
 Return
 
 ~LButton::			; 連打解除フラグ
 Rapid := 0
 Return
 
 RButton::			; スロット2~7スキル
 if Rapid = 0
	Return
 Sleep Wait			; (※続き)追加した分の「Sleep Wait」と
 Send,2				; Send,nを削除してください
 Sleep Wait
 Send,3
 Sleep Wait
 Send,4
 Sleep Wait
 Send,5
 Sleep Wait
 Send,6
 Sleep Wait
 Send,7
 Return
#endregion

突進と通常代替スキルを併用するスクリプトです。
マウスサイドボタンを押してマクロをONにすることで
左クリックを固定しつつ「1」「z」キーを連打(約5回/秒)、左クリックで解除します。
左クリックに通常代替スキル、スロット1に突進もしくは非タゲ時に発動しないスキル、zに「拾う」の割り当てを推奨します。
右クリックはスロット2~7を連続で使用します。ビルドに合わせて内容を編集してください。
上記のサンプルと違い左クリックを常に押し直しているため、
ホールド中は開ける、入る、拾う、話すなどを勝手にしてしまいます。
左クリックしたままカーソルをヘルスバーなどの上に移動させてスキル(数字)キーを押すと
なぜかホールドが解除されてしまうため、このような仕様になりました。

※ウィンドウモードでの注意
 サイドボタンでマクロ有効化中に、Grindawnがアクティブのままマウスカーソルをウィンドウ外に移動させると
 カーソル下にあるアプリに悪さをすることがあります。窓から出さないようにご注意ください。

(18/11/21)「拾う」の位置変更。GrimInternalsほどではないですが、多少は拾いやすくなったはず。
(19/10/31)右クリック時のスキル連続使用を、マクロON(左クリック固定)時のみ動作するように変更。

~
**チャージスキル 複数同時に運用 [#w0ea1afd]
#region(内容)
#IfWinActive

LButton::            :左クリック時の動作を以下に記述(左クリックはトロールレイジなどをセット)

 Loop              :ループ開始位置
 {
 Sleep, 361           :待機時間をミリ秒で指定(秒間攻撃回数を1で割った数字の小数点1~3位を記入)
 GetKeyState, state,Lbutton , P :左クリックのキー状態を取得 
 if state = D           :もし押下され続けているなら
 send, {0 down}         :[0]キーを押し下げる(ショートカット0に他のチャージスキルをセット)
 Sleep, 361           :押し下げた状態で待機する時間(上の数字と同じ)
 send, {0 up}          :押し下げた状態を解除
  }
return


Shift & LButton::        :シフト+左クリック時の動作を以下に記述(左クリックの内容をコピペ)

 Loop
 {
 Sleep, 361
 GetKeyState, state,Lbutton , P
 if state = D 
 send, {0 down}
 Sleep, 361
 send, {0 up}
  }
return


LButton & Shift::        :左クリック+シフト時の動作を以下に記述(左クリックの内容をコピペ)

 Loop
 {
 Sleep, 361
 GetKeyState, state,Lbutton , P
 if state = D 
 send, {0 down}
 Sleep, 361
 send, {0 up}
  }

return
#endregion

複数のチャージスキルを同時に運用できる夢のスクリプトです。
サンプルは左クリック・ショートカットキー0の2つのスキルを左クリック押しっぱなしの間だけ自動で順番に発動します。
(スクリプトはLButton:: から3つ目のreturnまでで1つです。罫線のような枠で3分割されてますが枠の消し方がわからないです)

左クリックが押されると指定した時間を経てショートカット0が自動で押され、クリックしている間だけこの状態が続きます。
Loopの中の最後のsendの後に構文(send up、sleep、down)を追記することでショートカット9、8とどんどん追加可能。
sleepで指定する時間はステータスの秒間攻撃回数を1で割って求めます。
このスクリプトを使ってトロールレイジ 、サヴィジリィ、正義の熱情をチャージするビルドを試みましたが
三種のシナジーが非常に薄いため三種のチャージを貯める間に一種で普通に殴った方が強いのでシナジー効果の組み合わせが重要です。
移動の際、近中距離でクリックすると長押ししていても剣を振ってしまうので移動は遠い場所をクリックしてください。
倉庫やスキル画面で左クリックするとキャラがウロウロしますが仕様です。
*コメント [#d2e12610]
#pcomment(,10,reply)