API UO GetName - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.GetName
Оглавление · Алфавитный указатель · Items
ClassicUO • Runtime API
Читает известное клиенту имя предмета или персонажа.
Точный синтаксис
UO.GetName() -> String
UO.GetName(id:Integer) -> String
UO.GetName(id:String) -> String
UO.GetName(ObjID:Any) -> Any
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
id / ObjID— Serial/ID объекта, а не graphic/type. Число, hex-строка, стандартное имя self/backpack/lasttarget/lastobject/lastcontainer/laststatus/finditem/lastcorpse или имя AddObject. Алиас должен быть установлен; существование проверяется Exists. В зарегистрированной форме без аргументов используется self.
Возвращает
String — имя объекта. Неизвестный объект или ещё не полученное имя дают пустую строку "". Это не serial, не type и не полный список свойств из tooltip.
Поведение
- Читаются последние данные, уже известные клиенту; запрос обновления серверу не отправляется.
- Неизвестный объект и ещё не полученное свойство могут иметь нулевое/пустое значение. Проверяйте Exists и условия конкретного действия.
Примеры
Пример 1. Вывести имя персонажа
# Вывести имя персонажа
#
# Читает известное клиенту имя предмета или персонажа.
#
# String — имя объекта. Неизвестный объект или ещё не полученное имя дают пустую строку "". Это
# не serial, не type и не полный список свойств из tooltip.
SUB Main()
# Без аргумента используется self.
# Результат — текст имени, его можно выводить напрямую.
VAR name = UO.GetName()
UO.Print(name)
END SUB
Разбор параметров и выполнения:
- Без аргумента используется self.
- Результат — текст имени, его можно выводить напрямую.
Пример 2. Обработать неизвестное имя цели
# Обработать неизвестное имя цели
#
# Читает известное клиенту имя предмета или персонажа.
#
# String — имя объекта. Неизвестный объект или ещё не полученное имя дают пустую строку "". Это
# не serial, не type и не полный список свойств из tooltip.
SUB Main()
# lasttarget — алиас объекта. GetName не открывает новый target.
# Пустое имя не доказывает отсутствие объекта: сначала могла прийти информация о serial без
# имени.
VAR name = UO.GetName('lasttarget')
IF name = '' THEN
UO.Print('Name is not available')
ELSE
UO.Print('Target: ' + name)
END IF
END SUB
Разбор параметров и выполнения:
- lasttarget — алиас объекта. GetName не открывает новый target.
- Пустое имя не доказывает отсутствие объекта: сначала могла прийти информация о serial без имени.
Пример 3. Сравнить имя без учёта регистра
# Сравнить имя без учёта регистра
#
# Читает известное клиенту имя предмета или персонажа.
#
# String — имя объекта. Неизвестный объект или ещё не полученное имя дают пустую строку "". Это
# не serial, не type и не полный список свойств из tooltip.
SUB Main()
# LCASE переводит строку в нижний регистр для сравнения.
# Имя задаёт сервер и оно может быть локализовано. Для отбора по графическому типу используйте
# FindType/GetGraphic.
VAR name = UO.GetName('lastobject')
IF LCASE(name) = 'gold' THEN
UO.Print('Known name matches')
END IF
END SUB
Разбор параметров и выполнения:
- LCASE переводит строку в нижний регистр для сравнения.
- Имя задаёт сервер и оно может быть локализовано. Для отбора по графическому типу используйте FindType/GetGraphic.