Skip to content

API UO ClientInfo

Codex edited this page Sep 21, 2026 · 1 revision

UO.ClientInfo

UO API · Все команды · Возвращаемые значения

Читает краткие сведения о запущенном клиенте.

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

UO.ClientInfo() -> Array

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

Параметры

Параметров нет.

Возвращает

Array из трёх String: [0] — название продукта, [1] — версия запущенного клиента, [2] — каталог клиента. Индексы начинаются с 0. Это не строка JSON и не словарь.

Поведение

  • Данные читаются из RuntimeProductName, RuntimeProductVersion и ClientPath. Команда ничего не меняет и не отправляет серверу.
  • Используйте GetArrayLength перед индексированием в общей вспомогательной функции. Не путайте сведения о клиенте с характеристиками персонажа или версией сервера.
  • Читает сведения о текущем клиенте ClassicUO.

Внутренние функции: последовательность выполнения

Ниже описана реализация этого движка. Имена внутренних методов не являются дополнительными командами BASIC.

1. ExecuteClientApiCompatibility

Читает три свойства bridge в заданном порядке.

Создаёт новый массив из трёх строковых InjectionValue.

Исходник проекта: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; функция ExecuteClientApiCompatibility.

Функция не перечисляет установленные плагины, оборудование компьютера или доступные скрипты.

Примеры

Пример 1. Прочитать все три поля

# Прочитать все три поля
#
# Читает краткие сведения о запущенном клиенте.
#
# Array из трёх String: [0] — название продукта, [1] — версия запущенного клиента, [2] — каталог
# клиента. Индексы начинаются с 0. Это не строка JSON и не словарь.

SUB Main()
    # 0продукт, 1версия, 2каталог. Значение версии берётся при запуске, в примере оно не
    # зафиксировано.

    VAR info = UO.ClientInfo()
    UO.Print("Product: " + info[0])
    UO.Print("Client version: " + info[1])
    UO.Print("Client folder: " + info[2])
END SUB

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

  • 0 — продукт, 1 — версия, 2 — каталог. Значение версии берётся при запуске, в примере оно не зафиксировано.

Пример 2. Перебрать массив

# Перебрать массив
#
# Читает краткие сведения о запущенном клиенте.
#
# Array из трёх String: [0] — название продукта, [1] — версия запущенного клиента, [2] — каталог
# клиента. Индексы начинаются с 0. Это не строка JSON и не словарь.

SUB Main()
    # GetArrayLength возвращает число полей. Последний допустимый индекс равен длине минус 1.

    VAR info = UO.ClientInfo()
    VAR i = 0
    WHILE i < GetArrayLength(info)
        UO.Print(CStr(i) + ": " + info[i])
        i = i + 1
    WEND
END SUB

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

  • GetArrayLength возвращает число полей. Последний допустимый индекс равен длине минус 1.

Пример 3. Полная функция получения подписи клиента

# Полная функция получения подписи клиента
#
# Читает краткие сведения о запущенном клиенте.
#
# Array из трёх String: [0] — название продукта, [1] — версия запущенного клиента, [2] — каталог
# клиента. Индексы начинаются с 0. Это не строка JSON и не словарь.

SUB Main()
    # ClientCaption возвращает строку из названия и версии. Исходный массив не изменяется.

    UO.Print(ClientCaption())
END SUB

FUNCTION ClientCaption()
    VAR info = UO.ClientInfo()
    IF GetArrayLength(info) < 2 THEN
        RETURN "Client information unavailable"
    END IF
    RETURN info[0] + " / " + info[1]
END FUNCTION

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

  • ClientCaption возвращает строку из названия и версии. Исходный массив не изменяется.

Clone this wiki locally