IT API UO Info - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.Info
Firme 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);
Comportamento e risultato
Il contesto determina la visualizzazione: i comandi della chat grafica aprono una tabella con campi, valori, Ctrl+C e scorrimento. Gli script C# ricevono testo senza finestre o mirino, anche con il gioco aperto. Sono disponibili solo i dati noti al client.
Info e InfoTile senza argomenti attivano il mirino nella chat grafica. In uno script Info() legge l’ultimo oggetto bersaglio o il giocatore; InfoTile() il terreno sotto il giocatore. serial, type e coordinate selezionano un elemento preciso. Il terzo argomento di InfoTile(x,y,map) è la mappa.
Parametri
serial— Seriale oggetto o alias salvato.type— ID grafico; -1 accetta qualsiasi tipo nella posizione.x— Coordinata X del mondo.y— Coordinata Y del mondo.z— Altezza Z; la forma breve usa 0.
UO.Info(type: 0x0EED) legge l’oggetto caricato più vicino di quel tipo, senza cursore di puntamento. Per un oggetto contenuto, la distanza è quella del proprietario principale; serial risolve le parità. Il comando non carica oggetti sconosciuti al client. UO.Info(serial) indica ancora serial, non type. Fornire x e y insieme; una sola coordinata restituisce una spiegazione senza aprire il cursore. La forma chat #info type 0x0EED usa la stessa ricerca dell’oggetto più vicino.
Comandi chat
#info
#UO.Info id 0x40001234
#info type 0x0EED
#info xy 1450 1690
#info type 0x0EED xy 1450 1690 0
Esempi C# completi
Ogni blocco è un .csx completo. Sostituire serial, tipi e coordinate di esempio. Ordine e argomenti C# nominati seguono la firma.
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);
}
}
Chiamate interne
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);