UO.からふるlife

よく使うSAクライアント用マクロ(8/16更新)

はじめに。

SAクライアント(Enhanced Client)を使い始めてからテイマー(バードテイマー)で遊んでいる事が殆どなので、ここでご紹介するマクロはテイマー向けが多いです。
※ ペットへの発言コマンドを「発言」にしていますが、「ペット」グループの該当アクションや「ささやき」「大声」などお好みでどうぞ。(筆者は「ささやき」で組んでいる事が多いです)

この記事では、「ユーザー設定」→「オプション」の「ゲームオプション」内「カーソルを待ってターゲット行動」がOFFの状態を前提にしています。
この設定がONの場合は記事中のマクロと組み方を変える必要があるかもしれません。

ターゲット関連のマクロは、「ユーザー設定」→「2D」の「2D式ターゲット」が有効になっていると動作しないと思います。

各マクロ中の遅延秒数は、環境(PCや回線のスペックなど)によって調整する必要があるかもしれません。

SAクライアントのマクロに慣れていない方は、下記 2つの記事をまずご覧ください。

 

[2018.08.16] Vacuumを停止する、アクティブにするオーガナイザーやリストックを選択、ペットのバックパックを開く、各マクロを追加。

よく使うマクロ

マクロに組み込むと便利なコマンド

自分の頭上にテキストを表示

「発言」や「ささやき」などとは違い頭上に文字を表示するだけなので、ハイド・インビジは解けませんし、その文字は他人には見えません。
長めのマクロを組んだ時に最後に入れておいて、マクロの終了を分かりやすい様にするなど。

== Overhead Text ==の部分が表示される文字です、お好きな文字を入力してください。(全角文字は文字化けします)
255はHueID(半角数字)です。参考: 255は薄黄色、1152は青、33は赤。
最後の 
true はログにも文字を出力させる場合。出力しなくて良いなら false で。


アイテムルート関連

棺桶を開いてルートする

  1. 行動[ターゲット]次のオブジェクトを選択
  2. 行動[その他]コマンドscript ContainerWindow.OpenedCorpse = WindowData.CurrentTarget.TargetId
  3. 行動[ターゲット]指定したオブジェクトを使用
  4. 行動[その他]遅延0.1
  5. 行動[その他]Vacuum

※ 2.のコマンドは必須ではありません。「ユーザー設定」→「オプション」→「死体を非表示にする」にチェックを入れている場合、このコマンドを入れておくことでこのマクロから棺桶を開いた時にもその棺桶のオブジェクトハンドルを非表示にします。
※ 新しい棺桶が開かない場合もあります。その際はこのマクロを何度か実行するか諦めてオブハン等から開きましょう・・・。
※ ClifeUIには2マス以内にある死体をクリックするコマンドがあります。詳しくはこちらのページをご覧ください

皮剥ぎ&棺桶ルート

※ 要ClifeUI。 皮剥ぎ後に棺桶を開くのに再度現在のターゲットを有効にし直す必要があるため。皮剥ぎだけ(下記1.~4.まで)なら標準UIでも可能。

  1. 行動[ターゲット]次のオブジェクトを選択
  2. アイテム 収穫祭のナイフ、肉屋のクリーバー、皮を剥げる適当な刃物などターゲット:カーソル表示
  3. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  4. 行動[カーソルターゲット]現在のターゲット
  5. 行動[その他]遅延1.1
  6. 行動[その他]コマンドscript ClfActions.clickLastTarget()
  7. 行動[その他]コマンドscript ContainerWindow.OpenedCorpse = WindowData.CurrentTarget.TargetId
  8. 行動[ターゲット]指定したオブジェクトを使用
  9. 行動[その他]遅延0.1
  10. 行動[その他]Vacuum

 

Vacuumを停止する

標準UIではVacuum実行中に再度Vacuumを実行すると停止するようになってはいますが、標準UIの場合はルート途中にVacuumを停止するとルート予定だった残りのアイテムのデータが残ってしまい、次回のVacuum実行時に遅延が発生する(すぐにルートが始まらない)事があります。
これを避ける、または確実にVacuumを停止する為のマクロです。

  1. 行動[その他]コマンドscript Actions.MassOrganize = false; Actions.VacuumObjects = {}

※ 上記コマンドで Actions.MassOrganize に  false 以外、 Actions.VacuumObjects に {} 以外を指定(代入)すると、それ以降Vacuumが動作しなくなるので注意!(正常な上記コマンドを再度実行するか、再ログインやインターフェースのリロードで元に戻ります)

 

アクティブにするオーガナイザーやリストックを選択

有効にしたいオーガナイザー(Organizer)やリストックを番号で指定します。
棺桶からルートする際に使用するオーガナイザーが決まっている場合は、上記「棺桶を開いてルートする」マクロの最初にこのコマンドを入れておけば、目的のオーガナイザーを必ず実行出来ます。
(オーガナイザーを切り替えたのを忘れてルート用マクロを実行し、アイテムがルート出来ずに「???」となったりする方にはお勧めです < それは筆者だけ…?)

コマンド例
オーガナイザー:
リストック:
上記コマンドの説明:必ずお読みください

※ 以下はオーガナイザーの場合で説明していますが、リストックの場合は「オーガナイザー」を「リストック」に読み替えてください。

指定したいオーガナイザーの番号(半角の数字)を上記コマンドの最後で指定(代入)します。(上記コマンド例の場合は 1 を指定している。)

コンテナのオーガナイザーボタンにマウスオーバーすると、現在アクティブなオーガナイザーが「Current: ~~」と表示されているので、コマンドを実行した後に正常に切り替わっているかを確認出来ます。

この番号は、基本的にはオーガナイザーを追加した順(コンテナのオーガナイザーボタン右クリックで表示される項目の並び順)ですが、オーガナイザーを削除した場合は、削除したオーガナイザー以降の順番が繰り上がるので注意してください。

コンテナのオーガナイザーボタンを右クリックした所

上記画像の場合だと、以下の各番号を上記コマンドで指定します。
(オーガナイザーの名称が短い場合は、Agents Settings 設定画面のプルダウンでも番号を確認出来ます)

例えば、この状態から「TEST-8」を削除すると、「TEST-9」を指定するための番号は(削除前は 9 だったのが) 8 になりますので、オーガナイザーを削除した場合は気をつけてください。

ちなみに、このコマンドでオーガナイザーを切り替えた場合は設定には保存されませんので、再ログインやインターフェースのリロードをすると元の設定に戻ります。

 


騎乗ペット等

ペットの乗り降り

乗り降りと言うより、騎乗していたら降りる or 騎乗していなければ乗るマクロ。

  1. 行動[騎乗生物]ペットから降りる
  2. 行動[コミュニケーション]発言all stop
  3. 行動[コミュニケーション]発言all follow me
  4. 行動[ターゲット]最も近いフォロワーをターゲット ※※ クライアント内の表記では誤訳(?)で「最も近いパーティメンバをターゲット」となっている。本当の「最も近いパーティメンバーをターゲット」とはアイコンが違うので注意。
  5. 行動[ターゲット]指定したオブジェクトを使用

※ 2. と 3. は必須ではありません。(ペットが戦闘中でも乗れるようにしています。)
※ 騎乗状態から降りてペットに乗るのを1回のマクロ実行で済ませたい場合は 1.~4. の間のどこかに 1.0程度の遅延が必要。
※ 複数のペットを連れる場合は、4. を 行動[Pet Targeting]の「Target Default Pet  ○」または[騎乗生物]の「○○をターゲット」にした方が確実。(その場合は騎乗ペットごとにマクロを組むか、ペットを変更するたびに対象の登録を変更する)

 

ペットのバックパックを開く

下記は「現在のターゲットになっているペットのバックパックを開く」コマンドです。
(バックパック持ちペットのコンテキストメニュー「バックパック」と同じ)
バックパックを持たないペット(およびペット以外)には効果ありません。

例えば、連れているペット5頭分のバックパックを開くマクロを組む場合は以下の様にします。(ペットが5頭未満の時やバックパックを持たないペットを含んでいても動作します。)

  1. 行動[ターゲット]最も近いフォロワーをターゲット ※※ クライアント内の表記では誤訳(?)で「最も近いパーティメンバをターゲット」となっている。本当の「最も近いパーティメンバーをターゲット」とはアイコンが違うので注意。
  2. 行動[その他]コマンドscript ContextMenu.RequestContextAction( WindowData.CurrentTarget.TargetId, 508 )
  3. 行動[その他]遅延0.1
  4. 行動[ターゲット]次のフォロワーをターゲット
  5. 行動[その他]コマンドscript ContextMenu.RequestContextAction( WindowData.CurrentTarget.TargetId, 508 )
  6. 行動[その他]遅延0.1
  7. 行動[ターゲット]次のフォロワーをターゲット
  8. 行動[その他]コマンドscript ContextMenu.RequestContextAction( WindowData.CurrentTarget.TargetId, 508 )
  9. 行動[その他]遅延0.1
  10. 行動[ターゲット]次のフォロワーをターゲット
  11. 行動[その他]コマンドscript ContextMenu.RequestContextAction( WindowData.CurrentTarget.TargetId, 508 )
  12. 行動[その他]遅延0.1
  13. 行動[ターゲット]次のフォロワーをターゲット
  14. 行動[その他]コマンドscript ContextMenu.RequestContextAction( WindowData.CurrentTarget.TargetId, 508 )

※ ターゲット前の遅延を省略しても全てのバックパックを開けますが、コンテキストメニューが出たままになってしまう事が多いです。
※ 5頭も連れ歩かないよ!って場合は「遅延」~「コマンド」の繰り返しをペット数によって調整。(例えば3頭までで良いなら 8.まで組む)
※ 決まったペット1頭を対象にする場合は、1. を 行動[Pet Targeting]の「Target Default Pet  ○」または[騎乗生物]の「○○をターゲット」にして、 2. まで組む。

 


テイマー向け

参考:よく使う発言コマンド

詳しくは公式サイトなどでご確認ください。

{petName} はペットの名前(スペースを含む名前は無効)、または all (全ての連れているペットへ)。(allが無効なコマンドも有ります)

ペット用:
  • 攻撃: {petName} kill
  • 攻撃を中止: {petName} stop
  • ガード: {petName} guard me
  • 追尾: {petName} follow
  • 飼い主を追尾: {petName} follow me
  • その場で待機: {petName} stay
  • 飼い主の所まで来させる(多少の障害は回避する){petName} come
  • 持ち物を地面に置かせる(パックアニマル以外の親愛化ペット){petName} drop
厩舎用:
  • ペットを預ける: stable
  • ペットを引き出す: claim {petName}
  • ペット一覧から引き出す: claim {預けたペット名以外の単語}
  • 厩舎スロット数確認: stablecount

現在の対象をテイムする

怒りモードありのペットを調教するときに。

  1. スキル Taming[調教]ターゲット:現在の対象
  2. 1.を、繰り返したい回数分登録筆者は30回分ほど登録してます
  3. 行動[その他]コマンドscript WindowUtils.SendOverheadText( L"==== END Tame Skill ====" , 255, true)

※ 2. の繰り返しはリピート機能では無く、繰り返す回数分だけマクロに登録。
※ 3. は必須ではありません。2.の繰り返し終了を分かりやすくしているだけ。

 

近くの敵をペットで攻撃

※ 1. は必須ではありません。周囲に敵がいない時にマクロを実行した際に(ペットやPCなどが現在の対象になっていた場合に)攻撃しないようにするための誤爆よけ。

標準UI用
  1. 行動[ターゲット]Target by Typeスペルブックなど、必ずカバンに入っている物を設定しておく
  2. 行動[コミュニケーション]発言all kill
  3. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  4. 行動[ターゲット]最も近い敵をターゲット
  5. 行動[カーソルターゲット]現在のターゲット
ClifeUI使用時

script ClfActions.convTargetToEnemy() コマンドを使用すると、ネームカラーに関わらず、ペットや、PCが召喚したmobは対象から除外してターゲットするようになります。

  1. 行動[ターゲット]Target by Typeスペルブックなど、必ずカバンに入っている物を設定しておく
  2. 行動[ターゲット]最も近い敵をターゲット
  3. 行動[コミュニケーション]発言all kill
  4. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  5. 行動[その他]コマンドscript ClfActions.convTargetToEnemy()
  6. 行動[カーソルターゲット]現在のターゲット

 

複数の敵をペットで攻撃

(ペットに重なっていられない時など)本体がタゲられない様に周囲の敵のタゲをペットに取らせる。
こちらも 1.は必須ではありません。(誤爆よけ)
※ ターゲット後の遅延は不要ですがなんとなく入れてあります^^;

標準UI用
  1. 行動[ターゲット]Target by Typeスペルブックなど、必ずカバンに入っている物を設定しておく
  2. 行動[コミュニケーション]発言all kill
  3. 行動[ターゲット]最も近い敵をターゲット
  4. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  5. 行動[カーソルターゲット]現在のターゲット
  6. 行動[その他]遅延0.1
  7. 行動[コミュニケーション]発言all kill
  8. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  9. 行動[ターゲット]次の敵
  10. 行動[カーソルターゲット]現在のターゲット
  11. 行動[その他]遅延0.1
  12. 7.~11.を好きな回数分だけ登録
  13. 行動[コミュニケーション]発言all kill
  14. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  15. 行動[ターゲット]最も近い敵をターゲット※ 最後に一番近い敵を攻撃する様にしておく。
  16. 行動[カーソルターゲット]現在のターゲット
ClifeUI使用時

こちらも「近くの敵をペットで攻撃」と同様に、ネームカラーに関わらず、ペットや、PCが召喚したmobは対象から除外してターゲットします。

  1. 行動[ターゲット]Target by Typeスペルブックなど、必ずカバンに入っている物を設定しておく
  2. 行動[ターゲット]最も近い敵をターゲット
  3. 行動[コミュニケーション]発言all kill
  4. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  5. 行動[その他]コマンドscript ClfActions.convTargetToEnemy()
  6. 行動[カーソルターゲット]現在のターゲット
  7. 行動[その他]遅延0.1
  8. 行動[ターゲット]次の敵
  9. 行動[コミュニケーション]発言all kill
  10. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  11. 行動[その他]コマンドscript ClfActions.nearTarget( 2 )
  12. 行動[カーソルターゲット]現在のターゲット
  13. 行動[その他]遅延0.1
  14. 8.~13.を好きな回数分だけ登録※ その際、11.の script ClfActions.nearTarget( 2 ) の括弧内の数字は繰り返す数の分だけ増やす。(入れた数字番目に近い敵をターゲットします)
  15. 行動[コミュニケーション]発言all kill
  16. 行動[ターゲット]最も近い敵をターゲット※ 最後に一番近い敵を攻撃する様にしておく。
  17. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  18. 行動[その他]コマンドscript ClfActions.convTargetToEnemy()
  19. 行動[カーソルターゲット]現在のターゲット

 

現在のターゲットにフォロー&攻撃

攻撃開始後に対象がハイド・インビジした際、ペットが自分の所に戻ってこないように対象をフォローさせてから攻撃するマクロ。

ClifeUIが有効なら 3. と 7. のコマンドで、現在のターゲットが敵性では無い場合には一番近い敵をタゲる様になる。(標準UI時はこのコマンドを省略してマクロを組む。)

  1. 行動[コミュニケーション]発言all follow
  2. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  3. 行動[その他]コマンドscript ClfActions.convTargetToEnemy()
    ※ 要ClifeUI。標準UI時はこのコマンドを省略する。
  4. 行動[カーソルターゲット]現在のターゲット
  5. 行動[コミュニケーション]発言all kill
  6. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  7. 行動[その他]コマンドscript ClfActions.convTargetToEnemy()
    ※ 要ClifeUI。標準UI時はこのコマンドを省略する。
  8. 行動[カーソルターゲット]現在のターゲット

 

ペットに包帯&GH

※ 1. 2. は必須ではありません。1. はペットが近くにいない時に誤って敵にGHを掛けないようにする誤爆よけ、 2. はペットの体力が減っていない場合でもペットを対象にするため。

  1. 行動[ターゲット]Target by Typeスペルブックなど、必ずカバンに入っている物を設定しておく
  2. 行動[ターゲット]最も近いフォロワーをターゲット ※※ クライアント内の表記では誤訳(?)で「最も近いパーティメンバをターゲット」となっている。本当の「最も近いパーティメンバーをターゲット」とはアイコンが違うので注意。
  3. 行動[ターゲット]重傷を負っているフォロワーをターゲット
  4. 魔法 Greater Heal(回復-強)ターゲット:現在の対象
  5. 行動[アイテム/能力]包帯治療-選択対象

 

ペットにキュア&包帯

ClifeUIが有効の時は 4. のコマンドで毒状態のペットを優先してターゲットします。(標準UI時はこのコマンドを省略してマクロを組む。)

  1. 行動[ターゲット]Target by Typeスペルブックなど、必ずカバンに入っている物を設定しておく
  2. 行動[ターゲット]最も近いフォロワーをターゲット ※※ クライアント内の表記では誤訳(?)で「最も近いパーティメンバをターゲット」となっている。本当の「最も近いパーティメンバーをターゲット」とはアイコンが違うので注意。
  3. 行動[ターゲット]重傷を負っているフォロワーをターゲット
  4. 行動[その他]コマンドscript ClfActions.poisonedFriendly( nil, 1, 1 )
    ※ 要ClifeUI。標準UI時はこのコマンドを省略する。
  5. 魔法 Arch Cureターゲット:現在の対象
  6. 行動[アイテム/能力]包帯治療-選択対象

 

ペットが攻撃を拒むタイプの敵(現在の対象)に攻撃させる

ペットにガード命令を出してから、自分が対象に攻撃を仕掛けてタゲを取ることでペットに対象を攻撃させます。(ペットが戦闘中は大抵効果がありません・・・ペットの戦闘が終わるまで待つかストップさせましょう^^;)
※ 1. のインビジが不要の場合は、3. の遅延は無しでOK。

ClifeUIが有効の時は 4. のコマンドで、現在のターゲットが敵性では無い場合には一番近い敵を対象とする様になる。(標準UI時はこのコマンドを省略してマクロを組む。)

  1. 魔法 Invisibilityターゲット:自分自身
  2. 行動[コミュニケーション]発言all guard me
  3. 行動[その他]遅延0.9 ※FCによって調整した方がベター
  4. 行動[その他]コマンドscript ClfActions.convTargetToEnemy()
    ※ 要ClifeUI。標準UI時はこのコマンドを省略する。
  5. 行動[戦闘]現在のターゲットを攻撃
  6. 行動[その他]遅延0.2
  7. 行動[戦闘]ピースインビジが成功すればピース状態になるけど一応

シャドウガード

リカーの瓶や護符を拾うのには、(マクロとは違いますが)メインメニュー「Agents Settings」→「Scavenger」を使うと便利です。(※ エージェントにアイテムを登録する際は、アイテム名を英語表記にしてから行う事。日本語のアイテム名を登録すると文字化けし、再ログインでキャラクターの設定ファイルが壊れる事が多いです。)

バー:リカーの瓶を現在の対象に投げる

現在の対象にアイテムを使用するタイプの基本的なマクロの一例です。

ClifeUIが有効の時は 1. のコマンドで、現在のターゲットが敵性では無い場合(=海賊じゃない場合)には一番近い敵を対象とする様になる。(標準UI時はこのコマンドを省略してマクロを組む。)

  1. 行動[その他]コマンドscript ClfActions.convTargetToEnemy()
    ※ 要ClifeUI。標準UI時はこのコマンドを省略する。
  2. アイテム リカーの瓶ターゲット:現在の対象

※ バーに置かれるリカーの瓶と、色と形が同じ酒瓶がカバンに入っているとその酒瓶もマクロでの使用対象になってしまうので注意。持って行くお酒は色 or 形が違う物を選びましょう ^^;
※ お酒の代わりにシャンパンフルートグラスを持って行くのが良いのでしょうけど、筆者は持っていません。残念!

 

武具屋:堕落した護符を浄化する

登録したオブジェクトに対してアイテムを使用するタイプの基本的なマクロの一例です。

武具屋に入ったらまず「Store Default Object 1」を実行して「浄化の炎」を登録。(武具屋に入るごとに浄化の炎のIDが変わる為)

「堕落した護符」を拾ったら、登録した「浄化の炎」の近くで下記マクロを実行。

  1. アイテム 堕落した護符ターゲット:カーソル表示
  2. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  3. 行動[オブジェクトをターゲットしています] Target Default Object 1

※ リピート機能にチェックを入れてリピート回数を設定しておくと、1回の実行で複数個浄化出来ます。
※ マクロの組み方を変えて、「堕落した護符」のターゲットを「現在のターゲット」にしたタイプも試してみましたが、筆者の環境ではうまく動きませんでした。

 

シャドウガードから出る

コンテキストメニューの「シャドウガードから出る」と同じ。
シャドウガード内でこのコマンドを実行するとシャドウガードから出るかどうかのガンプが出ます。(要はワンクリック早い&ホットキーが割り当てられる様になるだけ)


オブジェクトハンドルフィルター

行動[その他]の「Switch Object Handle」のプルダウンメニューで選べる項目を、1クリックで選択&ホットキーを割り当てられる様に。

フィルターを「デフォルト」にする

  1. 行動[その他]コマンドscript SystemData.Settings.GameOptions.objectHandleFilter = SystemData.Settings.ObjectHandleFilter.eDynamicFilter
  2. 行動[その他]コマンドscript UserSettingsChanged()

その他のフィルター

その他のフィルターを設定する場合は、上記1. のコマンドを下記と置き換える。


おまけ:ClifeUI有効時に使えるちょっと便利なマクロ

ClifeUIを有効にしている時に使えるちょっと便利なマクロを少しだけご紹介。

対象が呪文の射程に入ったらターゲット解放

※ 1.は現在の対象が敵性では無い時に一番近い敵をターゲットする様にします。敵性mob以外も対象にしたい場合などは、1. を省略。
※ 4. のコマンドで、対象が呪文の射程に入るとターゲットします。(「Mind Blast」以外でもターゲットが出るタイプの呪文ならOKです)

  1. 行動[その他]コマンドscript ClfActions.convTargetToEnemy()
  2. 魔法 Mind Blastターゲット:カーソル表示
  3. 行動[カーソルターゲット]ターゲットカーソルの表示を待つ
  4. 行動[その他]コマンドscript ClfActions.waitTargetRange()

今回はここまで!
最後までご覧いただき、ありがとうございました。