免責事項
当ブログで紹介しているツール・スクリプト・設定ファイルは、あくまで個人の検証・記録を目的としたものです。導入や使用は自己責任でお願いします。使用によって生じたキャラクターやアカウントへの不具合、データの損失、その他いかなる損害についても、当ブログは一切の責任を負いません。あらかじめご了承の上、ご自身の判断でご利用ください。
サーバーごとの利用規約について
ws_linkのような「1人の行動を検知して、他のキャラを自動で動かす」タイプのツールは、サーバーによっては利用規約で明確に禁止されている場合があります。例えばValhalla FFXI Serverの規約には、「2人目以降のキャラが本人の入力なしに自動で動く、自動マルチボクシング」を目的としたサードパーティ製ツールの使用を禁止する旨が明記されています(違反時は一時停止・再犯で永久停止)。「よく似たツールを見かける」ことと「規約上問題ない」は別の話です。導入・使用の前に、必ずご自身が利用しているサーバーの最新の利用規約を確認し、ご自身の判断・責任で利用してください。
免責事項(重要)
当ブログの記載内容、および紹介しているツールの使用によって発生した、キャラクター停止・アカウント停止(一時停止・永久停止を含む)、パソコン・OS・他のソフトウェアへの不具合や故障、データの損失、その他いかなる不利益や損害についても、当ブログおよび管理人は一切の責任を負いません。利用するサーバーの規約を確認し、発生し得るリスクを十分理解した上で、すべてご自身の判断と責任で行ってください。
前回、EasyFarmを全キャラまとめてON/OFFするAutoHotkeyスクリプトを紹介しました。今回は同じ考え方で、Cure Please(回復補助ツール)のPauseボタンを全ウィンドウまとめて切り替えるスクリプトを紹介します。
用意するもの
- AutoHotkey v2(コントローラー監視スクリプト用)
- AutoHotkey v1.1(Pause切替スクリプト用)
- Xboxコントローラー(XInput対応)
AutoHotkeyのダウンロード・インストール方法は別記事にまとめたので、まだ入れていない場合はそちらを先にどうぞ。今回はv2とv1.1の両方が必要です。
Cure Please側のスクリプトはAutoHotkey v1系の書き方で作っているので、v2系のコントローラー監視スクリプトとファイルが分かれています。
仕組み
CurePleasePauseAll_RunOnce.ahk開いているCure Pleaseウィンドウを全部見つけて、それぞれの「Pause / Paused!」ボタンをクリックする。実行されたら1回だけ処理して終了する。FFXI_MenuDual_v4_3_5_CurePleaseOnly.ahk常駐してコントローラーのMENUボタンを監視し、離された瞬間に上のスクリプトを直接実行する。
EasyFarm版と同じく、ここでも大事なのはボタンが押されたら1のスクリプトを直接呼び出すという作りにしていることです。「キー入力を送るだけ」の作りだと、それを受け取る別スクリプトを常駐させておく必要が出てきて、起動するファイルが2つ必要になってしまいます。
CurePleasePauseAll_RunOnce.ahk
開いている全Cure Pleaseウィンドウの「Pause / Paused!」ボタンをクリックして回るスクリプトです。呼ばれたら1回だけ処理して終了します。
FFXI_MenuDual_v4_3_5_CurePleaseOnly.ahk
常駐してコントローラーのMENUボタンを監視し、離された瞬間に上のCurePleasePauseAll_RunOnce.ahkを直接実行するスクリプトです。
使い方
- お好きな場所(デスクトップなど)に、新しいフォルダを1つ作る(例:「CurePleaseToggle」)
- 上の2つの見出しの下にそれぞれ添付している
CurePleasePauseAll_RunOnce.ahkとFFXI_MenuDual_v4_3_5_CurePleaseOnly.ahkをダウンロードし、その新しいフォルダの中に2つとも保存する FFXI_MenuDual_v4_3_5_CurePleaseOnly.ahkを右クリックして「管理者として実行」する(これだけでOK)- コントローラーのMENUボタンを離すと、開いている全Cure PleaseウィンドウのPauseがまとめて切り替わる
全ウィンドウの切り替えが終わったあと、ちゃんと元のFF11のゲーム画面にフォーカスが戻ってくるのもポイントです。 Cure Pleaseのウィンドウを1つずつ操作していると最後にどのウィンドウを触っていたか分からなくなりがちですが、このスクリプトは最後に必ず元々操作していたゲーム画面へ戻してくれるので、そのままシームレスにプレイを続けられます。
つまずきやすいポイント
- なぜ「管理者として実行」が必要なのか: Cure PleaseやFFXIクライアントが管理者権限で起動されている場合、Windowsの仕様上、管理者権限のないスクリプトからはボタンのクリック操作を送れません(逆は問題ありません)。そのため
FFXI_MenuDual_v4_3_5_CurePleaseOnly.ahkは管理者として実行しておく必要があります。 CurePleasePauseAll_RunOnce.ahkは呼ばれたら1回だけ処理して終了する作りです。単体で起動してもコントローラー操作には反応しません。あくまでFFXI_MenuDual_v4_3_5_CurePleaseOnly.ahkから呼び出される前提です。- ボタン操作の判定を「押した瞬間」ではなく「離した瞬間」にしているのは、コントローラーのボタン割り当てによって既存の別処理と被らないようにするためです。他のボタンで使う場合は、ここは好みで調整して構いません。
ctrl := "WindowsForms10.BUTTON.app.0.141b42a_r7_ad19"の部分は、Cure Pleaseのウィンドウ内部のボタンを直接指定しているコントロール名です。バージョンが変わると名前が変わる可能性があるので、うまく切り替わらない場合はここを疑ってみてください。
コメント