Skip to content

RU API UO Info

Codex edited this page Oct 18, 2026 · 6 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

UO.Info

Сигнатуры C#

string UO.Info();
string UO.Info(object? serial);
string UO.Info(object? type, object? x = null, object? y = null);
string UO.Info(object? type, object? x, object? y, object? z);

Поведение и результат

Режим вызова определяет результат: команда из графического чата или привязанная команда открывает таблицу с полями, значениями, Ctrl+C и прокруткой. Обычный C#-скрипт получает строку данных без окон и прицела, даже при открытом игровом окне. Доступны только известные клиенту данные.

В графическом чате Info и InfoTile без аргументов включают прицел. В скрипте Info() читает последнюю объектную цель или своего персонажа, а InfoTile() — землю под персонажем. Явные serial, type и координаты читают выбранный объект или тайл. Третий аргумент InfoTile(x,y,map) — номер карты.

Параметры

  • serial — Серийный номер объекта или сохранённый псевдоним.
  • type — Графический ID предмета; -1 — любой тип в указанной точке.
  • x — Координата X мира.
  • y — Координата Y мира.
  • z — Высота Z; сокращённая форма использует 0.

UO.Info(type: 0x0EED) читает ближайший загруженный объект заданного типа без прицела. Для предмета в контейнере расстояние определяется по его корневому владельцу; при одинаковом расстоянии выбор определяет serial. Команда не загружает неизвестные серверные объекты. UO.Info(serial) по-прежнему означает serial, а не type. Для координат передайте вместе x и y; одиночная координата возвращает объяснение ошибки и не включает прицел. Форма чата #info type 0x0EED использует такой же поиск ближайшего объекта.

Команды чата

#info
#UO.Info id 0x40001234
#info type 0x0EED
#info xy 1450 1690
#info type 0x0EED xy 1450 1690 0

Самостоятельные примеры C#

Каждый блок — полный отдельный .csx. Замените демонстрационные serial, type и координаты своими. Параметры идут в порядке сигнатуры; именованные параметры C# позволяют явно указать их назначение.

1

string report = UO.Info(0x40001234);
UO.Print(report);

2

string InspectSelf() => UO.Info("self");
UO.Print(InspectSelf());

3

foreach (int serial in new[] { 0x40001234, 0x40005678 })
{
    string report = UO.Info(serial);
    UO.Print(report);
}

4

new CommandSample().Execute(UO);

sealed class CommandSample
{
    public void Execute(global::ClassicUO.CSharp.CSharpGameApi api)
    {
        string report = api.Info(0x40001234);
        api.Print(report);
    }
}

Внутренние вызовы

CSharpGameApi.Info
  -> CSharpScriptGlobals
  -> InjectionScript.Runtime.InjectionApiUO.Info
ClassicUOInjectionApiBridge -> YokoInfoReport -> YokoInfoGump
ushort goldType = 0x0EED;
string report = UO.Info(type: goldType);
UO.Print(report);
int playerX = UO.GetX();
int playerY = UO.GetY();
int playerZ = UO.GetZ();
string report = UO.Info(type: 0x0EED, x: playerX, y: playerY, z: playerZ);
UO.Print(report);

Clone this wiki locally