Repository navigation
JA API UO Str
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
家 · C# · IDE · UO API · A–Z · 例 · Languages
int UO.Str();キャラクターの現在の筋力(Strength)を取得します。
パラメータはありません。
int — 現在のステータス ポイント、クライアント モデルの 0..65535。パーセンテージ、ID、スキル、ロックモード、bool ではありません。 0 は、欠落/削除された文字、またはアクセスできないオブジェクトも意味します。 == true ではなく、数値要件と比較してください。これはステータスの上限や修飾子のない保証された基本値ではありません。
- このコマンドには引数はかかりません。上記の正確な署名を使用してください。
- Player が存在し、破壊されていない場合は Player.Strength を読み取ります。それ以外の場合は、0。死んだキャラクターが存在しても、削除されたオブジェクトではありません。ステータスはHP、マナ、スタミナから計算されません。
- GetStr/GetInt/GetDex は ObjID を受け入れます。 PlayerMobile データは self でのみ利用可能です。別の serial - 0、ロードされた mobile であっても。他人の特性を置き換えたり推測したりすることはありません。
- スクリプトによって待機をキャンセルする機能を備えたゲーム ストリームの読み取りを呼び出します。ステータスを問い合わせたり、ターゲットをオープンしたり、パケットを送信したり、特性を変更したり、遅延を追加したりしません。
- 呼び出しごとに、ローカル データが新たに読み取られます。変数にはスナップショットが保存されます。個々の読み取りは異なるサーバー更新を受信する場合があります。ゼロ以外の結果は接続をテストしません。ゼロには値を指定することも、データを指定しないこともできます。
- C# の名前は
UO.Str()、UO.Strength()、UO.GetStr()、UO.GetStrength()と正確に記述してください。C# は大文字と小文字を区別します。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。
var result = UO.Str();
UO.Print("Str: " + Convert.ToString(result));引数と実行の流れ:
- value には数値結果が格納されます。 Convert.ToStringは雑誌用にフォーマットするだけです。引数やキャラクターのアクションはありません。
var value = UO.Str();
UO.Print("Strength: " + Convert.ToString(value));引数と実行の流れ:
- 前後に別々の 1000 ミリ秒。 UO.Wait を例に追加しました。 change=after-before には、正、ゼロ、または負の値を指定できます。それ自体では、すべての中間更新とワールドからの終了を区別しません。
return await RunScenarioAsync();
async Task<object?> RunScenarioAsync()
{
var before = UO.Str();
await Delay(1000);
var after = UO.Str();
var change = after - before;
UO.Print("Change: " + Convert.ToString(change));
return null;
}
Task Delay(object? milliseconds) => WaitAsync(checked((int)Convert.ToDouble(milliseconds)));引数と実行の流れ:
- minimum=80 は要件の一例であり、クライアントの制限ではありません。 AttributeAtLeast(最小) は欠落文字を拒否し、特性を 1 回読み取って bool: true または false (>= 最小の場合) を返します。論理的な意味は、特性自体ではなく、比較によって与えられます。
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()
{
if (Truth(Truth(AttributeAtLeast(80)) == true))
{
UO.Print("Requirement met");
}
else
{
UO.Print("Requirement not met or no player");
}
return null;
}
dynamic AttributeAtLeast(dynamic minimum)
{
if (Truth(UO.Self() == 0))
{
return false;
}
var value = UO.Str();
return value >= minimum;
}
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.Strength:bridge.Strength.
内部実装のコードです。単独のスクリプトとして実行できません。
case "str": return new InjectionValue(bridge.Strength);ClassicUO — Bad Newbie & C# Scripts IDE