Skip to content

API UO IsActiveSpellAbility it

Codex edited this page Sep 23, 2026 · 1 revision

UO.IsActiveSpellAbility

ClassicUO / Basic IDE

Home · API · Commands

Controlla se il server ha segnalato come attivo l’incantesimo o l’abilità. Aiuta a evitare riattivazioni inutili. Non attiva, non lancia e non seleziona bersagli.

Sintassi esatta

UO.IsActiveSpellAbility(SpellName:Any) -> Any

Parametri

  • SpellName — Un argomento obbligatorio: nome inglese del catalogo o ID intero. "Confidence" e 402 sono lo stesso incantesimo Bushido. Maiuscole ignorate, underscore convertiti in spazi; accetta stringhe numeriche. Non è un serial, una grafica di oggetto o un numero di abilità.

Restituisce

Integer: 1 se l’ID è nell’insieme degli stati attivi ricevuti, altrimenti 0. Nelle condizioni sono validi 1/0 e TRUE/FALSE. Non è quantità, durata o risultato dell’ultimo lancio. Nome sconosciuto, ID fuori 1…65535 e stato assente restituiscono 0.

Comportamento

  • Il pacchetto 0xBF/0x25 aggiunge o rimuove l’ID. Funziona senza grafica o pulsante. Chiudere la finestra conserva lo stato; disconnettersi lo cancella. 0 non prova che il personaggio non possa lanciare. Il server deve inviare lo stato; non è un controllo universale dei buff. Heal/Recall non confermano così la riuscita. Non misura durata, mana, disponibilità o successo.

Funzioni interne: dalla chiamata al risultato

InjectionApiUO risolve il nome con il catalogo Full o legge l’ID. Bridge.IsActiveSpell consulta ActiveSpellIconsManager nel thread del mondo e restituisce 1/0 senza richieste o attese.

1. IsActiveSpell

Controlla se il server ha segnalato come attivo l’incantesimo o l’abilità. Aiuta a evitare riattivazioni inutili. Non attiva, non lancia e non seleziona bersagli.

Integer: 1 se l’ID è nell’insieme degli stati attivi ricevuti, altrimenti 0. Nelle condizioni sono validi 1/0 e TRUE/FALSE. Non è quantità, durata o risultato dell’ultimo lancio. Nome sconosciuto, ID fuori 1…65535 e stato assente restituiscono 0.

Sorgente del progetto: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; funzione IsActiveSpell.

2. ActiveSpellIconsManager

Il pacchetto 0xBF/0x25 aggiunge o rimuove l’ID. Funziona senza grafica o pulsante. Chiudere la finestra conserva lo stato; disconnettersi lo cancella. 0 non prova che il personaggio non possa lanciare. Il server deve inviare lo stato; non è un controllo universale dei buff. Heal/Recall non confermano così la riuscita. Non misura durata, mana, disponibilità o successo.

Integer: 1 se l’ID è nell’insieme degli stati attivi ricevuti, altrimenti 0. Nelle condizioni sono validi 1/0 e TRUE/FALSE. Non è quantità, durata o risultato dell’ultimo lancio. Nome sconosciuto, ID fuori 1…65535 e stato assente restituiscono 0.

Sorgente del progetto: src/ClassicUO.Client/Game/Managers/ActiveIconsManager.cs; funzione ActiveSpellIconsManager.

Integer: 1 se l’ID è nell’insieme degli stati attivi ricevuti, altrimenti 0. Nelle condizioni sono validi 1/0 e TRUE/FALSE. Non è quantità, durata o risultato dell’ultimo lancio. Nome sconosciuto, ID fuori 1…65535 e stato assente restituiscono 0.

Esempi

Controllo per ID

# Controllo per ID
#
# Controlla se il server ha segnalato come attivo l’incantesimo o l’abilità. Aiuta a evitare
# riattivazioni inutili. Non attiva, non lancia e non seleziona bersagli.
#
# Integer: 1 se l’ID è nell’insieme degli stati attivi ricevuti, altrimenti 0. Nelle condizioni
# sono validi 1/0 e TRUE/FALSE. Non è quantità, durata o risultato dell’ultimo lancio. Nome
# sconosciuto, ID fuori 165535 e stato assente restituiscono 0.

SUB Main()
    # 402 indica Confidence. active contiene 1/0; TRUE equivale qui a 1. È lo stato ricevuto, non
    # l’esito di un tentativo.

    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

Spiegazione dei parametri e dell’esecuzione:

  • 402 indica Confidence. active contiene 1/0; TRUE equivale qui a 1. È lo stato ricevuto, non l’esito di un tentativo.

Evitare riattivazioni

# Evitare riattivazioni
#
# Controlla se il server ha segnalato come attivo l’incantesimo o l’abilità. Aiuta a evitare
# riattivazioni inutili. Non attiva, non lancia e non seleziona bersagli.
#
# Integer: 1 se l’ID è nell’insieme degli stati attivi ricevuti, altrimenti 0. Nelle condizioni
# sono validi 1/0 e TRUE/FALSE. Non è quantità, durata o risultato dell’ultimo lancio. Nome
# sconosciuto, ID fuori 165535 e stato assente restituiscono 0.

SUB Main()
    # Cast("Confidence") richiede solo il nome e invia una richiesta quando manca lo stato attivo.
    # Nessuna garanzia di successo. Non ripetere in un ciclo rapido: la risposta può arrivare tardi.

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

Spiegazione dei parametri e dell’esecuzione:

  • Cast("Confidence") richiede solo il nome e invia una richiesta quando manca lo stato attivo. Nessuna garanzia di successo. Non ripetere in un ciclo rapido: la risposta può arrivare tardi.

Attesa limitata dello stato

# Attesa limitata dello stato
#
# Controlla se il server ha segnalato come attivo l’incantesimo o l’abilità. Aiuta a evitare
# riattivazioni inutili. Non attiva, non lancia e non seleziona bersagli.
#
# Integer: 1 se l’ID è nell’insieme degli stati attivi ricevuti, altrimenti 0. Nelle condizioni
# sono validi 1/0 e TRUE/FALSE. Non è quantità, durata o risultato dell’ultimo lancio. Nome
# sconosciuto, ID fuori 165535 e stato assente restituiscono 0.

SUB Main()
    # spell: nome/ID; expected: TRUE attivo, FALSE inattivo; timeoutMs: millisecondi. Main attende
    # fino a 500 ms controllando ogni 25 ms, senza lanciare. TRUE se coincide, altrimenti FALSE.
    # Pause/carico possono prolungare il tempo reale; non si conosce la causa del cambiamento.

    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

Spiegazione dei parametri e dell’esecuzione:

  • spell: nome/ID; expected: TRUE attivo, FALSE inattivo; timeoutMs: millisecondi. Main attende fino a 500 ms controllando ogni 25 ms, senza lanciare. TRUE se coincide, altrimenti FALSE. Pause/carico possono prolungare il tempo reale; non si conosce la causa del cambiamento.

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

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

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

Clone this wiki locally