API UO ApiSignatureExists uk - 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