Skip to content

API UO Info

Bad Newbie edited this page Oct 16, 2026 · 12 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, object? y);
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.

Префікс налаштовується в C# Scripts IDE. Нижче # — лише приклад префікса. Параметри відокремлюються пробілами; лапки зберігають текст як один параметр. id означає serial, type означає graphic. xy x y [z] вибирає перший завантажений об’єкт у точці; type без координат — перший знайдений відповідний об’єкт. Для InfoTile третій аргумент форми (x,y,map) — номер карти, а не Z.

Команди чату

#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

Clone this wiki locally