SAクライアントをちょっと便利にするアクション詰め合わせな感じのUIモジュール

こんなアクション(行動)があったら便利だなぁと思い作ってみたコマンド集的なUIモジュール(以下、Mod)です。
ターゲット関連のコマンドは、2D式ターゲットが有効になっていると動作しないと思います(未確認)。

カスタムUIの公開に伴い、UIモジュール単体での配布を終了しました。
本UIモジュールは更新を行った上でカスタムUIに含まれていますのでそちらをご利用ください

Modをインストールすると使える様になるコマンド等

現在のターゲット頭上に距離を表示する

これはマクロで使うコマンドでは無くて、現在ターゲットしているmobの頭上に自分からの距離を表示する物です。
(ターゲットバーの「Distance: *」と同じ距離をmobの頭上にも表示するだけです ^^;)

ターゲット頭上に距離を表示
こんな感じで距離とmob名を表示します

下記のコマンドを実行すると、この表示をON・OFF出来ます。

  • [その他]コマンド
    コマンド

    script ClfActions.toggleDistWindow()

詠唱した呪文の射程に対象が入るまでターゲット解放を待つ

マクロに組み込んで使います。

  • [その他]コマンド
    コマンド

    script ClfActions.waitTargetRange()

例えば、

  1. Fireball[Magery]
    Fireball

    ターゲット:カーソル表示

  2. [カーソルターゲット]ターゲットカーソルの表示を待つ
    ターゲットカーソルの表示を待つ
  3. [その他]コマンド
    コマンド

    script ClfActions.waitTargetRange()

こんなマクロを組むと、3.の時点での現在ターゲットを対象として、そのターゲットまでの距離が0~10になるとFireballを解放します。
※ 3.の時点で、ターゲットバーが出ていない(現在ターゲットが無い)と何もしません。
※ 最大射程は、このコマンドを実行した時点のラストスペルから標準UIに含まれているデータを参照して取得しています。射程距離が取得出来なかった時には最大射程を「10」として処理します。
※ 一応、詠唱中も待機するようになっていますが、判定のタイミング等によって待機を終了してしまう事があるので「ターゲットカーソルの表示を待つ」の後に実行するのが無難です。。。
※ コマンド実行後に、ターゲットカーソル状態では無いor実行時点とラストスペルが違う状態になった場合は待機を終了します。

ただし、ターゲット解放を待っている間もマクロのステップは進んでしまうので、上記の例で 3. 以降に何かマクロを組んでいると、ターゲットまでの距離が10を超えていても、ターゲット解放を待たずにそれ以降のマクロが実行されます。

呪文の射程に対象が入るまでターゲット解放を待つ
ターゲットを待機している間は自分の頭上に「wait target: 射程 < ターゲットまでの距離」と表示します

近くの敵をターゲットする(PCのペット・召喚生物と判定出来るmobは除く)

マクロやホットバーに組み込んで使います。

  • [その他]コマンド
    コマンド

    script ClfActions.nearTarget()

「行動」→「ターゲット」→「最も近い敵をターゲット」とほとんど同じですが、ネームカラーに関わらず、ペットや、PCが召喚したmobは対象から除外してターゲットします。
※ ネクロのSummon FamiliarやAnimate Deadなどで召喚されたmobは(判定処理の都合により)除外しません・・・。

オマケ機能としてscript ClfActions.nearTarget(2)の様に、括弧の中に数字を入れると、入れた数字の順で近い敵をターゲットします。(2を入れると2番目、3を入れると3番目に近い敵をターゲット)

現在ターゲットが敵性mob以外なら、近くの敵を現在ターゲットに変更する

マクロやホットバーに組み込んで使います。
現在ターゲットへの攻撃を前提としたマクロを組むときにこのコマンドを使うと誤爆が減る、ってくらいしか意味が無いおっちょこちょいさん向けコマンドです^^;

  • [その他]コマンド
    コマンド

    script ClfActions.convTargetToEnemy()

文章だとちょっと分かりにくいかもしれませんが、例えば、

  1. Fireball[Magery]
    Fireball

    ターゲット:カーソル表示

  2. [カーソルターゲット]ターゲットカーソルの表示を待つ
    ターゲットカーソルの表示を待つ
  3. [その他]コマンド
    コマンド

    script ClfActions.convTargetToEnemy()

こんなマクロを組むと、3.の時点で現在ターゲットが敵性mobでは無かった時(青・緑・黄ネームやペット・召喚生物等だった時)には、一番近くの敵性mobにFireballを撃ちます。
ターゲットが敵性mobの時には、そのままそのターゲットにFireballを撃ちます。

このコマンドを実行した時点で現在ターゲットの判定(&必要ならターゲット変更)をするので、上記のマクロを下記の様にした場合でも大体同じ様な動作になります。(上の1.~3.の例はコマンドの動作を説明しやすい様に例とした挙げたマクロなので、実際は下記の様に組んだ方が使いやすいでしょうか?)

  1. コマンド script ClfActions.convTargetToEnemy()
  2. Fireball[ターゲット:現在の対象

こちらもscript ClfActions.convTargetToEnemy(2)の様に、括弧の中に数字を入れると、(ターゲットを変更する場合は)入れた数字の順で近い敵をターゲットします。

最もダメージを受けている友好的なmob(ペット、緑ネーム、パーティメンバー)をターゲットする

マクロやホットバーに組み込んで使います。

  • [その他]コマンド
    コマンド

    script ClfActions.injuredFriendly()

「行動」→「ターゲット」→「重傷を負っているフォロワーをターゲット」&「重傷を負っているパーティーメンバーをターゲット」をあわせた様なコマンドですが、少し違うのは、

  • 緑ネームも対象にする
  • 他人の(青ネームの)ペットも対象にする
  • 毒・カース状態のmobは対象にしない

のが異なります。

引数でオプションを指定でき、script ClfActions.injuredFriendly( false, true, true, false, true)の様に設定します。
引数は順番に、

  1. 青ネームのmobも含めるか
  2. 毒状態のmobも含めるか
  3. カース状態のmobも含めるか
  4. パーティメンバーを除外するか
  5. 他人の青ネームのペットを除外するか
    ※ 1.青ネームのmobを含める設定にした場合、この設定は無効

の様に指定でき、上の例だと、
青ネームは含めない、毒状態を含める、カース状態を含める、パーティメンバーを除外しない、他人の青ネームのペットを含めない、
状態になります。

毒を受けている友好的なmob(ペット、緑ネーム、パーティメンバー)をターゲットする

マクロやホットバーに組み込んで使います。

  • [その他]コマンド
    コマンド

    script ClfActions.poisonedFriendly()

こちらは、毒を受けているmobを優先的にターゲットします。
ターゲットの選択条件は、毒状態の判定以外、上記の「最もダメージを受けている友好的なmob(ペット、緑ネーム、パーティメンバー)をターゲットする」と同じです。
毒を受けているmobがいなかった場合には、最もダメージを受けているmobをターゲットします。(ダメージを受けているmobもいなかった時には何もしない)

こちらも引数でオプションを指定でき、script ClfActions.poisonedFriendly( false, false, false, true)の様に設定します。
引数は順番に、

  1. 青ネームのmobも含めるか
  2. パーティメンバーを除外するか
  3. 自分のペットだけを選択するか
  4. 他人の青ネームのペットを除外するか
    ※ 1.青ネームのmobを含める or 3.自分のペットだけを選択する設定にした場合、この設定は無効

の様に指定できます。

オーガナイザーとスカベンジャー用のバッグ(コンテナ)を一時的に変更する

マクロやホットバーに組み込んで使います。

  • [その他]コマンド
    コマンド

    script ClfActions.setActiveOrganizeBag()

このコマンドを実行するとカーソルがターゲット状態になるので、オーガナイザー&スカベンジャー用にしたいバッグを選択します。
普段使うバッグは決まっているけど、違うバッグにサクっと変更したい、なんて時に便利かな、と思います。
※ 対象のバッグを開いた状態にしてから選択してください。
※ オーガナイザー用バッグは、その時に有効になっているオーガナイザーが対象。
※ 一時的に変更するだけ(設定を保存しない)なので、再ログインやインターフェースのリロードをすると、元の設定に戻ります。

ラストターゲットをクリックする

マクロやホットバーに組み込んで使います。

  • [その他]コマンド
    コマンド

    script ClfActions.clickLastTarget()

「行動」→「カーソルターゲット」→「ラストターゲット」とほとんど同じですが、それだと現在ターゲットには出来ない(レティクルが出ない)ので。
※ カーソルがターゲット状態になっている時に実行した場合は、ラストターゲットに対してターゲットを開放するのみで、レティクルは出ません(現在ターゲットを変更しません)。

Modのインストール方法

カスタムUIの公開に伴い、UIモジュール単体での配布を終了しました。
本UIモジュールは更新を行った上でカスタムUIに含まれていますのでそちらをご利用ください

インストール方法については「当サイトで公開しているUIモジュールやマクロ等について」ページの「UIモジュールの使用方法」をご覧ください。

同時に、他に必要なファイルもインストールしてください。
詳しくは下記「必要なファイル」をご覧ください。

必要なファイル

追加フォント

Modで使用しているフォントを追加する必要があります。
フォントの追加方法は「SAクライアントにフォントを追加する」ページをご覧ください。

“SAクライアントをちょっと便利にするアクション詰め合わせな感じのUIモジュール”への2件のコメント

  1. お世話になります。
    ダウンロードさせていただき使わせていただいております。ありがとうございます。
    早速ですが、動作するスクリプトはあるのですが、一部のスクリプト(script ClfActions.nearTarget(),script ClfActions.convTargetToEnemy(),script ClfActions.poisonedFriendly())等が動作しません。
    色々やってみたいのですが、どうしても動きません。
    何か原因として思い当たることはありますでしょうか?
    もし何か思いつくことがあれば教えていただけれると大変うれしく思います。

    どうぞよろしくお願い申し上げます。

    1. 返信遅くなってすみません。
      もうご覧になっていないかもしれませんが、今後の参考になるかもしれないので。

      「動作するスクリプトはある」との事なので、コマンドの入力等は間違っていない前提になりますが、
      チャット画面で下記コマンドを実行後すると、ターゲット関連のデータ取得元を変更出来ますので、お試し頂けますでしょうか。
      /script ClfActions.toggleFilterEnemy()
      ※ このコマンドについて、詳しくはこちらをご覧ください。
      このコマンドを実行するたびに、頭上に「FilterEnemy: OFF (または ON )」と表示されますので、これが「OFF」の状態でターゲット関連のコマンドを確認ください。

kay にコメントする コメントをキャンセル

※ 送信されたコメントは、管理者の承認後に公開されます。