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

はじめに。

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

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

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

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

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

 

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

よく使うマクロ

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

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

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

  • [その他]コマンド行動[その他]コマンドscript WindowUtils.SendOverheadText( L"== Overhead Text ==" , 255, true)

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


アイテムルート関連

棺桶を開いてルートする

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

 

Vacuumを停止する

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

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

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

 

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

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

コマンド例
オーガナイザー:
  • [その他]コマンド行動[その他]コマンドscript Organizer.ActiveOrganizer = 1
    ※ コマンド末尾の数字を目的の番号に置き換える(後述)
リストック:
  • [その他]コマンド行動[その他]コマンドscript Organizer.ActiveRestock = 1
    ※ コマンド末尾の数字を目的の番号に置き換える(後述)
上記コマンドの説明:必ずお読みください

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

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

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

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

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

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

  • 1 ItemLoot
  • 2 ゴミ箱行き
  • 3 宝石
  • 4 秘薬
  • 5 装備品
  • 6 空ルーン
  • 7 水路パーツ
  • 8 TEST-8
  • 9 TEST-9

例えば、この状態から「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  ○」または[騎乗生物]の「○○をターゲット」にした方が確実。(その場合は騎乗ペットごとにマクロを組むか、ペットを変更するたびに対象の登録を変更する)

 

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

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

  • [その他]コマンド行動[その他]コマンドscript ContextMenu.RequestContextAction( WindowData.CurrentTarget.TargetId, 508 )

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

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

 

近くの敵をペットで攻撃

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

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

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

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

 

複数の敵をペットで攻撃

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

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

 

ペットにキュア&包帯

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

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

 

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

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

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

  1. Invisibility[Magery]魔法 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が変わる為)

  • [オブジェクトをターゲットしています]Store Default Object 1行動[オブジェクトをターゲットしています] Store Default Object 1

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

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

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

 

シャドウガードから出る

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

  • [その他]コマンド行動[その他]コマンドscript ContextMenu.RequestContextAction( WindowData.PlayerStatus.PlayerId, 362 )

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

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

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

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

その他のフィルター

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

  • 死体: script SystemData.Settings.GameOptions.objectHandleFilter = SystemData.Settings.ObjectHandleFilter.eCorpseFilter
  • NPC: script SystemData.Settings.GameOptions.objectHandleFilter = SystemData.Settings.ObjectHandleFilter.eNPCFilter
  • NPCベンダー: script SystemData.Settings.GameOptions.objectHandleFilter = SystemData.Settings.ObjectHandleFilter.eNPCVendorFilter
  • 移動型ターゲット: script SystemData.Settings.GameOptions.objectHandleFilter = SystemData.Settings.ObjectHandleFilter.eMobileFilter
  • アイテムのみ: script SystemData.Settings.GameOptions.objectHandleFilter = SystemData.Settings.ObjectHandleFilter.eItemsOnlyFilter
  • Lost Items Only: script SystemData.Settings.GameOptions.objectHandleFilter = SystemData.Settings.ObjectHandleFilter.eLostItemsOnlyFilter

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

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

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

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

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

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

“よく使うSAクライアント用マクロ(8/16更新)”への17件のコメント

  1. おおおお、SAクラ使いにはありがたいマクロ集ですね^-^
    ここまで丁寧に解説してもらえたら、わたしにもできそう!w
    (過去にあちこち探しまわって、かなり苦労したので…^^;

    ぜひとも戦士を極めて便利マクロを公開してくださいm(_ _)m

    1. コメントありがとうございます!

      なるべく分かりやすい様に書いたつもりなのでそう言っていただけると嬉しいです ^^

      戦士は・・・最近戦士を使ったのって金鉱石集めに金エレ狩ってたくらいなので。。。
      「こんな事出来るかな~?」なんてアイデアあったらこっそり(じゃなくてもいいので)教えてくださいw

      1. えーと、EMイベでボスタゲ取れるマクロとか?w
        (わたしEMイベ参加してないし、公開しちゃったらみんな同じ条件だから意味ないかw

        お恥ずかしい話ですが、2DとSAでオブハンの使い方が違うみたいなので、そこらの解説(と便利マクロw)をこっそり教えてください^ー^
        ※DOOM死亡時に自分の死体を探すのに四苦八苦しております^^;

        1. またまたコメントありがとうございます!

          EMイベントは一度も参加した事が無いので分からないんですが、
          SAクライアントなら(対象が画面無内にいれば)Mobileヘルスバーが出るので、
          それをターゲットする感じでいけるような気もしますがどうなんでしょう・・・

          ボスの名前が通常のmobと必ず違う、って事なら、
          UIに含まれている名前データ以外のMobのヘルスバーをドラッグ or and クリックする、
          くらいならカスタムUIに機能追加すれば出来ますが実際どうなのかわからないのでなんともw

          あと、オブハンって2DとSAでそんなに違いましたっけ?
          (最近は2D殆ど使ってないので・・・ちょっと2D立ち上げてオブハン出して見た感じでは分かりませんでした ^^;)
          SAだとフィルターが設定出来るくらいで後は同じだと思ってたんですけど、
          2Dなら出来るけどSAだと出来ない事とか、その辺の違いを今度(コメントでもいいです)教えてください ^^;

          とりあえず、死体を探すときは、
          行動[その他]の「Switch Object Handle」から(またはこのページにあるオブジェクトハンドルフィルター用コマンドで)
          フィルターを「死体」にセットすると多少は探しやすいかと思います(モンスの死体も一緒に出ちゃうので結局分からないかもですが・・・)

  2. EJで復帰してあれこれ調べていてここにたどり着きました。
    こちらのサイトはとても分かりやすく、有用な情報が多くありがたいです。
    しかも現在でも更新されていてうれしい!

    もしよろしければ教えてほしいのですが
    設定したリストックを、マクロから利用する方法が知りたいです。

    デバッグウインドウのログを見て出てきたファンクションを
    呼び出したりしてみたのですが全然違うみたいでダメでした・・
    (そもそも呼び出し方が正しいのかもわかっていない)

    コマンドから利用できる変数やファンクションのマニュアルみたいなものがあるのでしょうか?
    もしあるのならそちらも教えて頂けるとありがたいです。
    よろしくお願いします。

    1. コメント&ご感想ありがとうございます!
      わたし自身も昨年にすごく久しぶりに復帰したので、少しでもこのサイトが似たような境遇の方のお役に立てば嬉しいです。

      ご質問の件ですが、

      ■リストックに関して:
      結論から言うと、(現状では)マクロから実行するのは不可能な様です。
      コンテナのリストックボタンを押した際にリストック元のコンテナが決定される(ボタンが押されたコンテナのIDを保持する)仕組みになっているので、単純にリストック開始用の関数( ContainerWindow.Restocks() )を実行しただけでは動作しないと思います。
      # 一応補足しておくと、上記関数をマクロから実行する場合は、行動→その他の「コマンド」で「script ContainerWindow.Restocks()」を入力しておきます。(ご説明差し上げた通り、関数を呼び出しただけではリストックが動かないので、これは意味がありませんが。。。)
      マクロから使用する為には、コンテナのIDや実行するリストックの種類などを保持して、それらを元にリストックを実行させるスクリプトを書く必要があると思いますが、なかなか難しそうですね ^^;

      ■コマンドから利用できる変数やファンクションのマニュアル:
      コマンドから利用できる物、となると残念ながらそういった物を見たことがありません。
      基本的な関数・変数のマニュアルは下記URLになりますが、これは、カスタムUIやmodを作成する際のマニュアルなので・・・。
      http://jp.uo.com/game/custom_ui/files/Introduction-txt.html
      わたしの場合は、標準UIのソース( Ultima Online Enhanced/UserInterface/Default.zip )を見て当たりを付けていく感じです。
      単純に関数を呼び出すだけで動く物であればマクロのコマンドからも実行出来ますので。
      # リストックの様に、ボタンを押した際に押されたウィンドウのIDを利用して何かする、とか、だとそのままでは動かないですが。。。
      # あと、ユーザーの動作(クリックなど)を伴わないと実行を受け付けない(と思われる)関数が一部あります。

      と、こんな感じで、あまりお役に立つ情報が無くてすみません。

  3. 詳しく教えて頂き感謝します!
    リストックの関数が3つ引数を受け取っていて、わからなかったのですがそういうことだったんですね。
    一日悩んだのですが不可能だったとはガッカリです・・

    みなさん簡単にコマンドを使っていらしたので、なにか手引書があるのかなと思ったのですが
    簡単ではないようですね。少なくとも自分にはかなり敷居が高い感じです。
    UOのゲームの方も新しい要素が多くてわからない事が多く、マクロの方も理解するには時間がかかりそうです。
    教えて頂いた情報をもとに、少しづつ楽しみながら理解していこうと思います。
    ありがとうございます。

    こちらのサイトは本当に有用な情報の宝庫で、これからも利用させていただきます!
    応援してます!

    1. コメントありがとうございます
      今回はお役に立てずすみません m(__)m

      わたしも昨年復帰した時は浦島太郎状態でしたが(と言うか、以前プレイしていた時の事もかなり忘れていました)、却って新鮮で楽しめました ^^
      良いUOライフをお送りください!

  4. EJの基本プレイ無料の甘い蜜に引き寄せられ10数年ぶりに復帰しました。
    始めた当時はUOR?でトラメルが出来て、やめたころは徳之島の時でした。
    こちらのHPを見て、SAクライアントではじめて分からないながらも楽しくやっています。
    ここで質問なのですが、錬成スキルを上げる際のマクロについてです。
    連続して錬成したり、その他便利なマクロは組めますか?
    なにかいい案あればよろしくお願いします。

    1. コメントありがとうございます!

      以前のプレイ期間がUOR~UOSEというと、わたしより先輩でプレイ期間は同じくらいな感じですね(私はLBR~UOML少し後までなので)
      その後のUOSAとUOToLでの変更が大きいと思いますので、浦島具合は同じですね ^^;

      さて、ご質問の件ですが・・・
      抽出ではない、通常の練成でのスキル上げだと再練成を繰り返すことになると思いますが、
      標準UIだと、「行動」→「Craftingユティリティー」の各マクロが現状全く動作しないので、練成のスキル上げに便利なマクロとなると、Pinco’s UIを使用するしかないと思います。
      (わたしはPinco’s UIを使っていないので自分では確認していませんが、Pinco’s UIならCraftingユティリティーの各マクロが動作するようです。)
      # ClifeUIでもCraftingユティリティーが動くようにしないといけないと思いつつおざなりになってしまってます。。。

      あとは、(マクロではありませんが)既にご存じかもしれませんが、
      「Agents Settings」の「Restock」に練成素材(宝石や魔法の残骸など)や練成対象の作成に使うインゴットなどを登録しておくと多少は楽になるかと思います。(登録時はアイテム名を英語表記にしてから。)
      あまりお役に立てる情報が無くてすみません m(__)m

      1. 返信遅くなりました。
        お話のあったPinco’s UIインストールしてやってみましたが、私の環境では、バックパックの中身が見えないやらPDの表示がおかしいやら、錬成のコマンドのところまでたどり着くのに一苦労でした。苦労しながらもなんとかマクロを組んでみましたが、再錬成のボタンをクリックする部分を20回程度の繰り返しのマクロでもだいぶ楽にはなりました。しかしながらその他の部分が残念すぎで、通常使用には耐えないかんじです。
        ぜひ ClifeUi での対応期待しています!

        1. 返信ありがとうございます!

          どうやら Pinco’s UIの最近の更新で、マルチバイト環境だとPDやコンテナの中身が見えない等のバグがあった様です。
          ご紹介したタイミングが悪くご面倒をお掛けしてすみませんでした。

          標準UIでCraftingユティリティーが動かないのは、
          ガンプ用データのパースが上手く出来てないからじゃないかと推測してはいるのですが、時間が取れたらよく見てみますね。

  5. こんにちは
    最近、慣れない3Dに移行しながら、環境を整えております
    その中で、こちらに出会い、詳しい説明と分かりやすい説明で、大変便利に使わせていただいております

    さて、シャドーガードの酒を投げるマクロですが、
    敵を倒した後、一番近くの死体に投げてしまう事が多々あります
    その場合、手動で動いている敵をターゲットすれば解消されます
    おそらく、その他のフィルターのところに記載されているコマンドで解消するのだと思いますが、
    自分には分からないので、具体的なコマンドをご教示いただけると嬉しいです

    1. コメント&ご感想ありがとうございます!

      さて、シャドウガード酒瓶マクロの件ですが、
      1.のコマンドは ClifeUI でしか使えないコマンドで、デフォルトUIをご利用の場合は意味がありません。。。

      また、このマクロは、マクロ実行前に任意の対象をターゲットしておき、そのターゲットに対して酒瓶を投げる目的で組んであるので、
      「近くの敵」に対して自動で酒瓶を投げるマクロにしたい場合は下記の様にマクロを組みます。

      1. 行動→ターゲット→「最も近い敵をターゲット」
      2. アイテム「リカーの瓶」:ターゲット[現在の対象]

      蛇足になるかもしれませんが、その他→「コマンド」の使い方を念のため。

      1. マクロ編集画面に、行動→その他→「コマンド」をドロップ。
      2. ドロップした「コマンド」アイコンを右クリック→「編集」
      3. コマンド文字を入力する画面が出るので、そこにコマンドを入力。
       (酒瓶マクロの場合だと script ClfActions.convTargetToEnemy() を入力。Ctrl + V キーでペースト出来ますので、入力したい文字をコピーしておいてペーストするとラクです)

      これで回答になっているでしょうか?
      不明な点などありましたらご遠慮なくどうぞ!

      1. 早速のお返事ありがとうございます
        まずはClifeUIは導入させていただいており、すごく重宝させていただいております
        デフォでは行き届かない細かな心配りに大変感謝しております

        まずは、ご指示の通り「最も近い敵」変更した結果、
        間にペットがいても海賊に向けて投げる事を確認できました
        ありがとうございました(これだとデフォの機能だけで十分ですね)

        コマンドのコピペの仕方は理解できており、ブログ内でご紹介いただいているマクロを
        色々と登録させて頂き、重宝しております
        改めてお礼申し上げます
        ただ、コピぺの不具合というか(もしかすると私の環境だけなのかもしれませんが)
        uo内のコマンドに貼ろうとすると「~」が入ってしまいます
        具体的に言うと
        今回の私の質問への回答欄に記載されていたコマンドをuo内のコマンドに貼り付けると
        script ClfActions.convTargetToEnemy() と正しくペーストされますが
        近くの敵をペットで攻撃→ClifeUI使用時→5番 に紹介されているコマンドをコピーして、uo内のコマンドに貼り付けると
        script~ClfActions.convTargetToEnemy() と「~」が入ってしまい、結果、そのコマンドは無効ですと言われてしまいました
        対処法は~を消して、空白を入力でOKですが、ご参考までに・・・
        ※win8.1のブラウザはchromからコピーしております
        (コピーの仕方は、記事内のコマンド部にマウスを当てると、コピーコマンドが浮かび上がってくるので
        それをクリックしてコピーです)

        説明が下手で申し訳ありませんが、理解できなければスルーしていただいて構いません

        1. 詳細のお返事ありがとうございます!

          そうすると、問題は以下の2点ですかね。
          ■(1). ブログ上のコマンドをコピーすると、空白が「~」になってしまう。
          ■(2). ClfActions.convTargetToEnemy() コマンドが正常に敵性Mobをターゲットしない事がある(死体をターゲットしてしまう)

          (1)については、(全てでは無いと思いますが)ブログ中のコマンド文字のうち、ペーストすると文字化けしてしまう「空白」が含まれている物があったようです。
          これについては先ほどjavascriptを修正したので、ブラウザのリロードを行ってもらえば直っていると思います。

          (2)については、Mobを判定するデータの遅延のせいかもしれません。
          「ユーザー設定」→「Mobiles Bar」タブのなかほど、「アップデートの遅延」を小さめにするか、
          チャット入力で /script ClfActions.toggleFilterEnemy() としてコマンドを実行すると、convTargetToEnemyが取得するデータをMobiles Barのデータに関係無く取得するかどうかを切り替えられるので、お試しくださいませ。

          1. 回答ありがとうございました
            以下、ご報告させていただきます
            対応ありがとうございました

            (1)について、修正されたことを確認できました

            (2)については、「アップデートの遅延」が1だったので、0.5と0で試しましたがダメでした
            チャット入力で /script ClfActions.toggleFilterEnemy() としてコマンドを実行すると、
            問題無いことを確認しました

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

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