API UO GetAltName - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.GetAltName
Оглавление · Алфавитный указатель · Items
ClassicUO • Runtime API
Читает известный клиенту титул персонажа: например, профессию или подпись после имени.
Точный синтаксис
UO.GetAltName(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/GetAltName/ . В этой реализации альтернативное имя сопоставлено полю Title персонажа.
Примеры
Пример 1. Титул своего персонажа
# Титул своего персонажа
#
# Читает известный клиенту титул персонажа: например, профессию или подпись после имени.
#
# String — текст поля Title у Mobile. Пустая строка, если титул неизвестен, объект не является
# персонажем или ID отсутствует. Это не serial, не полное имя и не массив свойств. GetAltName
# использует то же поле, что GetTitle.
SUB Main()
# ObjID=self — персонаж текущего клиента.
# title содержит только титул; пустое поле не означает ошибку скрипта.
VAR title = UO.GetAltName('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.GetAltName(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.GetAltName(id))
END IF
END SUB
Разбор параметров и выполнения:
- 350 — пример паузы в миллисекундах после одиночного клика; это не параметр getter.
- Сервер может ответить позже или не передать титул. Сохраняйте обработку пустой строки.