2マス以内の棺桶を(条件付きで)クリックするコマンドを追加。ClifeUI更新

自分から2マス以内にある死体(棺桶)をクリックするコマンドをClifeUI(カスタムUI)に追加しました

よく使うSAクライアント用マクロ」で紹介している「棺桶を開いてルートする」マクロの場合、新しい棺桶を開けない事が多々あるので、自分から2マス以内にある死体(棺桶)をクリックするコマンドを追加しました。
※ クリック出来る死体には条件があるので、下記の条件を必ずご覧ください

下記コマンドで自分から2マス以内の死体をクリックします(カレントターゲットにする)。
(カーソルがターゲットカーソル状態の時はターゲットします)

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

    script ClfActions.clickNearCorpse()

対象になる死体が無い場合は何もしません。

クリック可能な条件

はじめに:
このコマンドでは、死体を選択するためにコマンド実行以前の直近のオブジェクトハンドル(以下、オブハン)表示時のデータを使用しています。
# フィールド上の(生物以外の)オブジェクトのデータを取得する方法がそれ以外に無いため。

  1. コマンド実行以前に、一度もオブハンを表示していなければ何もしません。
  2. オブハンフィルターがアイテムや死体を表示しない設定になっていると、死体のデータが取得出来ないため、死体をクリック出来ません。※ 移動型ターゲットやNPCなどのオブハンフィルター時は動作しないという事。
  3. オブハンの文字フィルターが有効な場合は、フィルター文字列によりオブハン表示対象外になった死体もクリック出来ません。
  4. オブハン表示後に新たに増えた死体(または移動して画面内に入った死体)はクリック出来ません。

つまり、オブハンフィルターが「デフォルト」「死体」「アイテムのみ」「Lost Items Only」のいずれか(および文字フィルターにより死体が対象外ではない時)で、
オブハン表示中、または、コマンド実行直前にオブハンを表示してからコマンドを実行すると(周囲に死体があれば)確実に2マス以内の死体をクリック出来ます。

また、「ユーザー設定」→「オプション」→「死体を非表示にする」にチェックを入れておけば、オブハンから(もしくは後述のマクロから)棺桶を開いた死体は一定時間オブハンが非表示になるので、この設定を有効にしておく事をお勧めします
※ この設定が無効だと、既に開いた事のある死体もクリックする対象になります。

このコマンドを使用したマクロの例

補足: 下記のマクロを Ctrl + Shift + 任意のキー で実行する様にしておけば、オブハンを表示→マクロ実行、となるので、ワンアクションで済みます。(ちなみに筆者の場合、 Ctrl + Shift をマウスのサイドボタンに割り当ててます)

周囲の棺桶を開く

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

※ リピート機能にチェックを入れてリピート回数を設定しておくと、1回の実行で複数の棺桶を開けます。
※ 1. のターゲットは必須ではありません。クリック対象の死体が無かった時に、例えば、騎乗可能なペットがカレントターゲットになっていた際に誤って騎乗してしまうのを避ける、等の誤爆よけです。
行動「ターゲット」→「Target by Type」で、必ず持ち歩いているアイテムの中でダブルクリックしても何も起きないタイプの物(ゴールド等)を設定しておいた方が確実かも?

棺桶を開いてルートする

こちらも上記マクロと同様に 1. のターゲットは誤爆よけです。

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

皮剥ぎ&棺桶ルート

こちらも 1. のターゲットは誤爆よけです。

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

 

 

このコマンドについては以上です。

カスタムUI(ClifeUI)のダウンロードはこちらのページからどうぞ。

 

“2マス以内の棺桶を(条件付きで)クリックするコマンドを追加。ClifeUI更新”への4件のコメント

  1. EJで復帰後、UOSAクラで遊ぶようになり、知り合いにこちらのカスタムUIを紹介してもらい、それ以降、ずっと使わせていただいております。すばらしいカスタムUIを公開してくださり、ほんとにありがとうございます。
    一つだけ不思議なのですが、クライアントが落ちて再起動すると、UIが初期化されてしまいます。
    定期的にバックアップを取って、初期化されたら書き戻すようにしているのですが、これってうちだけの現象なのでしょうか?

    1. コメント&ご利用ありがとうございます。

      クライアントがクラッシュした際に、ユーザー設定(ホットバーやマクロなど)も含めて初期化されてしまう、という事でしょうか?
      大変お困りの事と思います。
      ただ、当方の環境ではそういった経験がありませんので推測になってしまうのですが…

      クライアント再起動で設定が初期化されてしまう場合に良くあるケースとして、
      「メインメニュー」→「Agents Settings」の各エージェント(Organizer~Scavenger)に登録されているアイテムの中にアイテム名が日本語で登録されているケースがあります。
      ※ 日本語のアイテム名を登録すると必ずなる、という訳では無く特定のアイテム名の場合になるようです。
      (既にご存じでしたらすみません)

      これは標準UIでも同じなので、回避するには、エージェントにアイテムを登録する際には
      「ユーザー設定」→「オプション」タブの「名称を英語で表示する」にチェック、または、
      「行動」→「その他」→「名称を英語で表示する」をホットバーなどから実行して、
      アイテム名が英語で表示されているのを確認してから登録するしかありません…。
      (それでも登録した際に文字化けしている場合は、一旦項目から削除し、対象のアイテムをドラッグ&ドロップしてから再度登録すると英語名が反映される事が多いです)

      また、各エージェントに既に登録してあるアイテムの中で文字化けしてしまっている物があるなら取り除いておいた方が良いです。
      (アイテム名を英語表示にしてから再度登録しないとなりませんが…)
      ゲーム中のAGENETS SETTINGS画面から削除→再登録しても構いませんが、
      XMLがお分かりになる場合は、キャラクター名の設定ファイルを開いて(BOM無しのUTF8です。バックアップしてから行ってください)
      <StringVar name="{設定名}" value="{アイテム名}" />
      といった感じのタグがいくつかあるはずなので、その中で {アイテム名} が文字化けしている物があれば、{アイテム名}を任意の半角文字(例えば zzz など)に置き換えます。
      XMLを編集して名前を書き換えた場合には再登録しなくても大丈夫です。(名前は分からなくなりますが)

      現時点で思い当たるのはこれくらいで、
      設定が初期化されてしまう直前の設定ファイルを見てみればもしかしたら分かるかも?といった具合ですので…。
      あまりお役に立つ情報が無くてすみません

      1. 素早いフォロー、ありがとうございます。感激です。

        >クライアント再起動で設定が初期化されてしまう場合に良くあるケースとして、
        >「メインメニュー」→「Agents Settings」の各エージェント(Organizer~Scavenger)に登録されているアイテムの中に
        >アイテム名が日本語で登録されているケースがあります。

        これは、知りませんでした。
        オーガナイザにゴールドを入れたことしかありませんでしたが、早速英語表記にして登録しなおしました。
        XMLファイルも確認し、文字化けがないことも確認しました。
        これで、しばらく様子を見てみます。

        こめんと、ありがとうございました。

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

          エージェントに登録するアイテム名が化けていると設定ファイルのXML構造が壊れてしまう場合があり、その時に(ログインした際に設定ファイルを正常に読み込めず)設定が初期化されてしまう様です。
          ただ、今回の場合、登録してあったのがゴールドだけで、それ以外に文字化けは無かったとの事ですので、他に原因があるかもしれませんね…。

          また設定が初期化されてしまった際には、クライアントを終了する前にその時点の設定ファイルをどこかにコピーしておいて、その内容を見てみるともしかしたら原因が分かるかもしれません。
          # もしかしたら設定ファイルが肥大化してしまって、クライアントの終了に設定の保存が追いついていない、といった可能性もゼロではありませんのでなんともいえませんが。

          今回はあまりお力になれずすみません、また何かありましたらお気軽にどうぞ。

コメントを残す

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