Skip to content

API UO IsActiveSpellAbility fr

Codex edited this page Sep 23, 2026 · 1 revision

UO.IsActiveSpellAbility

ClassicUO / Basic IDE

Home · API · Commands

Vérifie si le serveur a signalé le sort ou la capacité comme actif. Sert à éviter une réactivation inutile. N’active rien, ne lance aucun sort et ne choisit aucune cible.

Syntaxe exacte

UO.IsActiveSpellAbility(SpellName:Any) -> Any

Paramètres

  • SpellName — Un seul argument obligatoire : nom anglais du catalogue ou ID entier du sort. "Confidence" et 402 désignent le même sort Bushido. Casse ignorée, soulignements remplacés par des espaces ; chaînes numériques acceptées. Ce n’est ni un serial, ni un type d’objet, ni un numéro de compétence.

Retour

Integer : 1 si cet ID figure parmi les états actifs reçus, sinon 0. Comparaisons avec 1/0 ou TRUE/FALSE possibles. Ce n’est ni un nombre d’objets, ni une durée, ni le résultat du dernier lancement. Nom inconnu, ID hors 1…65535 ou état absent : 0.

Comportement

  • Le paquet 0xBF/0x25 ajoute ou retire l’ID. Lecture possible sans fenêtre graphique ni bouton de sort. Fermer la fenêtre conserve l’état ; une déconnexion l’efface. 0 ne prouve pas une incapacité à lancer. Le shard doit transmettre cet état ; ce n’est pas un détecteur universel de buffs. Heal/Recall ne permettent pas ainsi de confirmer un lancement. Durée, mana, disponibilité et réussite ne sont pas mesurées.

Fonctions internes : de l’appel au résultat

InjectionApiUO résout le nom via le catalogue Full ou lit l’ID. Bridge.IsActiveSpell consulte ActiveSpellIconsManager sur le thread du monde et renvoie 1/0 sans requête ni attente.

1. IsActiveSpell

Vérifie si le serveur a signalé le sort ou la capacité comme actif. Sert à éviter une réactivation inutile. N’active rien, ne lance aucun sort et ne choisit aucune cible.

Integer : 1 si cet ID figure parmi les états actifs reçus, sinon 0. Comparaisons avec 1/0 ou TRUE/FALSE possibles. Ce n’est ni un nombre d’objets, ni une durée, ni le résultat du dernier lancement. Nom inconnu, ID hors 1…65535 ou état absent : 0.

Source du projet: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; fonction IsActiveSpell.

2. ActiveSpellIconsManager

Le paquet 0xBF/0x25 ajoute ou retire l’ID. Lecture possible sans fenêtre graphique ni bouton de sort. Fermer la fenêtre conserve l’état ; une déconnexion l’efface. 0 ne prouve pas une incapacité à lancer. Le shard doit transmettre cet état ; ce n’est pas un détecteur universel de buffs. Heal/Recall ne permettent pas ainsi de confirmer un lancement. Durée, mana, disponibilité et réussite ne sont pas mesurées.

Integer : 1 si cet ID figure parmi les états actifs reçus, sinon 0. Comparaisons avec 1/0 ou TRUE/FALSE possibles. Ce n’est ni un nombre d’objets, ni une durée, ni le résultat du dernier lancement. Nom inconnu, ID hors 1…65535 ou état absent : 0.

Source du projet: src/ClassicUO.Client/Game/Managers/ActiveIconsManager.cs; fonction ActiveSpellIconsManager.

Integer : 1 si cet ID figure parmi les états actifs reçus, sinon 0. Comparaisons avec 1/0 ou TRUE/FALSE possibles. Ce n’est ni un nombre d’objets, ni une durée, ni le résultat du dernier lancement. Nom inconnu, ID hors 1…65535 ou état absent : 0.

Exemples

État par ID

# État par ID
#
# Vérifie si le serveur a signalé le sort ou la capacité comme actif. Sert à éviter une
# réactivation inutile. N’active rien, ne lance aucun sort et ne choisit aucune cible.
#
# Integer : 1 si cet ID figure parmi les états actifs reçus, sinon 0. Comparaisons avec 1/0 ou
# TRUE/FALSE possibles. Ce n’est ni un nombre d’objets, ni une durée, ni le résultat du dernier
# lancement. Nom inconnu, ID hors 1…65535 ou état absent : 0.

SUB Main()
    # 402 correspond à Confidence. active vaut 1/0 ; TRUE correspond ici à 1. Il s’agit d’un état
    # reçu, pas du résultat d’un lancement.

    VAR active = UO.IsActiveSpellAbility(402)
    IF active = TRUE THEN
        UO.Print("Confidence is active")
    ELSE
        UO.Print("No active Confidence state received")
    END IF
END SUB

Explication des paramètres et du déroulement:

  • 402 correspond à Confidence. active vaut 1/0 ; TRUE correspond ici à 1. Il s’agit d’un état reçu, pas du résultat d’un lancement.

Éviter une nouvelle activation

# Éviter une nouvelle activation
#
# Vérifie si le serveur a signalé le sort ou la capacité comme actif. Sert à éviter une
# réactivation inutile. N’active rien, ne lance aucun sort et ne choisit aucune cible.
#
# Integer : 1 si cet ID figure parmi les états actifs reçus, sinon 0. Comparaisons avec 1/0 ou
# TRUE/FALSE possibles. Ce n’est ni un nombre d’objets, ni une durée, ni le résultat du dernier
# lancement. Nom inconnu, ID hors 1…65535 ou état absent : 0.

SUB Main()
    # Cast("Confidence") accepte uniquement le nom et envoie une requête si l’état actif manque. La
    # réussite n’est pas garantie. Ne pas répéter en boucle rapide : la réponse peut tarder.

    IF UO.IsActiveSpellAbility("Confidence") = 0 THEN
        UO.Cast("Confidence")
    END IF
END SUB

Explication des paramètres et du déroulement:

  • Cast("Confidence") accepte uniquement le nom et envoie une requête si l’état actif manque. La réussite n’est pas garantie. Ne pas répéter en boucle rapide : la réponse peut tarder.

Attente limitée

# Attente limitée
#
# Vérifie si le serveur a signalé le sort ou la capacité comme actif. Sert à éviter une
# réactivation inutile. N’active rien, ne lance aucun sort et ne choisit aucune cible.
#
# Integer : 1 si cet ID figure parmi les états actifs reçus, sinon 0. Comparaisons avec 1/0 ou
# TRUE/FALSE possibles. Ce n’est ni un nombre d’objets, ni une durée, ni le résultat du dernier
# lancement. Nom inconnu, ID hors 1…65535 ou état absent : 0.

SUB Main()
    # spell : nom/ID ; expected : TRUE actif, FALSE inactif ; timeoutMs : millisecondes. Main attend
    # jusqu’à 500 ms par pas de 25 ms, sans lancer de sort. TRUE si l’état correspond, sinon FALSE.
    # Pause ou charge peuvent prolonger la durée réelle ; la cause du changement reste inconnue.

    IF WaitAbilityState("Confidence", TRUE, 500) THEN
        UO.Print("Active state received")
    ELSE
        UO.Print("No active state before timeout")
    END IF
END SUB

FUNCTION WaitAbilityState(spell, expected, timeoutMs)
    VAR elapsed = 0
    WHILE elapsed < timeoutMs
        IF (UO.IsActiveSpellAbility(spell) = 1) = expected THEN
            RETURN TRUE
        END IF
        UO.Wait(25)
        elapsed = elapsed + 25
    WEND
    RETURN (UO.IsActiveSpellAbility(spell) = 1) = expected
END FUNCTION

Explication des paramètres et du déroulement:

  • spell : nom/ID ; expected : TRUE actif, FALSE inactif ; timeoutMs : millisecondes. Main attend jusqu’à 500 ms par pas de 25 ms, sans lancer de sort. TRUE si l’état correspond, sinon FALSE. Pause ou charge peuvent prolonger la durée réelle ; la cause du changement reste inconnue.

Spells / Заклинания

Spells / Заклинания

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

Clone this wiki locally