Repository navigation
JA UO Topic party
Українська · Русский · 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
各コマンド カードには、直接コード、関数、クラスなどのいくつかの独立したシナリオがあります。以下は厳選された短いシナリオです。制限と完全な分析がカードに含まれています。
var members = UO.PartyMembersList();
UO.Print(UO.GetArrayLength(members));UO.PartySay("Ready");Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.InParty();クライアントのパーティー ステータスに基づいて、現在のグループの存在を確認します。
パラメータはありません。
int 1 — ゼロではないserial リーダーが党内で知られています。 int 0 - リーダーはいません。これは参加者数やリスト内の自分のキャラクターのインデックスではありません。
コマンドの結果は数値フラグです。1 は条件が満たされたことを意味し、0 は条件が満たされていないことを意味します。 var result = command(...) の後、(result != 0) または (result == 0) を確認します。 1 回の呼び出しの結果を保存します。呼び出しを繰り返すと、アクションを再度実行したり、すでに変更された状態を読み取ることができます。
- ローカル クライアント モデルが読み取られます。サーバーへのリクエストはなく、待機や移動もありません。
- 結果は読書の瞬間を指します。 UO.Wait またはその他のアクションの後、オブジェクトとそのフラグが変更される場合があります。
- このクライアントは、空ではないリスト行の数だけでなく、Party.Leader もチェックします。招待が受け入れられると、サーバーの更新後にステータスが変わります。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。
var result = UO.InParty();
UO.Print("InParty: " + Convert.ToString(result));引数と実行の流れ:
- 議論はありません。現在のキャラクターのグループがチェックされます。
- チームはグループを作成せず、招待を受け入れません。
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;引数と実行の流れ:
- inParty は数値 bool であり、参加者の数ではありません。
- 変数を再利用しても、変更されたグループは再読み込みされません。
return RunScenario();
object? RunScenario()
{
var inParty = UO.InParty();
UO.Print("Party 1/0: " + Convert.ToString(inParty));
return null;
}引数と実行の流れ:
- 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 を使います。
引数: 引数はありません。
結果: int / Integer.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.InParty:bridge.InParty().
内部実装のコードです。単独のスクリプトとして実行できません。
case "inparty": return new InjectionValue(bridge.InParty());Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.InviteToParty(object? objID);キャラクターをグループに参加させるための招待をリクエストします。
-
objID— シリアル/ID オブジェクト: int、数値/16 進文字列、または確立されたエイリアス (例: "lasttarget")。これはgraphic/typeではありません。アクションを実行する前に、ロードされたオブジェクトを確認してください。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- PartyInvite は _manager.QueueTarget を介して serial を呼び出し、その後 RequestPartyInviteByTarget を呼び出します。まず、ターゲットのキューが準備され、その後、招待リクエストが送信されます。
- Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.InviteToParty");
UO.InviteToParty(UO.GetSerial("lasttarget"));引数と実行の流れ:
- キャラクターをグループに参加させるための招待をリクエストします。
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;引数と実行の流れ:
- 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;引数と実行の流れ:
- 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 を使います。
引数: objID (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyInvite:bridge.PartyInvite(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "invitetoparty": bridge.PartyInvite(Arg(0)); return InjectionValue.Unit;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.PartyAcceptInvite();保存されたグループへの招待を受け入れます。
パラメータはありません。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- PartyAcceptInvite Party.Inviter がゼロ以外の場合、RequestPartyAccept を送信し、ローカルで Leader=Inviter を割り当て、Inviter をクリアします。招待がなければアクションはありません。
- 例では、UO.Wait はスクリプトの一時停止のみを指定します。一時停止が終了しても、サーバーがリクエストを完了したことは証明されません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.PartyAcceptInvite");
UO.PartyAcceptInvite();引数と実行の流れ:
- 保存されたグループへの招待を受け入れます。
UO.PartyAcceptInvite();引数と実行の流れ:
- PartyAcceptInvite Party.Inviter がゼロ以外の場合、RequestPartyAccept を送信し、ローカルで Leader=Inviter を割り当て、Inviter をクリアします。招待がなければアクションはありません。
return RunScenario();
object? RunScenario()
{
UO.PartyAcceptInvite();
UO.Print(UO.InParty());
return null;
}引数と実行の流れ:
- 例では、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 を使います。
引数: 引数はありません。
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyAcceptInvite:bridge.PartyAcceptInvite().
内部実装のコードです。単独のスクリプトとして実行できません。
case "partyacceptinvite": bridge.PartyAcceptInvite(); return InjectionValue.Unit;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.PartyCanLootMe(object? value);パーティーメンバーが死体からアイテムを削除できるかどうかを変更します。
-
value- 0 がオフになります。ゼロ以外の整数にはすべてが含まれます。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- PartyCanLoot はローカルで Party.CanLoot を設定し、RequestPartyLootState (有効) を呼び出します。ゼロ以外の値はオンになり、0はオフになります。サーバーは引き続きルールをチェックします。
- Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.PartyCanLootMe");
UO.PartyCanLootMe(1);引数と実行の流れ:
- パーティーメンバーが死体からアイテムを削除できるかどうかを変更します。
UO.PartyCanLootMe(1);引数と実行の流れ:
- PartyCanLoot はローカルで Party.CanLoot を設定し、RequestPartyLootState (有効) を呼び出します。ゼロ以外の値はオンになり、0はオフになります。サーバーは引き続きルールをチェックします。
return RunScenario();
object? RunScenario()
{
UO.PartyCanLootMe(0);
return null;
}引数と実行の流れ:
- 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 を使います。
引数: value (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyCanLoot:bridge.PartyCanLoot(Arg(0) != 0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "partycanlootme": bridge.PartyCanLoot(Arg(0) != 0); return InjectionValue.Unit;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.PartyDeclineInvite();保存されたグループへの招待を拒否します。
パラメータはありません。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- PartyDeclineInvite Party.Inviter がゼロ以外の場合、Send_PartyDecline を送信し、Inviter をクリアします。招待がなければアクションはありません。
- 例では、UO.Wait はスクリプトの一時停止のみを指定します。一時停止が終了しても、サーバーがリクエストを完了したことは証明されません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.PartyDeclineInvite");
UO.PartyDeclineInvite();引数と実行の流れ:
- 保存されたグループへの招待を拒否します。
UO.PartyDeclineInvite();引数と実行の流れ:
- PartyDeclineInvite Party.Inviter がゼロ以外の場合、Send_PartyDecline を送信し、Inviter をクリアします。招待がなければアクションはありません。
return RunScenario();
object? RunScenario()
{
UO.PartyDeclineInvite();
UO.Print(UO.InParty());
return null;
}引数と実行の流れ:
- 例では、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 を使います。
引数: 引数はありません。
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyDeclineInvite:bridge.PartyDeclineInvite().
内部実装のコードです。単独のスクリプトとして実行できません。
case "partydeclineinvite": bridge.PartyDeclineInvite(); return InjectionValue.Unit;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.PartyLeave();現在のキャラクターにグループからの脱退を要求します。
パラメータはありません。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- PartyLeave プレイヤーがいる場合、GameActions.RequestPartyQuit(_world.Player); を呼び出します。 Player がないと何も送信されません。
- 例では、UO.Wait はスクリプトの一時停止のみを指定します。一時停止が終了しても、サーバーがリクエストを完了したことは証明されません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.PartyLeave");
UO.PartyLeave();引数と実行の流れ:
- 現在のキャラクターにグループからの脱退を要求します。
UO.PartyLeave();引数と実行の流れ:
- 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;引数と実行の流れ:
- 例では、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 を使います。
引数: 引数はありません。
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyLeave:bridge.PartyLeave().
内部実装のコードです。単独のスクリプトとして実行できません。
case "partyleave": bridge.PartyLeave(); return InjectionValue.Unit;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
dynamic UO.PartyMembersList();Bridge は空ではない Party.Members エントリをフィルタリングして除外し、リスト順に serial を保存します。
パラメータはありません。
地元の Party.Members からの int serial メンバーを配列します。空のエントリ/Serial=0は除外されます。配列は空である可能性があります。
- Bridge は空ではない Party.Members エントリをフィルタリングして除外し、リスト順に serial を保存します。この呼び出しではサーバーからグループが更新されず、メンバーも招待されません。
- 現在のローカル状態を読み取ります。パッケージ、ターゲット、自動アップデートはありません。個々の読み取りでは異なる状態が表示される場合があります。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。
object? result = UO.PartyMembersList();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));引数と実行の流れ:
- Bridge は空ではない Party.Members エントリをフィルタリングして除外し、リスト順に serial を保存します。
var members = UO.PartyMembersList();
UO.Print(UO.GetArrayLength(members));引数と実行の流れ:
- 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;引数と実行の流れ:
- 現在のローカル状態を読み取ります。パッケージ、ターゲット、自動アップデートはありません。個々の読み取りでは異なる状態が表示される場合があります。
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 を使います。
引数: 引数はありません。
結果: dynamic / Any.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyMembersList:bridge.PartyMembersList().
内部実装のコードです。単独のスクリプトとして実行できません。
case "partymemberslist":
return new InjectionValue(bridge.PartyMembersList().Select(serial => new InjectionValue(serial)).ToArray());Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
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 はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.PartyPrivateMessageTo");
UO.PartyPrivateMessageTo("lasttarget", "Ready");引数と実行の流れ:
- グループメンバーにプライベートメッセージを送信します。
UO.PartyPrivateMessageTo("lasttarget", "Ready");引数と実行の流れ:
- 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;引数と実行の流れ:
- 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 を使います。
引数: objID (Any), msg (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartySay:bridge.PartySay(Text(1), Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "partyprivatemessageto": bridge.PartySay(Text(1), Arg(0)); return InjectionValue.Unit;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.PartySay(object? msg);グループ全体にメッセージを送信します。
-
msg— テキスト経由 ToString;送信済みとして保存されます。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- GameActions.SayParty(テキスト、0) を呼び出します。 Null serial はグループ メッセージを意味します。グループの構成と配信はサーバーによって決定されます。
- Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.PartySay");
UO.PartySay("Ready");引数と実行の流れ:
- グループ全体にメッセージを送信します。
UO.PartySay("Ready");引数と実行の流れ:
- 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;引数と実行の流れ:
- 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 を使います。
引数: msg (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartySay:bridge.PartySay(Text(0), 0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "partysay": bridge.PartySay(Text(0), 0); return InjectionValue.Unit;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.RemoveFromParty(object? objID);serial までにグループメンバーの削除をリクエストします。
-
objID— シリアル/ID オブジェクト: int、数値/16 進文字列、または確立されたエイリアス (例: "lasttarget")。これはgraphic/typeではありません。アクションを実行する前に、ロードされたオブジェクトを確認してください。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- PartyRemove が RequestPartyRemoveMember を呼び出します。解決策は、現在のキャラクターとサーバーの役割によって異なります。参加者のリストは、このコマンドによって同期的に変更されません。
- Bridge はゲーム ストリームでリクエストを送信します。サーバールールが適用されます。確認を待つ組み込み機能はありません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.RemoveFromParty");
UO.RemoveFromParty(UO.GetSerial("lasttarget"));引数と実行の流れ:
- 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;引数と実行の流れ:
- 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;引数と実行の流れ:
- 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 を使います。
引数: objID (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyRemove:bridge.PartyRemove(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "removefromparty": bridge.PartyRemove(Arg(0)); return InjectionValue.Unit;ClassicUO — Bad Newbie & C# Scripts IDE