API UO IsActiveSpellAbility - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · Magic
Возвращает True , если указанное заклинание или способность в данный момент активны на персонаже, иначе False .
UO.IsActiveSpellAbility(SpellName:Any) -> Any
Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.
| Имя | Назначение |
|---|---|
SpellName |
Значение для данной позиции; назначение и поддерживаемые варианты показаны в описании и примерах. |
Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.
SpellName — Registered spell name or numeric spell ID, matching the overload form.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
VAR result = UO.IsActiveSpellAbility('Recall')
END SUBSUB Main()
VAR result = UO.IsActiveSpellAbility('Heal')
UO.Print(CStr(result))
END SUBSUB Main()
VAR arg1 = 'Heal' # SpellName
VAR result = UO.IsActiveSpellAbility(arg1)
UO.Print(CStr(result))
END SUBSUB ReadResult()
VAR arg1 = 'Heal' # SpellName
VAR result = UO.IsActiveSpellAbility(arg1)
UO.Print(CStr(result))
END SUB
SUB Main()
ReadResult()
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
{
int? spellId = arguments[0].Kind == InjectionValueKind.String
? ConvertSpellName(Text(0).Replace('_', ' '))
: (int?)Arg(0);
return new InjectionValue(spellId.HasValue ? bridge.IsActiveSpell(spellId.Value) : 0);
}Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.