Repository navigation
RU API UO Info
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
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
Каждый блок — полный отдельный .csx. Замените демонстрационные serial, type и координаты своими. Параметры идут в порядке сигнатуры; именованные параметры C# позволяют явно указать их назначение.
string report = UO.Info(0x40001234);
UO.Print(report);string InspectSelf() => UO.Info("self");
UO.Print(InspectSelf());foreach (int serial in new[] { 0x40001234, 0x40005678 })
{
string report = UO.Info(serial);
UO.Print(report);
}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);ClassicUO — Bad Newbie & C# Scripts IDE