-
Notifications
You must be signed in to change notification settings - Fork 0
API UO IsActiveSpellAbility uk
ClassicUO / Basic IDE
Перевіряє, чи повідомив сервер про активний стан вибраної здібності/закляття. Допомагає уникати повторної активації. Нічого не вмикає, не кастує й не вибирає ціль.
UO.IsActiveSpellAbility(SpellName:Any) -> Any
-
SpellName— Один обов’язковий параметр: англійська назва з каталогу або цілий ID. "Confidence" і 402 — одне закляття Bushido. Регістр не важливий, підкреслення замінюються пробілами; числовий рядок також приймається. Це не serial персонажа, type предмета чи номер навички.
Integer: 1 — отримано активний стан ID; 0 — такого стану немає. В умовах 1/0 відповідають TRUE/FALSE. Це ознака, а не кількість, тривалість чи результат каста. Невідома назва, ID поза 1…65535 або відсутність статусу також дають 0.
- Пакет 0xBF/0x25 додає або вилучає ID зі списку. Працює без графіки й кнопки закляття. Закриття вікна зберігає стан, розрив зв’язку очищає. 0 не означає, що здібність недоступна. Потрібна підтримка статусу сервером; це не перевірка всіх бафів. Heal/Recall не є придатними прикладами підтвердження каста. Команда не визначає тривалість, ману, доступність або успіх.
InjectionApiUO зіставляє назву з каталогом Full або читає ID. Bridge.IsActiveSpell читає ActiveSpellIconsManager у потоці світу та повертає 1/0, без запитів чи очікування.
Перевіряє, чи повідомив сервер про активний стан вибраної здібності/закляття. Допомагає уникати повторної активації. Нічого не вмикає, не кастує й не вибирає ціль.
Integer: 1 — отримано активний стан ID; 0 — такого стану немає. В умовах 1/0 відповідають TRUE/FALSE. Це ознака, а не кількість, тривалість чи результат каста. Невідома назва, ID поза 1…65535 або відсутність статусу також дають 0.
Код проєкту: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; функція IsActiveSpell.
Пакет 0xBF/0x25 додає або вилучає ID зі списку. Працює без графіки й кнопки закляття. Закриття вікна зберігає стан, розрив зв’язку очищає. 0 не означає, що здібність недоступна. Потрібна підтримка статусу сервером; це не перевірка всіх бафів. Heal/Recall не є придатними прикладами підтвердження каста. Команда не визначає тривалість, ману, доступність або успіх.
Integer: 1 — отримано активний стан ID; 0 — такого стану немає. В умовах 1/0 відповідають TRUE/FALSE. Це ознака, а не кількість, тривалість чи результат каста. Невідома назва, ID поза 1…65535 або відсутність статусу також дають 0.
Код проєкту: src/ClassicUO.Client/Game/Managers/ActiveIconsManager.cs; функція ActiveSpellIconsManager.
Integer: 1 — отримано активний стан ID; 0 — такого стану немає. В умовах 1/0 відповідають TRUE/FALSE. Це ознака, а не кількість, тривалість чи результат каста. Невідома назва, ID поза 1…65535 або відсутність статусу також дають 0.
# Стан за ID
#
# Перевіряє, чи повідомив сервер про активний стан вибраної здібності/закляття. Допомагає
# уникати повторної активації. Нічого не вмикає, не кастує й не вибирає ціль.
#
# Integer: 1 — отримано активний стан ID; 0 — такого стану немає. В умовах 1/0 відповідають
# TRUE/FALSE. Це ознака, а не кількість, тривалість чи результат каста. Невідома назва, ID поза
# 1…65535 або відсутність статусу також дають 0.
SUB Main()
# 402 — Confidence; active містить 1 або 0, TRUE відповідає 1. Це отриманий статус, не результат
# спроби.
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Пояснення параметрів і виконання:
- 402 — Confidence; active містить 1 або 0, TRUE відповідає 1. Це отриманий статус, не результат спроби.
# Уникнення повторного каста
#
# Перевіряє, чи повідомив сервер про активний стан вибраної здібності/закляття. Допомагає
# уникати повторної активації. Нічого не вмикає, не кастує й не вибирає ціль.
#
# Integer: 1 — отримано активний стан ID; 0 — такого стану немає. В умовах 1/0 відповідають
# TRUE/FALSE. Це ознака, а не кількість, тривалість чи результат каста. Невідома назва, ID поза
# 1…65535 або відсутність статусу також дають 0.
SUB Main()
# Cast("Confidence") має лише один аргумент і надсилається один раз за відсутності статусу.
# Успіх не гарантовано. Не повторюйте в швидкому циклі: відповідь може запізнюватися.
IF UO.IsActiveSpellAbility("Confidence") = 0 THEN
UO.Cast("Confidence")
END IF
END SUBПояснення параметрів і виконання:
- Cast("Confidence") має лише один аргумент і надсилається один раз за відсутності статусу. Успіх не гарантовано. Не повторюйте в швидкому циклі: відповідь може запізнюватися.
# Обмежене очікування статусу
#
# Перевіряє, чи повідомив сервер про активний стан вибраної здібності/закляття. Допомагає
# уникати повторної активації. Нічого не вмикає, не кастує й не вибирає ціль.
#
# Integer: 1 — отримано активний стан ID; 0 — такого стану немає. В умовах 1/0 відповідають
# TRUE/FALSE. Це ознака, а не кількість, тривалість чи результат каста. Невідома назва, ID поза
# 1…65535 або відсутність статусу також дають 0.
SUB Main()
# spell — назва/ID; expected — TRUE для активного стану, FALSE для неактивного; timeoutMs —
# мілісекунди. Main чекає до 500 мс, перевіряючи кожні 25 мс, нічого не кастує. Функція повертає
# TRUE при збігу, інакше FALSE. Пауза чи навантаження можуть подовжити очікування; причину зміни
# стану не визначено.
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Пояснення параметрів і виконання:
- spell — назва/ID; expected — TRUE для активного стану, FALSE для неактивного; timeoutMs — мілісекунди. Main чекає до 500 мс, перевіряючи кожні 25 мс, нічого не кастує. Функція повертає TRUE при збігу, інакше FALSE. Пауза чи навантаження можуть подовжити очікування; причину зміни стану не визначено.
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь