JA UO Topic buffs effects - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

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

バフと効果

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

効果とステータス確認パネル。ステータスチェックが否定的であっても、考えられるすべての影響が存在しないことを意味するわけではありません。

セクション

トピック コマンドと説明
Buff Bar UO.GetBuffBarInfo
Poison UO.Poisoned
Paralyze UO.Paralyzed
Frozen UO.Frozen
Flying UO.Flying
抵抗 UO.GetResist · UO.GetPhysicalResist · UO.GetFireResist · UO.GetColdResist · UO.GetPoisonResist · UO.GetEnergyResist

すべてのテーマコマンド

バフバー

UO.GetBuffBarInfo

このトピックに関する例

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

UO.GetBuffBarInfo

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

var buffs = UO.GetBuffBarInfo();
for (int i = (int)(0); i <= ArrayLength(buffs)-1; i += (int)(1))
{
    UO.Print(buffs[i]);
}

int ArrayLength(object? value) => value is System.Array array ? array.Length : 0;

UO.Paralyzed

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

var state = UO.Paralyzed();
if (Truth(Truth(state) == true))
{
    UO.Print("Paralysis flag is set");
}
else
{
    UO.Print("Paralysis flag is absent or unavailable");
}

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

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


UO.GetBuffBarInfo

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

C# のシグネチャ

dynamic UO.GetBuffBarInfo();

現在のキャラクターのバフアイコンのスナップショットを返します。

引数

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

戻り値

type|graphic|remainingMilliseconds|text 形式の文字列の配列。 remainingMilliseconds=-1 (Timer=uint.MaxValue); else max(0,Timer-Time.Ticks)。文字/アイコンなし - 空の配列。

動作

  • データは、サーバーにリクエストせずに、Player.BuffIcons.Values から取得されます。値 remainingMilliseconds はクライアント タイマーを参照しており、古い可能性があります。 -1 はエラーではなく、無期限のタイマーを示します。テキストには | を含めることができます。したがって、正確に 4 つの単純な単語が含まれることは期待されません。

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

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

簡単な例

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

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

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

1。バフバーのスナップショットを表示 - 直接スクリプト

引数と実行の流れ:

  • 各行には、type、graphic、タイマーの残り、テキストが含まれます。
var buffs = UO.GetBuffBarInfo();
for (int i = (int)(0); i <= ArrayLength(buffs)-1; i += (int)(1))
{
    UO.Print(buffs[i]);
}

int ArrayLength(object? value) => value is System.Array array ? array.Length : 0;

2。既知のバフの数 - スクリプト関数

引数と実行の流れ:

  • サイズは現在のクライアント アイコンを反映しています。
return  RunScenario();
 object? RunScenario()
{
    var buffs = UO.GetBuffBarInfo();
    UO.Print(Convert.ToString(ArrayLength(buffs)));
    return null;
}

int ArrayLength(object? value) => value is System.Array array ? array.Length : 0;

3。休憩後のフレッシュショット - スクリプトクラス

引数と実行の流れ:

  • 新しい呼び出しは現在のセットを再読み込みします。古いアレイはスナップショットのままです。
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 before = UO.GetBuffBarInfo();
        await Delay(1000);
        var after = UO.GetBuffBarInfo();
        UO.Print(Convert.ToString(ArrayLength(before)) + " " + Convert.ToString(ArrayLength(after)));
        return null;
    }

    int ArrayLength(object? value) => value is System.Array array ? array.Length : 0;
    Task Delay(object? milliseconds) => WaitAsync(checked((int)Convert.ToDouble(milliseconds)));
}

コマンドの実装

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

UO.GetBuffBarInfo() — UO.GetBuffBarInfo()

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

結果: dynamic / Any.

呼び出し時:

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

case "getbuffbarinfo": return StringArray(bridge.GetBuffBarInfo());
⚠️ **GitHub.com Fallback** ⚠️