ZH TW API UO InfoGump - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

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

UO.InfoGump

C# 簽章

string UO.InfoGump();
string UO.InfoGump(object? gump);

行為與結果

呼叫來源決定顯示方式:遊戲圖形聊天指令會開啟含欄位、數值、Ctrl+C 與捲動的表格。一般 C# 腳本只取得報告字串,不開視窗或目標游標,即使遊戲視窗已開啟亦然。僅能讀取用戶端已知資料。

InfoGump() 讀取最近的伺服器對話框或用戶端視窗。可指定 ID 或索引;last、LastGump 和 Last Gump 表示最近視窗。InfoGumps 傳回清單,排除檢視器本身。只有圖形指令會開啟表格。

參數

  • gump — 伺服器視窗 ID 或索引;-1 選取最後作用中的視窗。

在 C# Scripts IDE 設定前綴;# 僅為範例。參數以空白分隔,引號將文字保留為單一參數。id 是 serial,type 是 graphic。xy x y [z] 選擇該位置第一個已載入物件;只有 type 時選第一個符合物件。InfoTile(x,y,map) 第三個參數是地圖,不是 Z。

聊天指令

#infogump
#infogump last
#info gump last gump
#infogump 0x12345678

完整 C# 範例

每個程式碼區塊都是完整的獨立 .csx。請替換範例 serial、type 與座標;參數順序及 C# 具名參數依照簽章。

1

string report = UO.InfoGump();
UO.Print(report);

2

UO.Print(UO.InfoGump(0x12345678));

3

string ReadLatestWindow() => UO.InfoGump();
UO.Print(ReadLatestWindow());

4

new CommandSample().Execute(UO);

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

內部呼叫

CSharpGameApi.InfoGump
  -> CSharpScriptGlobals
  -> InjectionScript.Runtime.InjectionApiUO.InfoGump
ClassicUOInjectionApiBridge -> YokoInfoReport -> YokoInfoGump