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

UO.GetTitle

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

ClassicUO • Runtime API

Читает известный клиенту титул персонажа: например, профессию или подпись после имени.

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

UO.GetTitle(ObjID:Any) -> Any

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

Параметры

  • ObjID — Обязательный serial/ID объекта, не type и не cliloc. Допускается Integer, десятичная/hex-строка, self, backpack, lasttarget, finditem или имя AddObject. 0 означает отсутствие объекта.

Возвращает

String — текст поля Title у Mobile. Пустая строка, если титул неизвестен, объект не является персонажем или ID отсутствует. Это не serial, не полное имя и не массив свойств. GetAltName использует то же поле, что GetTitle.

Поведение

  • Сам вызов читает локальные данные, не ждёт сервер и не отправляет одиночный клик. Для запроса имени/титула используйте ClickOnObject отдельно; ответ приходит асинхронно.
  • Пустая строка допустима и у существующего персонажа. Проверка Exists отвечает на другой вопрос — загружен ли объект.
  • Первичный справочник: https://stealth.od.ua/api/GetTitle/ . В этой реализации альтернативное имя сопоставлено полю Title персонажа.

Примеры

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

# Титул своего персонажа
#
# Читает известный клиенту титул персонажа: например, профессию или подпись после имени.
#
# String — текст поля Title у Mobile. Пустая строка, если титул неизвестен, объект не является
# персонажем или ID отсутствует. Это не serial, не полное имя и не массив свойств. GetAltName
# использует то же поле, что GetTitle.

SUB Main()
    # ObjID=self — персонаж текущего клиента.
    # title содержит только титул; пустое поле не означает ошибку скрипта.

    VAR title = UO.GetTitle('self')
    UO.Print(title)
END SUB

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

  • ObjID=self — персонаж текущего клиента.
  • title содержит только титул; пустое поле не означает ошибку скрипта.

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

# Проверить выбранного персонажа
#
# Читает известный клиенту титул персонажа: например, профессию или подпись после имени.
#
# String — текст поля Title у Mobile. Пустая строка, если титул неизвестен, объект не является
# персонажем или ID отсутствует. Это не serial, не полное имя и не массив свойств. GetAltName
# использует то же поле, что GetTitle.

SUB Main()
    # ObjID=id — serial последней цели. GetName и титул читаются отдельно.
    # Цель-предмет не имеет поля Title и даст пустую строку.

    VAR id = UO.GetSerial('lasttarget')
    IF UO.Exists(id) THEN
        VAR title = UO.GetTitle(id)
        IF title <> '' THEN
            UO.Print(UO.GetName(id) + ' ' + title)
        END IF
    END IF
END SUB

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

  • ObjID=id — serial последней цели. GetName и титул читаются отдельно.
  • Цель-предмет не имеет поля Title и даст пустую строку.

Пример 3. Запросить имя перед чтением

# Запросить имя перед чтением
#
# Читает известный клиенту титул персонажа: например, профессию или подпись после имени.
#
# String — текст поля Title у Mobile. Пустая строка, если титул неизвестен, объект не является
# персонажем или ID отсутствует. Это не serial, не полное имя и не массив свойств. GetAltName
# использует то же поле, что GetTitle.

SUB Main()
    # 350 — пример паузы в миллисекундах после одиночного клика; это не параметр getter.
    # Сервер может ответить позже или не передать титул. Сохраняйте обработку пустой строки.

    VAR id = UO.GetSerial('lasttarget')
    IF UO.Exists(id) THEN
        UO.ClickOnObject(id)
        UO.Wait(350)
        UO.Print(UO.GetTitle(id))
    END IF
END SUB

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

  • 350 — пример паузы в миллисекундах после одиночного клика; это не параметр getter.
  • Сервер может ответить позже или не передать титул. Сохраняйте обработку пустой строки.