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

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

Buffs et effets

Accueil · C# · IDE · UO API · A–Z · Exemples · Langues

Panneau de vérification des effets et de l'état. Un contrôle de statut négatif ne signifie pas que tous les effets possibles sont absents.

Sections

Sujet Commandes et explications
Buff Bar UO.GetBuffBarInfo
Poison UO.Poisoned
Paralyze UO.Paralyzed
Frozen UO.Frozen
Flying UO.Flying
Résistance UO.GetResist · UO.GetPhysicalResist · UO.GetFireResist · UO.GetColdResist · UO.GetPoisonResist · UO.GetEnergyResist

Toutes les commandes du thème

Barre de buff

UO.GetBuffBarInfo

Exemples sur le sujet

Chaque carte de commande possède plusieurs scénarios indépendants : code direct, fonctions et classes. Vous trouverez ci-dessous une sélection de courts scénarios ; des restrictions et une analyse complète sont à prévoir.

UO.GetBuffBarInfo

Paramètres, résultat et tous les scénarios

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

Paramètres, résultat et tous les scénarios

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;

Référence complète des commandes


UO.GetBuffBarInfo

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

Signatures C#

dynamic UO.GetBuffBarInfo();

Renvoie un instantané des icônes de buff du personnage actuel.

Paramètres

Il n'y a pas de paramètres.

Valeur de retour

Tableau de chaînes de format type|graphic|remainingMilliseconds|text. remainingMilliseconds=-1 pour Timer=uint.MaxValue ; sinon max(0,Timer-Time.Ticks). Aucun caractère/icône – tableau vide.

Comportement

  • Les données sont extraites de Player.BuffIcons.Values, sans requête au serveur. La valeur remainingMilliseconds fait référence au temporisateur client et peut être obsolète ; -1 désigne une minuterie indéfinie, pas une erreur. Le texte peut contenir | caractères, il ne devrait donc pas contenir exactement quatre mots simples.

Scripts C# autonomes

Chaque exemple peut être enregistré dans un fichier séparé .csx et exécuté dans IDE. Les fonctions d'objet UO et d'attente fournissent l'hôte de la session de jeu en cours. Remplacez les noms, coordonnées et adresses de la démo serial par les vôtres.

Exemple simple

Exécutez ce code dans un fichier .csx séparé. Les arguments sont visibles dans l’appel ; remplacez les noms, serials et adresses d’exemple par les vôtres.

Le résultat d’un seul appel est affiché dans le journal. Un nombre n’est pas converti en bool ; un tableau est affiché par son nombre d’éléments.

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

1. Afficher un instantané de la barre de buffs - script direct

Paramètres et déroulement de l’exécution :

  • Chaque ligne contient type, graphic, le reste de la minuterie et le texte.
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. Nombre de buffs connus - fonction script

Paramètres et déroulement de l’exécution :

  • La taille reflète les icônes client actuelles.
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. Nouvelle photo après une pause - cours de script

Paramètres et déroulement de l’exécution :

  • Le nouvel appel relit l'ensemble en cours ; l'ancien tableau reste un instantané.
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)));
}

Implémentation de la commande

C# distingue les majuscules. Utilisez le nom UO exact. Comparez les indicateurs numériques à 0 ; utilisez bool seulement si la signature renvoie bool.

UO.GetBuffBarInfo() — UO.GetBuffBarInfo()

Paramètres: Aucun paramètre.

Résultat: dynamic / Any.

Pendant un appel:

Code interne de l’implémentation ; ce n’est pas un script autonome.

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