Skip to content

KO 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)은 여전히 type이 아닌 serial을 뜻합니다. 좌표는 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