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" для проверки значений.

ru · en · uk · fr · de · it · es · zh-tw · ja · ko

Правила имён · Basic