API UO GetGraphic - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.GetGraphic

Оглавление · Алфавитный указатель · Items

ClassicUO • Runtime API

Читает graphic предмета или body персонажа и возвращает его в шестнадцатеричном тексте.

Точный синтаксис

UO.GetGraphic() -> String
UO.GetGraphic(id:String) -> String
UO.GetGraphic(id:Integer) -> String

Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.

Параметры

  • id — Serial конкретного объекта либо разрешаемый алиас, например "self", "backpack", "lasttarget" или имя, сохранённое AddObject. Graphic/type сюда не передаётся. В форме без аргументов используется self.

Возвращает

String вида "0x0EED" — графический type/body объекта. Это не уникальный ID/serial. Для неизвестного объекта bridge возвращает graphic 0, который форматируется как "0x0000". Команда не возвращает true/false.

Поведение

  • Команда читает локальные данные клиента. Она не посылает target и не меняет объект на сервере.
  • Число 0 может быть допустимым значением данных. Отсутствие объекта проверяйте Exists(serial), а не только значением его свойства.

Примеры

Пример 1. Проверить type найденного предмета

# Проверить type найденного предмета
#
# Читает graphic предмета или body персонажа и возвращает его в шестнадцатеричном тексте.
#
# String вида "0x0EED" — графический type/body объекта. Это не уникальный ID/serial. Для
# неизвестного объекта bridge возвращает graphic 0, который форматируется как "0x0000". Команда
# не возвращает true/false.

SUB Main()
    # FindType получает type золота и возвращает serial.
    # GetGraphic(serial) возвращает текст "0x0EED"; переменные item и graphic имеют разный смысл.

    VAR item = UO.FindType(0x0EED, -1, 'backpack')
    IF item <> '' THEN
        VAR graphic = UO.GetGraphic(item)
        UO.Print('Graphic: ' + graphic)
    END IF
END SUB

Разбор параметров и выполнения:

  • FindType получает type золота и возвращает serial.
  • GetGraphic(serial) возвращает текст "0x0EED"; переменные item и graphic имеют разный смысл.

Пример 2. Прочитать body своего персонажа

# Прочитать body своего персонажа
#
# Читает graphic предмета или body персонажа и возвращает его в шестнадцатеричном тексте.
#
# String вида "0x0EED" — графический type/body объекта. Это не уникальный ID/serial. Для
# неизвестного объекта bridge возвращает graphic 0, который форматируется как "0x0000". Команда
# не возвращает true/false.

SUB Main()
    # Форма без аргумента использует self.
    # body — код внешнего вида персонажа, а не его serial.

    VAR body = UO.GetGraphic()
    UO.Print('Body graphic: ' + body)
END SUB

Разбор параметров и выполнения:

  • Форма без аргумента использует self.
  • body — код внешнего вида персонажа, а не его serial.

Пример 3. Передать прочитанный graphic в новый поиск

# Передать прочитанный graphic в новый поиск
#
# Читает graphic предмета или body персонажа и возвращает его в шестнадцатеричном тексте.
#
# String вида "0x0EED" — графический type/body объекта. Это не уникальный ID/serial. Для
# неизвестного объекта bridge возвращает graphic 0, который форматируется как "0x0000". Команда
# не возвращает true/false.

SUB Main()
    # lastobject — образец; graphic — строка hex, которую FindType принимает как type.
    # -1 допускает любой цвет, backpack задаёт область поиска. sameType снова является serial.

    VAR graphic = UO.GetGraphic('lastobject')
    VAR sameType = UO.FindType(graphic, -1, 'backpack')
    IF sameType <> '' THEN
        UO.Print('Matching serial: ' + sameType)
    END IF
END SUB

Разбор параметров и выполнения:

  • lastobject — образец; graphic — строка hex, которую FindType принимает как type.
  • -1 допускает любой цвет, backpack задаёт область поиска. sameType снова является serial.