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" для значень.