PR

コントローラーのボタン1つでEasyFarmを全キャラまとめてON/OFFする

AutoHotkey

多重起動していると、キャラごとに開いているEasyFarmのウィンドウを1つずつクリックしてSTART/STOPするのが地味に面倒です。

今回は、コントローラーのボタンを1回押すだけで、開いているEasyFarmを全部まとめてON/OFFできるAutoHotkeyスクリプトを紹介します。

用意するもの

  • AutoHotkey v2
  • Xboxコントローラー(XInput対応)

AutoHotkeyのダウンロード・インストール方法は別記事にまとめたので、まだ入れていない場合はそちらを先にどうぞ。

⚠️ EasyFarmは必ず「Ver1.0.119」を使用してください。

1.0.121以降は日本語のスキル・魔法・アビリティ名を「Auto-Fill」で認識しなくなるバグが報告されており(参考)、resources内のXMLを手動で書き換えない限りJPクライアントでは正しく使えません。最新の英語版EasyFarmでもメニュー構成(File→〇番目の項目)が同じかどうかは未確認なので、その点でもVer1.0.119以外はおすすめできません。

Ver1.0.119以外(最新版)を日本語対応させる方法は、現在検証中です。 対応でき次第、別記事で紹介する予定です。

仕組み

スクリプトは2つに分かれています。

  1. EasyFarmToggle_v2.1.0.ahk  開いているEasyFarmウィンドウを全部見つけて、それぞれに対して  “` Alt+F → ↓ → Enter というキー操作を送り、START/STOPを切り替える。処理が終わったら、元々アクティブだったFF11のウィンドウにフォーカスを戻す。
  2. FFXI_MenuDual_EasyFarmOnly.ahk  常駐してコントローラーのBACKボタンを監視し、押された瞬間に上のスクリプトを直接実行する。

ポイントは、ボタンを押した瞬間に1のスクリプトを直接呼び出していることです。「キー入力を送るだけ」の作りにすると、それを受け取る別スクリプトを常駐させておく必要が出てきて、起動するファイルが増えてしまいます。直接呼び出す形にしておくことで、常駐スクリプト1つを起動しておくだけで完結します。

EasyFarmToggle_v2.1.0.ahk

開いている全EasyFarmウィンドウにAlt+F → ↓ → Enterを送ってSTART/STOPを切り替え、最後に元のFF11ウィンドウへフォーカスを戻すスクリプトです。

FFXI_MenuDual_EasyFarmOnly.ahk

常駐してコントローラーのBACKボタンを監視し、押された瞬間に上のEasyFarmToggle_v2.1.0.ahkを直接実行するスクリプトです。

使い方

  1. お好きな場所(デスクトップなど)に、新しいフォルダを1つ作る(例:「EasyFarmToggle」)
  2. 上の2つの見出しの下にそれぞれ添付しているEasyFarmToggle_v2.1.0.ahkFFXI_MenuDual_EasyFarmOnly.ahkをダウンロードし、その新しいフォルダの中に2つとも保存する
  3. FFXI_MenuDual_EasyFarmOnly.ahk を右クリックして「管理者として実行」する(これだけでOK)
  4. コントローラーのBACKボタンを押すと、開いている全EasyFarmウィンドウがまとめてON/OFF切り替わる

全ウィンドウの切り替えが終わったあと、ちゃんと元のFF11のゲーム画面にフォーカスが戻ってくるのもポイントです。 何個もキャラを起動していると、切り替え作業のあとに「あれ、今どのウィンドウを触ってるんだっけ」となりがちですが、このスクリプトは最後に必ず元々操作していたゲーム画面へ戻してくれるので、そのままシームレスにプレイを続けられます。

つまずきやすいポイント

  • なぜ「管理者として実行」が必要なのか: EasyFarmが管理者権限で起動されている場合、Windowsの仕様上、管理者権限のないスクリプトからはキー操作を送れません(逆は問題ありません)。念のためFFXI_MenuDual_EasyFarmOnly.ahk側も管理者として実行しておくのが安全です。
  • EasyFarmToggle_v2.1.0.ahkを単体で起動しても、ボタンを押しても何も起きません。あくまでFFXI_MenuDual_EasyFarmOnly.ahkから呼び出される前提のファイルです。
  • Alt+F → ↓ → Enter の部分は、EasyFarmのFileメニューの並び順に依存しています。EasyFarmのバージョンが変わってメニュー構成が変わった場合は、この部分の調整が必要になります。

コメント