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

UO.GetSerial

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

ClassicUO • Runtime API

Разрешает имя объекта в его serial и форматирует serial как hex-строку.

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

UO.GetSerial() -> String
UO.GetSerial(id:String) -> String

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

Параметры

  • id — Необязательная строка: стандартный алиас, имя AddObject или числовой текст (десятичный/hex). Без аргумента используется serial текущего персонажа.

Возвращает

String вида "0x40001234" — уникальный serial/ID объекта, восемь hex-цифр после 0x. Неразрешённое имя даёт "0x00000000". Это не type. Числовой текст форматируется даже если такой объект не загружен; GetSerial сам по себе не проверяет Exists.

Поведение

  • Имена алиасов читаются из текущего состояния скрипта/клиента. Сохранённая строка serial не меняется автоматически, если алиас впоследствии указывает на другой объект.

Примеры

Пример 1. Получить ID своего персонажа

# Получить ID своего персонажа
#
# Разрешает имя объекта в его serial и форматирует serial как hex-строку.
#
# String вида "0x40001234" — уникальный serial/ID объекта, восемь hex-цифр после 0x.
# Неразрешённое имя даёт "0x00000000". Это не type. Числовой текст форматируется даже если такой
# объект не загружен; GetSerial сам по себе не проверяет Exists.

SUB Main()
    # Параметров нет, выбран self.
    # serial — hex-строка. Значение 0x00000000 означает отсутствие serial персонажа.

    VAR serial = UO.GetSerial()
    UO.Print(serial)
END SUB

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

  • Параметров нет, выбран self.
  • serial — hex-строка. Значение 0x00000000 означает отсутствие serial персонажа.

Пример 2. Безопасно использовать последнее выбранное имя

# Безопасно использовать последнее выбранное имя
#
# Разрешает имя объекта в его serial и форматирует serial как hex-строку.
#
# String вида "0x40001234" — уникальный serial/ID объекта, восемь hex-цифр после 0x.
# Неразрешённое имя даёт "0x00000000". Это не type. Числовой текст форматируется даже если такой
# объект не загружен; GetSerial сам по себе не проверяет Exists.

SUB Main()
    # id="lasttarget" разрешается в serial последней цели.
    # Exists проверяет наличие объекта, GetName читает его известное клиенту имя.

    VAR serial = UO.GetSerial('lasttarget')
    IF UO.Exists(serial) THEN
        UO.Print(UO.GetName(serial))
    ELSE
        UO.Print('Target is not loaded')
    END IF
END SUB

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

  • id="lasttarget" разрешается в serial последней цели.
  • Exists проверяет наличие объекта, GetName читает его известное клиенту имя.

Пример 3. Сравнить числовые представления

# Сравнить числовые представления
#
# Разрешает имя объекта в его serial и форматирует serial как hex-строку.
#
# String вида "0x40001234" — уникальный serial/ID объекта, восемь hex-цифр после 0x.
# Неразрешённое имя даёт "0x00000000". Это не type. Числовой текст форматируется даже если такой
# объект не загружен; GetSerial сам по себе не проверяет Exists.

SUB Main()
    # id — строка с десятичным serial 1073746484.
    # Результат 0x40001234 показывает форматирование. Это пример числа, он не создаёт объект и не
    # гарантирует его наличие.

    VAR serial = UO.GetSerial('1073746484')
    UO.Print(serial)
END SUB

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

  • id — строка с десятичным serial 1073746484.
  • Результат 0x40001234 показывает форматирование. Это пример числа, он не создаёт объект и не гарантирует его наличие.