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

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

Buff ed effetti

Home · C# · IDE · UO API · A–Z · Esempi · Lingue

Pannello di controllo degli effetti e dello stato. Un controllo di stato negativo non significa che tutti i possibili effetti siano assenti.

Sezioni

Argomento Comandi e spiegazioni
Buff Bar UO.GetBuffBarInfo
Poison UO.Poisoned
Paralyze UO.Paralyzed
Frozen UO.Frozen
Flying UO.Flying
Resistenza UO.GetResist · UO.GetPhysicalResist · UO.GetFireResist · UO.GetColdResist · UO.GetPoisonResist · UO.GetEnergyResist

Tutti i comandi del tema

Buff Bar

UO.GetBuffBarInfo

Esempi sull'argomento

Ogni carta comando ha diversi scenari indipendenti: codice diretto, funzioni e classi. Di seguito sono selezionati brevi scenari; restrizioni e un'analisi completa sono nelle carte.

UO.GetBuffBarInfo

Parametri, risultato e tutti gli scenari

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

Parametri, risultato e tutti gli scenari

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;

Riferimento completo dei comandi


UO.GetBuffBarInfo

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

Firme C#

dynamic UO.GetBuffBarInfo();

Restituisce un'istantanea delle icone dei buff del personaggio corrente.

Parametri

Non ci sono parametri.

Valore restituito

Matrice di righe di formato type|graphic|remainingMilliseconds|testo. remainingMilliseconds=-1 per Timer=uint.MaxValue; altrimenti max(0,Timer-Time.Ticks). Nessun carattere/icona: array vuoto.

Comportamento

  • I dati vengono presi da Player.BuffIcons.Values, senza una richiesta al server. Il valore remainingMilliseconds si riferisce al timer del client e potrebbe non essere aggiornato; -1 denota un timer indefinito, non un errore. Il testo può contenere | caratteri, quindi non è previsto che contenga esattamente quattro parole semplici.

Script C# autonomi

Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.

Esempio semplice

Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.

Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.

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

1. Visualizza un'istantanea della barra dei buff - script diretto

Parametri e flusso di esecuzione:

  • Ogni riga contiene type, graphic, resto del timer e testo.
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. Numero di potenziamenti conosciuti - funzione script

Parametri e flusso di esecuzione:

  • La dimensione riflette le icone del client corrente.
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. Scatto fresco dopo una pausa - lezione di sceneggiatura

Parametri e flusso di esecuzione:

  • La nuova chiamata rilegge il set corrente; il vecchio array rimane un'istantanea.
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)));
}

Implementazione del comando

C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.

UO.GetBuffBarInfo() — UO.GetBuffBarInfo()

Parametri: Nessun parametro.

Risultato: dynamic / Any.

Durante la chiamata:

Codice interno di implementazione; non è uno script autonomo.

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