-
Notifications
You must be signed in to change notification settings - Fork 0
API UO IsActiveSpellAbility es
ClassicUO / Basic IDE
Comprueba si el servidor notificó como activo el hechizo o habilidad. Sirve para evitar reactivarlo innecesariamente. No activa nada, no lanza hechizos ni elige objetivos.
UO.IsActiveSpellAbility(SpellName:Any) -> Any
-
SpellName— Un parámetro obligatorio: nombre inglés del catálogo o ID entero del hechizo. "Confidence" y 402 son el mismo hechizo Bushido. No distingue mayúsculas; convierte guiones bajos en espacios y acepta cadenas numéricas. No es serial, gráfico de objeto ni número de habilidad.
Integer: 1 si el ID está en el conjunto activo recibido; 0 si falta. En condiciones se admite 1/0 o TRUE/FALSE. No es cantidad, duración ni resultado del último lanzamiento. Nombre desconocido, ID fuera de 1…65535 o estado ausente también devuelven 0.
- El paquete 0xBF/0x25 añade o elimina el ID. Funciona sin gráficos ni botón de hechizo. Cerrar la ventana conserva el estado; desconectar lo borra. 0 no prueba que el personaje no pueda lanzar. El shard debe enviar este estado; no es una consulta universal de buffs. Heal/Recall no prueban así un lanzamiento exitoso. No mide duración, maná, disponibilidad ni éxito.
InjectionApiUO resuelve el nombre mediante el catálogo Full o lee el ID. Bridge.IsActiveSpell consulta ActiveSpellIconsManager en el hilo del mundo y devuelve 1/0 sin peticiones ni esperas.
Comprueba si el servidor notificó como activo el hechizo o habilidad. Sirve para evitar reactivarlo innecesariamente. No activa nada, no lanza hechizos ni elige objetivos.
Integer: 1 si el ID está en el conjunto activo recibido; 0 si falta. En condiciones se admite 1/0 o TRUE/FALSE. No es cantidad, duración ni resultado del último lanzamiento. Nombre desconocido, ID fuera de 1…65535 o estado ausente también devuelven 0.
Código del proyecto: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; función IsActiveSpell.
El paquete 0xBF/0x25 añade o elimina el ID. Funciona sin gráficos ni botón de hechizo. Cerrar la ventana conserva el estado; desconectar lo borra. 0 no prueba que el personaje no pueda lanzar. El shard debe enviar este estado; no es una consulta universal de buffs. Heal/Recall no prueban así un lanzamiento exitoso. No mide duración, maná, disponibilidad ni éxito.
Integer: 1 si el ID está en el conjunto activo recibido; 0 si falta. En condiciones se admite 1/0 o TRUE/FALSE. No es cantidad, duración ni resultado del último lanzamiento. Nombre desconocido, ID fuera de 1…65535 o estado ausente también devuelven 0.
Código del proyecto: src/ClassicUO.Client/Game/Managers/ActiveIconsManager.cs; función ActiveSpellIconsManager.
Integer: 1 si el ID está en el conjunto activo recibido; 0 si falta. En condiciones se admite 1/0 o TRUE/FALSE. No es cantidad, duración ni resultado del último lanzamiento. Nombre desconocido, ID fuera de 1…65535 o estado ausente también devuelven 0.
# Consultar por ID
#
# Comprueba si el servidor notificó como activo el hechizo o habilidad. Sirve para evitar
# reactivarlo innecesariamente. No activa nada, no lanza hechizos ni elige objetivos.
#
# Integer: 1 si el ID está en el conjunto activo recibido; 0 si falta. En condiciones se admite
# 1/0 o TRUE/FALSE. No es cantidad, duración ni resultado del último lanzamiento. Nombre
# desconocido, ID fuera de 1…65535 o estado ausente también devuelven 0.
SUB Main()
# 402 es Confidence. active contiene 1/0; TRUE equivale aquí a 1. Describe estado recibido, no
# el resultado de un intento.
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 SUBExplicación de los parámetros y la ejecución:
- 402 es Confidence. active contiene 1/0; TRUE equivale aquí a 1. Describe estado recibido, no el resultado de un intento.
# Evitar una activación repetida
#
# Comprueba si el servidor notificó como activo el hechizo o habilidad. Sirve para evitar
# reactivarlo innecesariamente. No activa nada, no lanza hechizos ni elige objetivos.
#
# Integer: 1 si el ID está en el conjunto activo recibido; 0 si falta. En condiciones se admite
# 1/0 o TRUE/FALSE. No es cantidad, duración ni resultado del último lanzamiento. Nombre
# desconocido, ID fuera de 1…65535 o estado ausente también devuelven 0.
SUB Main()
# Cast("Confidence") solo recibe el nombre y envía una petición si falta el estado activo. No
# garantiza éxito. No repetir en un bucle rápido: la respuesta puede retrasarse.
IF UO.IsActiveSpellAbility("Confidence") = 0 THEN
UO.Cast("Confidence")
END IF
END SUBExplicación de los parámetros y la ejecución:
- Cast("Confidence") solo recibe el nombre y envía una petición si falta el estado activo. No garantiza éxito. No repetir en un bucle rápido: la respuesta puede retrasarse.
# Esperar con límite
#
# Comprueba si el servidor notificó como activo el hechizo o habilidad. Sirve para evitar
# reactivarlo innecesariamente. No activa nada, no lanza hechizos ni elige objetivos.
#
# Integer: 1 si el ID está en el conjunto activo recibido; 0 si falta. En condiciones se admite
# 1/0 o TRUE/FALSE. No es cantidad, duración ni resultado del último lanzamiento. Nombre
# desconocido, ID fuera de 1…65535 o estado ausente también devuelven 0.
SUB Main()
# spell: nombre/ID; expected: TRUE activo, FALSE inactivo; timeoutMs: milisegundos. Main espera
# hasta 500 ms con consultas cada 25 ms y no lanza nada. TRUE al coincidir, si no FALSE.
# Pausas/carga pueden alargar el tiempo real; no identifica la causa del cambio.
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 FUNCTIONExplicación de los parámetros y la ejecución:
- spell: nombre/ID; expected: TRUE activo, FALSE inactivo; timeoutMs: milisegundos. Main espera hasta 500 ms con consultas cada 25 ms y no lanza nada. TRUE al coincidir, si no FALSE. Pausas/carga pueden alargar el tiempo real; no identifica la causa del cambio.
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь