Skip to content

JA UO Topic party

Codex edited this page Oct 12, 2026 · 4 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

パーティー

家 · C# · IDE · UO API · A–Z · 例 · Languages

グループの招待状、メンバー、終了、メッセージ。これらの取引は、一般的な言論や商業取引とは異なります。

セクション

トピック コマンドと説明
InParty UO.InParty
Invite UO.InviteToParty
Accept UO.PartyAcceptInvite
Decline UO.PartyDeclineInvite
Leave UO.PartyLeave
Remove Member UO.RemoveFromParty
Members List UO.PartyMembersList
PartySay UO.PartySay
プライベートパーティーメッセージ UO.PartyPrivateMessageTo

すべてのテーマコマンド

パーティー

UO.InParty · UO.InviteToParty · UO.PartyAcceptInvite · UO.PartyDeclineInvite · UO.PartyLeave · UO.RemoveFromParty · UO.PartyMembersList · UO.PartyCanLootMe · UO.PartySay · UO.PartyPrivateMessageTo

このトピックに関する例

各コマンド カードには、直接コード、関数、クラスなどのいくつかの独立したシナリオがあります。以下は厳選された短いシナリオです。制限と完全な分析がカードに含まれています。

UO.PartyMembersList

パラメータ、結果、およびすべてのシナリオ

var members = UO.PartyMembersList();
UO.Print(UO.GetArrayLength(members));

UO.PartySay

パラメータ、結果、およびすべてのシナリオ

UO.PartySay("Ready");

コマンドの完全なリファレンス


UO.InParty

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

int UO.InParty();

クライアントのパーティー ステータスに基づいて、現在のグループの存在を確認します。

引数

パラメータはありません。

戻り値

int 1 — ゼロではないserial リーダーが党内で知られています。 int 0 - リーダーはいません。これは参加者数やリスト内の自分のキャラクターのインデックスではありません。

コマンドの結果は数値フラグです。1 は条件が満たされたことを意味し、0 は条件が満たされていないことを意味します。 var result = command(...) の後、(result != 0) または (result == 0) を確認します。 1 回の呼び出しの結果を保存します。呼び出しを繰り返すと、アクションを再度実行したり、すでに変更された状態を読み取ることができます。

動作

  • ローカル クライアント モデルが読み取られます。サーバーへのリクエストはなく、待機や移動もありません。
  • 結果は読書の瞬間を指します。 UO.Wait またはその他のアクションの後、オブジェクトとそのフラグが変更される場合があります。
  • このクライアントは、空ではないリスト行の数だけでなく、Party.Leader もチェックします。招待が受け入れられると、サーバーの更新後にステータスが変わります。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。

var result = UO.InParty();
UO.Print("InParty: " + Convert.ToString(result));

1。グループの存在に基づいたフォーク スクリプト - 直接スクリプト

引数と実行の流れ:

  • 議論はありません。現在のキャラクターのグループがチェックされます。
  • チームはグループを作成せず、招待を受け入れません。
if (Truth(UO.InParty()))
{
    UO.Print("Party is active");
}
else
{
    UO.Print("No active party");
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

2。状態を一度保存​​ - スクリプト関数

引数と実行の流れ:

  • inParty は数値 bool であり、参加者の数ではありません。
  • 変数を再利用しても、変更されたグループは再読み込みされません。
return  RunScenario();
 object? RunScenario()
{
    var inParty = UO.InParty();
    UO.Print("Party 1/0: " + Convert.ToString(inParty));
    return null;
}

3。更新を待つのは数回のチェックのみ - スクリプト クラス

引数と実行の流れ:

  • 10 の一時停止時間は 200 ミリ秒以内です。サイクルは、コマンドの実行を加えた約 2 秒に制限されます。
  • 待機しても、招待状は送信されず、グループへのメンバーシップも保証されません。
return await new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenarioAsync();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

    async public Task<object?> RunScenarioAsync()
    {
        var attempts = 0;
        while (Truth(UO.InParty() == 0) && Truth(attempts < 10))
        {
            await Delay(200);
            attempts = attempts + 1;
        }

        if (Truth(UO.InParty()))
        {
            UO.Print("Party state received");
        }
        else
        {
            UO.Print("Party still absent");
        }

        return null;
    }

    Task Delay(object? milliseconds) => WaitAsync(checked((int)Convert.ToDouble(milliseconds)));
    bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.InParty() — UO.InParty()

引数: 引数はありません。

結果: int / Integer.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "inparty": return new InjectionValue(bridge.InParty());

UO.InviteToParty

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

void UO.InviteToParty(object? objID);

キャラクターをグループに参加させるための招待をリクエストします。

引数

  • objID — シリアル/ID オブジェクト: int、数値/16 進文字列、または確立されたエイリアス (例: "lasttarget")。これはgraphic/typeではありません。アクションを実行する前に、ロードされたオブジェクトを確認してください。

戻り値

void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。

動作

  • PartyInvite は _manager.QueueTarget を介して serial を呼び出し、その後 RequestPartyInviteByTarget を呼び出します。まず、ターゲットのキューが準備され、その後、招待リクエストが送信されます。
  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。

UO.Print("Calling UO.InviteToParty");
UO.InviteToParty(UO.GetSerial("lasttarget"));

1。直接呼び出し - 直接スクリプト

引数と実行の流れ:

  • キャラクターをグループに参加させるための招待をリクエストします。
var id = UO.GetSerial("lasttarget");
if (Truth(UO.Exists(id)))
{
    UO.InviteToParty(id);
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

2。明示的なオプション - スクリプト関数

引数と実行の流れ:

  • PartyInvite は _manager.QueueTarget を介して serial を呼び出し、その後 RequestPartyInviteByTarget を呼び出します。まず、ターゲットのキューが準備され、その後、招待リクエストが送信されます。
return  RunScenario();
 object? RunScenario()
{
    var id = UO.GetSerial("self");
    if (Truth(UO.Exists(id)))
    {
        UO.InviteToParty(id);
    }

    return null;
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3。完全なヘルパー関数 - スクリプト クラス

引数と実行の流れ:

  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        ApplyToLoaded(UO.GetSerial("lasttarget"));
        return null;
    }

    void ApplyToLoaded(dynamic id)
    {
        if (Truth(UO.Exists(id)))
        {
            UO.InviteToParty(id);
        }
    }

    bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.InviteToParty(objID) — UO.InviteToParty(Any)

引数: objID (Any)

結果: void / Unit.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "invitetoparty": bridge.PartyInvite(Arg(0)); return InjectionValue.Unit;

UO.PartyAcceptInvite

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

void UO.PartyAcceptInvite();

保存されたグループへの招待を受け入れます。

引数

パラメータはありません。

戻り値

void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。

動作

  • PartyAcceptInvite Party.Inviter がゼロ以外の場合、RequestPartyAccept を送信し、ローカルで Leader=Inviter を割り当て、Inviter をクリアします。招待がなければアクションはありません。
  • 例では、UO.Wait はスクリプトの一時停止のみを指定します。一時停止が終了しても、サーバーがリクエストを完了したことは証明されません。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。

UO.Print("Calling UO.PartyAcceptInvite");
UO.PartyAcceptInvite();

1。直接呼び出し - 直接スクリプト

引数と実行の流れ:

  • 保存されたグループへの招待を受け入れます。
UO.PartyAcceptInvite();

2。明示的なオプション - スクリプト関数

引数と実行の流れ:

  • PartyAcceptInvite Party.Inviter がゼロ以外の場合、RequestPartyAccept を送信し、ローカルで Leader=Inviter を割り当て、Inviter をクリアします。招待がなければアクションはありません。
return  RunScenario();
 object? RunScenario()
{
    UO.PartyAcceptInvite();
    UO.Print(UO.InParty());
    return null;
}

3。完全なヘルパー関数 - スクリプト クラス

引数と実行の流れ:

  • 例では、UO.Wait はスクリプトの一時停止のみを指定します。一時停止が終了しても、サーバーがリクエストを完了したことは証明されません。
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        UO.PartyAcceptInvite();
        UO.Wait(500);
        UO.Print(UO.GetArrayLength(UO.PartyMembersList()));
        return null;
    }
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.PartyAcceptInvite() — UO.PartyAcceptInvite()

引数: 引数はありません。

結果: void / Unit.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "partyacceptinvite": bridge.PartyAcceptInvite(); return InjectionValue.Unit;

UO.PartyCanLootMe

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

void UO.PartyCanLootMe(object? value);

パーティーメンバーが死体からアイテムを削除できるかどうかを変更します。

引数

  • value - 0 がオフになります。ゼロ以外の整数にはすべてが含まれます。

戻り値

void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。

動作

  • PartyCanLoot はローカルで Party.CanLoot を設定し、RequestPartyLootState (有効) を呼び出します。ゼロ以外の値はオンになり、0はオフになります。サーバーは引き続きルールをチェックします。
  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。

UO.Print("Calling UO.PartyCanLootMe");
UO.PartyCanLootMe(1);

1。直接呼び出し - 直接スクリプト

引数と実行の流れ:

  • パーティーメンバーが死体からアイテムを削除できるかどうかを変更します。
UO.PartyCanLootMe(1);

2。明示的なオプション - スクリプト関数

引数と実行の流れ:

  • PartyCanLoot はローカルで Party.CanLoot を設定し、RequestPartyLootState (有効) を呼び出します。ゼロ以外の値はオンになり、0はオフになります。サーバーは引き続きルールをチェックします。
return  RunScenario();
 object? RunScenario()
{
    UO.PartyCanLootMe(0);
    return null;
}

3。完全なヘルパー関数 - スクリプト クラス

引数と実行の流れ:

  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        ApplyMode(1);
        return null;
    }

    void ApplyMode(dynamic mode)
    {
        UO.PartyCanLootMe(mode);
    }
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.PartyCanLootMe(value) — UO.PartyCanLootMe(Any)

引数: value (Any)

結果: void / Unit.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "partycanlootme": bridge.PartyCanLoot(Arg(0) != 0); return InjectionValue.Unit;

UO.PartyDeclineInvite

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

void UO.PartyDeclineInvite();

保存されたグループへの招待を拒否します。

引数

パラメータはありません。

戻り値

void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。

動作

  • PartyDeclineInvite Party.Inviter がゼロ以外の場合、Send_PartyDecline を送信し、Inviter をクリアします。招待がなければアクションはありません。
  • 例では、UO.Wait はスクリプトの一時停止のみを指定します。一時停止が終了しても、サーバーがリクエストを完了したことは証明されません。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。

UO.Print("Calling UO.PartyDeclineInvite");
UO.PartyDeclineInvite();

1。直接呼び出し - 直接スクリプト

引数と実行の流れ:

  • 保存されたグループへの招待を拒否します。
UO.PartyDeclineInvite();

2。明示的なオプション - スクリプト関数

引数と実行の流れ:

  • PartyDeclineInvite Party.Inviter がゼロ以外の場合、Send_PartyDecline を送信し、Inviter をクリアします。招待がなければアクションはありません。
return  RunScenario();
 object? RunScenario()
{
    UO.PartyDeclineInvite();
    UO.Print(UO.InParty());
    return null;
}

3。完全なヘルパー関数 - スクリプト クラス

引数と実行の流れ:

  • 例では、UO.Wait はスクリプトの一時停止のみを指定します。一時停止が終了しても、サーバーがリクエストを完了したことは証明されません。
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        UO.PartyDeclineInvite();
        UO.Wait(500);
        UO.Print(UO.GetArrayLength(UO.PartyMembersList()));
        return null;
    }
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.PartyDeclineInvite() — UO.PartyDeclineInvite()

引数: 引数はありません。

結果: void / Unit.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "partydeclineinvite": bridge.PartyDeclineInvite(); return InjectionValue.Unit;

UO.PartyLeave

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

void UO.PartyLeave();

現在のキャラクターにグループからの脱退を要求します。

引数

パラメータはありません。

戻り値

void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。

動作

  • PartyLeave プレイヤーがいる場合、GameActions.RequestPartyQuit(_world.Player); を呼び出します。 Player がないと何も送信されません。
  • 例では、UO.Wait はスクリプトの一時停止のみを指定します。一時停止が終了しても、サーバーがリクエストを完了したことは証明されません。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。

UO.Print("Calling UO.PartyLeave");
UO.PartyLeave();

1。直接呼び出し - 直接スクリプト

引数と実行の流れ:

  • 現在のキャラクターにグループからの脱退を要求します。
UO.PartyLeave();

2。明示的なオプション - スクリプト関数

引数と実行の流れ:

  • PartyLeave プレイヤーがいる場合、GameActions.RequestPartyQuit(_world.Player); を呼び出します。 Player がないと何も送信されません。
return  RunScenario();
 object? RunScenario()
{
    if (Truth(UO.InParty()))
    {
        UO.PartyLeave();
    }

    return null;
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3。完全なヘルパー関数 - スクリプト クラス

引数と実行の流れ:

  • 例では、UO.Wait はスクリプトの一時停止のみを指定します。一時停止が終了しても、サーバーがリクエストを完了したことは証明されません。
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        UO.PartyLeave();
        UO.Wait(500);
        UO.Print(UO.InParty());
        return null;
    }
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.PartyLeave() — UO.PartyLeave()

引数: 引数はありません。

結果: void / Unit.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "partyleave": bridge.PartyLeave(); return InjectionValue.Unit;

UO.PartyMembersList

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

dynamic UO.PartyMembersList();

Bridge は空ではない Party.Members エントリをフィルタリングして除外し、リスト順に serial を保存します。

引数

パラメータはありません。

戻り値

地元の Party.Members からの int serial メンバーを配列します。空のエントリ/Serial=0は除外されます。配列は空である可能性があります。

動作

  • Bridge は空ではない Party.Members エントリをフィルタリングして除外し、リスト順に serial を保存します。この呼び出しではサーバーからグループが更新されず、メンバーも招待されません。
  • 現在のローカル状態を読み取ります。パッケージ、ターゲット、自動アップデートはありません。個々の読み取りでは異なる状態が表示される場合があります。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。

object? result = UO.PartyMembersList();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));

1。直接呼び出し - 直接スクリプト

引数と実行の流れ:

  • Bridge は空ではない Party.Members エントリをフィルタリングして除外し、リスト順に serial を保存します。
var members = UO.PartyMembersList();
UO.Print(UO.GetArrayLength(members));

2。明示的なオプション - スクリプト関数

引数と実行の流れ:

  • Bridge は空ではない Party.Members エントリをフィルタリングして除外し、リスト順に serial を保存します。この呼び出しではサーバーからグループが更新されず、メンバーも招待されません。
return  RunScenario();
 object? RunScenario()
{
    var members = UO.PartyMembersList();
    if (Truth(UO.GetArrayLength(members) > 0))
    {
        UO.Print(Hex(members[0]));
    }

    return null;
}

string Hex(object? value) => Convert.ToInt64(value).ToString("X");
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3。完全なヘルパー関数 - スクリプト クラス

引数と実行の流れ:

  • 現在のローカル状態を読み取ります。パッケージ、ターゲット、自動アップデートはありません。個々の読み取りでは異なる状態が表示される場合があります。
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        var before = UO.PartyMembersList();
        UO.Wait(500);
        var after = UO.PartyMembersList();
        UO.Print(before);
        UO.Print(after);
        return null;
    }
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.PartyMembersList() — UO.PartyMembersList()

引数: 引数はありません。

結果: dynamic / Any.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "partymemberslist":

                    return new InjectionValue(bridge.PartyMembersList().Select(serial => new InjectionValue(serial)).ToArray());

UO.PartyPrivateMessageTo

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

void UO.PartyPrivateMessageTo(object? objID, object? msg);

グループメンバーにプライベートメッセージを送信します。

引数

  • objID — シリアル/ID オブジェクト: int、数値/16 進文字列、または確立されたエイリアス (例: "lasttarget")。これはgraphic/typeではありません。アクションを実行する前に、ロードされたオブジェクトを確認してください。
  • msg — テキスト経由 ToString;送信済みとして保存されます。

戻り値

void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。

動作

  • PartySay は Text(1) と Arg(0) を取得します。 GameActions.SayParty(テキスト、serial) は、送信されたserial にメッセージをアドレス指定します。順序は、最初に ObjID、次に Msg です。
  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。

UO.Print("Calling UO.PartyPrivateMessageTo");
UO.PartyPrivateMessageTo("lasttarget", "Ready");

1。直接呼び出し - 直接スクリプト

引数と実行の流れ:

  • グループメンバーにプライベートメッセージを送信します。
UO.PartyPrivateMessageTo("lasttarget", "Ready");

2。明示的なオプション - スクリプト関数

引数と実行の流れ:

  • PartySay は Text(1) と Arg(0) を取得します。 GameActions.SayParty(テキスト、serial) は、送信されたserial にメッセージをアドレス指定します。順序は、最初に ObjID、次に Msg です。
return  RunScenario();
 object? RunScenario()
{
    var id = UO.GetSerial("lasttarget");
    if (Truth(UO.Exists(id)))
    {
        UO.PartyPrivateMessageTo(id, "Ready");
    }

    return null;
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3。完全なヘルパー関数 - スクリプト クラス

引数と実行の流れ:

  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        SendPartyMessage(UO.GetSerial("lasttarget"), "Ready");
        return null;
    }

    void SendPartyMessage(dynamic id, dynamic message)
    {
        if (Truth(id != "0x00000000") && Truth(Len(message) > 0))
        {
            UO.PartyPrivateMessageTo(id, message);
        }
    }

    int Len(object? value) => Convert.ToString(value)?.Length ?? 0;
    bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.PartyPrivateMessageTo(objID, msg) — UO.PartyPrivateMessageTo(Any,Any)

引数: objID (Any), msg (Any)

結果: void / Unit.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "partyprivatemessageto": bridge.PartySay(Text(1), Arg(0)); return InjectionValue.Unit;

UO.PartySay

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

void UO.PartySay(object? msg);

グループ全体にメッセージを送信します。

引数

  • msg — テキスト経由 ToString;送信済みとして保存されます。

戻り値

void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。

動作

  • GameActions.SayParty(テキスト、0) を呼び出します。 Null serial はグループ メッセージを意味します。グループの構成と配信はサーバーによって決定されます。
  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。

UO.Print("Calling UO.PartySay");
UO.PartySay("Ready");

1。直接呼び出し - 直接スクリプト

引数と実行の流れ:

  • グループ全体にメッセージを送信します。
UO.PartySay("Ready");

2。明示的なオプション - スクリプト関数

引数と実行の流れ:

  • GameActions.SayParty(テキスト、0) を呼び出します。 Null serial はグループ メッセージを意味します。グループの構成と配信はサーバーによって決定されます。
return  RunScenario();
 object? RunScenario()
{
    var message = "Ready";
    if (Truth(UO.IsOnline()))
    {
        UO.PartySay(message);
    }

    return null;
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3。完全なヘルパー関数 - スクリプト クラス

引数と実行の流れ:

  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        SendText("Ready");
        return null;
    }

    void SendText(dynamic message)
    {
        if (Truth(Len(message) > 0))
        {
            UO.PartySay(message);
        }
    }

    int Len(object? value) => Convert.ToString(value)?.Length ?? 0;
    bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.PartySay(msg) — UO.PartySay(Any)

引数: msg (Any)

結果: void / Unit.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "partysay": bridge.PartySay(Text(0), 0); return InjectionValue.Unit;

UO.RemoveFromParty

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# のシグネチャ

void UO.RemoveFromParty(object? objID);

serial までにグループメンバーの削除をリクエストします。

引数

  • objID — シリアル/ID オブジェクト: int、数値/16 進文字列、または確立されたエイリアス (例: "lasttarget")。これはgraphic/typeではありません。アクションを実行する前に、ロードされたオブジェクトを確認してください。

戻り値

void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。

動作

  • PartyRemove が RequestPartyRemoveMember を呼び出します。解決策は、現在のキャラクターとサーバーの役割によって異なります。参加者のリストは、このコマンドによって同期的に変更されません。
  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。

単独で実行できる C# スクリプト

各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。

簡単な例

このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。

コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。

UO.Print("Calling UO.RemoveFromParty");
UO.RemoveFromParty(UO.GetSerial("lasttarget"));

1。直接呼び出し - 直接スクリプト

引数と実行の流れ:

  • serial までにグループメンバーの削除をリクエストします。
var id = UO.GetSerial("lasttarget");
if (Truth(UO.Exists(id)))
{
    UO.RemoveFromParty(id);
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

2。明示的なオプション - スクリプト関数

引数と実行の流れ:

  • PartyRemove が RequestPartyRemoveMember を呼び出します。解決策は、現在のキャラクターとサーバーの役割によって異なります。参加者のリストは、このコマンドによって同期的に変更されません。
return  RunScenario();
 object? RunScenario()
{
    var id = UO.GetSerial("self");
    if (Truth(UO.Exists(id)))
    {
        UO.RemoveFromParty(id);
    }

    return null;
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3。完全なヘルパー関数 - スクリプト クラス

引数と実行の流れ:

  • Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        ApplyToLoaded(UO.GetSerial("lasttarget"));
        return null;
    }

    void ApplyToLoaded(dynamic id)
    {
        if (Truth(UO.Exists(id)))
        {
            UO.RemoveFromParty(id);
        }
    }

    bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}

コマンドの実装

C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。

UO.RemoveFromParty(objID) — UO.RemoveFromParty(Any)

引数: objID (Any)

結果: void / Unit.

呼び出し時:

内部実装のコードです。単独のスクリプトとして実行できません。

case "removefromparty": bridge.PartyRemove(Arg(0)); return InjectionValue.Unit;

Clone this wiki locally