API UO ApiSignatureExists - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.ApiSignatureExists
ClassicUO • Runtime API
Проверяет регистрацию имени с заданным числом аргументов.
Точный синтаксис
UO.ApiSignatureExists(name:String, argumentCount:Integer) -> Integer
Параметры
name— Обязательная String: точное зарегистрированное имя, не выражение вызова. Регистр и пробелы по краям не важны; UO. автоматически не добавляется. Пустое или неизвестное имя даёт 0. Пользовательские процедуры не учитываются.argumentCount— Обязательный Integer: полное количество позиционных аргументов, включая явно переданные необязательные. Отрицательное или неподдерживаемое количество даёт 0. Типы самих аргументов не проверяются.
Возвращает
Integer 1, если регистрация существует, иначе 0. Допустимы сравнения с TRUE/FALSE либо 1/0. Результат не подтверждает существование игрового объекта, успех действия или разрешение сервера.
Поведение
- Регистр имён не важен. InjectionApi регистрирует библиотеку Basic без префикса, InjectionApiUO — игровые вызовы с UO. При старом коротком вызове анализатор выдаёт SC005 и подсказывает зарегистрированную замену UO.; скрытого выполнения старого вызова нет. Значения характеристик персонажа тоже требуют UO. ApiNameExists, ApiSignatureExists и ApiParameterExists убирают пробелы по краям и проверяют точное зарегистрированное имя, не дописывая префикс. Это проверка метаданных, не состояния сервера. Оператор рефлексии VB.NET GetType(TypeName) в движке не реализован.
Примеры
UO.ApiSignatureExists — 1
# UO.ApiSignatureExists — 1
#
# Проверяет регистрацию имени с заданным числом аргументов.
#
# Integer 1, если регистрация существует, иначе 0. Допустимы сравнения с TRUE/FALSE либо 1/0.
# Результат не подтверждает существование игрового объекта, успех действия или разрешение
# сервера.
SUB Main()
# Первый пример проверяет игровое имя с явным UO. и возвращает 1. Точное проверяемое имя и
# количество аргументов, когда оно требуется, видны в вызове.
RETURN UO.ApiSignatureExists('UO.GetType',1)
END SUB
Разбор параметров и выполнения:
- Первый пример проверяет игровое имя с явным UO. и возвращает 1. Точное проверяемое имя и количество аргументов, когда оно требуется, видны в вызове.
UO.ApiSignatureExists — 2
# UO.ApiSignatureExists — 2
#
# Проверяет регистрацию имени с заданным числом аргументов.
#
# Integer 1, если регистрация существует, иначе 0. Допустимы сравнения с TRUE/FALSE либо 1/0.
# Результат не подтверждает существование игрового объекта, успех действия или разрешение
# сервера.
SUB Main()
# Второй пример проверяет Basic либо сохранённый селектор аргумента. Int(value) существует,
# Int() — нет; backpack является селектором. Скрипт возвращает 1 либо "1:0" согласно показанным
# вызовам.
RETURN CStr(UO.ApiSignatureExists('Int',1)) + ':' + CStr(UO.ApiSignatureExists('Int',0))
END SUB
Разбор параметров и выполнения:
- Второй пример проверяет Basic либо сохранённый селектор аргумента. Int(value) существует, Int() — нет; backpack является селектором. Скрипт возвращает 1 либо "1:0" согласно показанным вызовам.
UO.ApiSignatureExists — 3
# UO.ApiSignatureExists — 3
#
# Проверяет регистрацию имени с заданным числом аргументов.
#
# Integer 1, если регистрация существует, иначе 0. Допустимы сравнения с TRUE/FALSE либо 1/0.
# Результат не подтверждает существование игрового объекта, успех действия или разрешение
# сервера.
SUB Main()
# Третий пример содержит полную вспомогательную функцию. Он сравнивает удалённую короткую форму
# или неподдерживаемую арность с доступной формой. Параметры name, first, second и count
# передают имена/количество без изменений. Результат — 0 для проверок вызова и "0:1" для
# проверки значений.
RETURN CheckForm('UO.GetType',0)
END SUB
FUNCTION CheckForm(name,count)
RETURN UO.ApiSignatureExists(name,count)
END FUNCTION
Разбор параметров и выполнения:
- Третий пример содержит полную вспомогательную функцию. Он сравнивает удалённую короткую форму или неподдерживаемую арность с доступной формой. Параметры name, first, second и count передают имена/количество без изменений. Результат — 0 для проверок вызова и "0:1" для проверки значений.