API UO GetPlayerStatusText - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.GetPlayerStatusText
Оглавление · Алфавитный указатель · Character
ClassicUO • Runtime API
Формирует короткий текст имени и здоровья объекта.
Точный синтаксис
UO.GetPlayerStatusText(ObjID:Any) -> Any
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
ObjID— Serial/ID конкретного объекта: Integer, десятичная/hex-строка или установленный алиас self, backpack, lasttarget, lastobject либо имя AddObject. Это не graphic/type.
Возвращает
String в формате "имя HP/MaxHP". Например "Raven 75/100". Для неизвестного объекта обычно " 0/0" с начальным пробелом. Это текст, а не структура, Boolean или открытый статус-гамп.
Поведение
- Читаются GetName/GetHP/GetMaxHP без запроса обновления. Не разбирайте текст по пробелу для получения ID или HP: имя может содержать пробелы, для чисел используйте отдельные getter-команды.
Примеры
Пример 1. Показать своё здоровье
# Показать своё здоровье
#
# Формирует короткий текст имени и здоровья объекта.
#
# String в формате "имя HP/MaxHP". Например "Raven 75/100". Для неизвестного объекта обычно "
# 0/0" с начальным пробелом. Это текст, а не структура, Boolean или открытый статус-гамп.
SUB Main()
# ObjID=self — текущий персонаж.
# Print показывает готовый текст в журнале.
UO.Print(UO.GetPlayerStatusText('self'))
END SUB
Разбор параметров и выполнения:
- ObjID=self — текущий персонаж.
- Print показывает готовый текст в журнале.
Пример 2. Проверить цель перед показом
# Проверить цель перед показом
#
# Формирует короткий текст имени и здоровья объекта.
#
# String в формате "имя HP/MaxHP". Например "Raven 75/100". Для неизвестного объекта обычно "
# 0/0" с начальным пробелом. Это текст, а не структура, Boolean или открытый статус-гамп.
SUB Main()
# ObjID=serial последней цели.
# Exists предотвращает вывод неизвестного объекта как 0/0.
VAR target = UO.GetSerial('lasttarget')
IF UO.Exists(target) THEN
UO.Print(UO.GetPlayerStatusText(target))
END IF
END SUB
Разбор параметров и выполнения:
- ObjID=serial последней цели.
- Exists предотвращает вывод неизвестного объекта как 0/0.
Пример 3. Сохранить два снимка
# Сохранить два снимка
#
# Формирует короткий текст имени и здоровья объекта.
#
# String в формате "имя HP/MaxHP". Например "Raven 75/100". Для неизвестного объекта обычно "
# 0/0" с начальным пробелом. Это текст, а не структура, Boolean или открытый статус-гамп.
SUB Main()
# 500 — миллисекунды между чтениями.
# Сравнивается текст имени/HP, не все характеристики персонажа.
VAR before = UO.GetPlayerStatusText('self')
WAIT(500)
VAR after = UO.GetPlayerStatusText('self')
IF before <> after THEN
UO.Print(after)
END IF
END SUB
Разбор параметров и выполнения:
- 500 — миллисекунды между чтениями.
- Сравнивается текст имени/HP, не все характеристики персонажа.