ZH TW API UO InfoTile - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.InfoTile
C# 簽章
string UO.InfoTile();
string UO.InfoTile(object? x);
string UO.InfoTile(object? x, object? y);
string UO.InfoTile(object? x, object? y, object? map);
string UO.InfoTile(object? type, object? x, object? y, object? z);
string UO.InfoTile(object? type, object? x, object? y, object? z, object? map);
行為與結果
呼叫來源決定顯示方式:遊戲圖形聊天指令會開啟含欄位、數值、Ctrl+C 與捲動的表格。一般 C# 腳本只取得報告字串,不開視窗或目標游標,即使遊戲視窗已開啟亦然。僅能讀取用戶端已知資料。
圖形聊天中的無參數 Info 和 InfoTile 會要求選取目標。腳本中的 Info() 讀取最後物件目標或玩家;InfoTile() 讀取玩家腳下的地形。serial、type 和座標可指定物件或地塊。InfoTile(x,y,map) 的第三個參數是地圖編號。
參數
map— 地圖編號;省略時使用目前地圖。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。
聊天指令
#infotile
#info tile xy 1450 1690
#infotile 1450 1690 0
#infotile type 0x0EED 1450 1690 0 0
完整 C# 範例
每個程式碼區塊都是完整的獨立 .csx。請替換範例 serial、type 與座標;參數順序及 C# 具名參數依照簽章。
1
UO.Print(UO.InfoTile(1450, 1690));
2
string report = UO.InfoTile(1450, 1690, 0);
UO.Print(report);
3
UO.Print(UO.InfoTile(0x0EED, 1450, 1690, 0, 0));
4
new CommandSample().Execute(UO);
sealed class CommandSample
{
public void Execute(global::ClassicUO.CSharp.CSharpGameApi api)
{
api.Print(api.InfoTile(1450, 1690));
}
}
內部呼叫
CSharpGameApi.InfoTile
-> CSharpScriptGlobals
-> InjectionScript.Runtime.InjectionApiUO.InfoTile
ClassicUOInjectionApiBridge -> YokoInfoReport -> YokoInfoGump