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