Skip to content

API UO GetType

Codex edited this page Sep 19, 2026 · 5 revisions

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 персонажа.
#
# Integergraphic/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 персонажа.
#
# Integergraphic/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 персонажа.
#
# Integergraphic/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.

Clone this wiki locally