Skip to content

ES UO Topic buffs effects

Codex edited this page Oct 12, 2026 · 4 revisions

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

Mejoras y efectos

Inicio · C# · IDE · UO API · A–Z · Ejemplos · Idiomas

Panel de verificación de efectos y estado. Una verificación de estado negativa no significa que todos los efectos posibles estén ausentes.

Secciones

Tema Comandos y explicaciones
Buff Bar UO.GetBuffBarInfo
Poison UO.Poisoned
Paralyze UO.Paralyzed
Frozen UO.Frozen
Flying UO.Flying
Resistencia UO.GetResist · UO.GetPhysicalResist · UO.GetFireResist · UO.GetColdResist · UO.GetPoisonResist · UO.GetEnergyResist

Todos los comandos del tema

Barra de mejora

UO.GetBuffBarInfo

Ejemplos sobre el tema.

Cada tarjeta de comando tiene varios escenarios independientes: código directo, funciones y clases. A continuación se muestran escenarios breves seleccionados; restricciones y análisis completos están en las cartas.

UO.GetBuffBarInfo

Parámetros, resultado y todos los escenarios

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

Parámetros, resultado y todos los escenarios

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;

Referencia completa de comandos


UO.GetBuffBarInfo

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

Firmas de C#

dynamic UO.GetBuffBarInfo();

Devuelve una instantánea de los iconos de mejora del personaje actual.

Parámetros

No hay parámetros.

Valor devuelto

Matriz de líneas de formato type|graphic|remainingMilliseconds|text. remainingMilliseconds=-1 para Timer=uint.MaxValue; else max(0,Timer-Time.Ticks). Sin caracteres/iconos: matriz vacía.

Comportamiento

  • Los datos se toman de Player.BuffIcons.Values, sin una solicitud al servidor. El valor remainingMilliseconds se refiere al temporizador del cliente y puede estar desactualizado; -1 denota un temporizador indefinido, no un error. El texto puede contener | caracteres, por lo que no se espera que tenga exactamente cuatro palabras simples.

Scripts independientes de C#

Cada ejemplo se puede guardar como un archivo independiente .csx y ejecutar en IDE. Las funciones de objeto UO y de espera proporcionan el anfitrión de la sesión de juego actual. Reemplace los nombres, coordenadas y direcciones de la demostración serial por los suyos propios.

Ejemplo sencillo

Ejecuta este código en un archivo .csx independiente. Los argumentos aparecen en la llamada; sustituye los nombres, seriales y direcciones de ejemplo por los tuyos.

El resultado de una sola llamada se muestra en el diario. Un número no se convierte en bool; para un array se muestra su cantidad de elementos.

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

1. Mostrar una instantánea de la barra de mejora: secuencia de comandos directa

Parámetros y flujo de ejecución:

  • Cada línea contiene type, graphic, resto del temporizador y texto.
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. Número de beneficios conocidos: función de script

Parámetros y flujo de ejecución:

  • El tamaño refleja los iconos del cliente actual.
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. Toma fresca después de un descanso - clase de guión

Parámetros y flujo de ejecución:

  • La nueva llamada vuelve a leer el conjunto actual; la antigua matriz sigue siendo una instantánea.
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)));
}

Implementación del comando

C# distingue mayúsculas y minúsculas. Use el nombre UO exacto. Compare indicadores numéricos con 0; use bool solo si la firma devuelve bool.

UO.GetBuffBarInfo() — UO.GetBuffBarInfo()

Parámetros: Sin parámetros.

Resultado: dynamic / Any.

Durante la llamada:

Código interno de implementación; no es un script independiente.

case "getbuffbarinfo": return StringArray(bridge.GetBuffBarInfo());

Clone this wiki locally