API UO GetType - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.GetType
Оглавление · Алфавитный указатель · Items
ClassicUO • Runtime API
Читает числовой graphic предмета или body персонажа.
Точный синтаксис
UO.GetType(ObjID:Any) -> Any
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
ObjID— Обязательный serial/ID игрового объекта либо строковый алиас "self", "backpack", "lasttarget" или имя AddObject. Это не graphic/type и не имя типа Basic. Чтобы прочитать себя, явно передайте "self"; формы без аргументов нет.
Возвращает
Integer — graphic/type предмета либо body персонажа, например 0x0EED (3821) для золота. Значение 0 возвращается, если объект не найден. GetType не возвращает serial или текст "0x…"; строковую форму даёт GetGraphic.
Поведение
- Команда читает локальные данные клиента. Она не посылает target и не меняет объект на сервере.
- Число 0 может быть допустимым значением данных. Отсутствие объекта проверяйте Exists(serial), а не только значением его свойства.
Примеры
Пример 1. Сравнить числовой type с константой
# Сравнить числовой type с константой
#
# Читает числовой graphic предмета или body персонажа.
#
# Integer — graphic/type предмета либо body персонажа, например 0x0EED (3821) для золота.
# Значение 0 возвращается, если объект не найден. GetType не возвращает serial или текст "0x…";
# строковую форму даёт GetGraphic.
SUB Main()
# ObjID="lastobject" — алиас конкретного объекта.
# 0x0EED является числом graphic; сравнение не ищет объект с таким serial.
VAR graphic = UO.GetType('lastobject')
IF graphic = 0x0EED THEN
UO.Print('Gold graphic')
END IF
END SUB
Разбор параметров и выполнения:
- ObjID="lastobject" — алиас конкретного объекта.
- 0x0EED является числом graphic; сравнение не ищет объект с таким serial.
Пример 2. Получить type собственного рюкзака
# Получить type собственного рюкзака
#
# Читает числовой graphic предмета или body персонажа.
#
# Integer — graphic/type предмета либо body персонажа, например 0x0EED (3821) для золота.
# Значение 0 возвращается, если объект не найден. GetType не возвращает serial или текст "0x…";
# строковую форму даёт GetGraphic.
SUB Main()
# ObjID="backpack" — текущий рюкзак.
# CStr форматирует возвращённое число для вывода.
VAR graphic = UO.GetType('backpack')
UO.Print('Backpack type: ' + CStr(graphic))
END SUB
Разбор параметров и выполнения:
- ObjID="backpack" — текущий рюкзак.
- CStr форматирует возвращённое число для вывода.
Пример 3. Проверить существование объекта до чтения type
# Проверить существование объекта до чтения type
#
# Читает числовой graphic предмета или body персонажа.
#
# Integer — graphic/type предмета либо body персонажа, например 0x0EED (3821) для золота.
# Значение 0 возвращается, если объект не найден. GetType не возвращает serial или текст "0x…";
# строковую форму даёт GetGraphic.
SUB Main()
# Пустая строка FindType проверяется до Exists.
# Exists возвращает логическое 1/0; GetType возвращает номер graphic.
VAR item = UO.FindType(0x0EED, -1, 'backpack')
IF item <> '' THEN
IF UO.Exists(item) THEN
UO.Print('Type: ' + CStr(UO.GetType(item)))
END IF
END IF
END SUB
Разбор параметров и выполнения:
- Пустая строка FindType проверяется до Exists.
- Exists возвращает логическое 1/0; GetType возвращает номер graphic.