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

UO.Info

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

ClassicUO • Runtime API

Показывает сведения о загруженном предмете или персонаже: serial, graphic/type, цвет, координаты и свойства объекта.

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

UO.Info() -> Unit
UO.Info(object:Any) -> Unit

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

Параметры

  • object — Serial конкретного предмета/персонажа: число, hex/десятичная строка, self/backpack/lasttarget/lastobject/lastcontainer/lastcorpse/finditem/laststatus либо сохранённое имя AddObject. Это не type. Объект должен быть загружен; перед действием проверяйте Exists. В форме без аргумента обычная процедура использует lasttarget; интерактивная команда предлагает выбрать объект мышью.

Возвращает

Unit — возвращаемого значения нет. Результат нельзя присвоить как serial, graphic/type, количество или true/false. Информация выводится в интерфейс/журнал, а не возвращается скрипту.

Поведение

  • В командной строке/командном макросе info без аргумента открывает прицел, затем окно Basic Object Information и сообщение. info serial сразу открывает окно и выводит сведения без прицела.
  • В обычном SUB/FUNCTION, в том числе из AutoLoad, Info выводит текст в журнал и не создаёт окно или ручной прицел. Для программного чтения отдельных значений используйте GetSerial/GetGraphic/GetX/GetQuantity и другие getters.
  • Тип объекта определяет дополнительные поля: у предмета есть Container, Layer, Amount; у персонажа — HP/Mana/Stamina, notoriety и другие состояния. Недоступный объект даёт сообщение, а не сведения о другом объекте.
  • Info относится к объектам; InfoGump/InfoGumps — к серверным окнам, InfoTile — к земле/статике.

Примеры

Пример 1. Сведения о себе из скрипта

# Сведения о себе из скрипта
#
# Показывает сведения о загруженном предмете или персонаже: serial, graphic/type, цвет,
# координаты и свойства объекта.
#
# Unit — возвращаемого значения нет. Результат нельзя присвоить как serial, graphic/type,
# количество или true/false. Информация выводится в интерфейс/журнал, а не возвращается скрипту.

SUB Main()
    # object=self — собственный персонаж.
    # Текст выводится в журнал. У Info нет возвращаемой строки.

    UO.Info('self')
END SUB

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

  • object=self — собственный персонаж.
  • Текст выводится в журнал. У Info нет возвращаемой строки.

Пример 2. Проверить именованный объект

# Проверить именованный объект
#
# Показывает сведения о загруженном предмете или персонаже: serial, graphic/type, цвет,
# координаты и свойства объекта.
#
# Unit — возвращаемого значения нет. Результат нельзя присвоить как serial, graphic/type,
# количество или true/false. Информация выводится в интерфейс/журнал, а не возвращается скрипту.

SUB Main()
    # chest должен быть задан через AddObject; это serial сундука.
    # Exists предотвращает запрос сведений об отсутствующем объекте.

    IF UO.Exists('chest') THEN
        UO.Info('chest')
    ELSE
        UO.Print('Chest is not loaded')
    END IF
END SUB

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

  • chest должен быть задан через AddObject; это serial сундука.
  • Exists предотвращает запрос сведений об отсутствующем объекте.

Пример 3. Последняя цель и отдельное чтение type

# Последняя цель и отдельное чтение type
#
# Показывает сведения о загруженном предмете или персонаже: serial, graphic/type, цвет,
# координаты и свойства объекта.
#
# Unit — возвращаемого значения нет. Результат нельзя присвоить как serial, graphic/type,
# количество или true/false. Информация выводится в интерфейс/журнал, а не возвращается скрипту.

SUB Main()
    # Info() в этой процедуре выбирает lasttarget.
    # GetGraphic отдельно возвращает числовой graphic/type. Сам Info ничего не возвращает.

    IF UO.Exists('lasttarget') THEN
        UO.Info()
        VAR graphic = UO.GetGraphic('lasttarget')
        UO.Print(UO.Int2Hex(graphic))
    END IF
END SUB

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

  • Info() в этой процедуре выбирает lasttarget.
  • GetGraphic отдельно возвращает числовой graphic/type. Сам Info ничего не возвращает.