IT API UO Mount - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.Mount
Firme C#
int UO.Mount();
int UO.Mount(object? mount);
Comportamento e risultato
Mount e Dismount inviano l’uso dell’oggetto senza doppio clic manuale o attacco in modalità guerra. int è il serial attuale dell’oggetto sul layer Mount, non un successo. La risposta server è asincrona: Mount può restituire ancora 0 e Dismount il serial prima della rimozione. Controllare poi ObjAtLayer("Mount").
Parametri
mount— Seriale cavalcatura; se omesso usa l’ultimo bersaglio.
Ogni blocco è un .csx completo. Sostituire serial, tipi e coordinate di esempio. Ordine e argomenti C# nominati seguono la firma.
Comandi chat
#mount 0x00001234
#mount
Esempi C# completi
Ogni blocco è un .csx completo. Sostituire serial, tipi e coordinate di esempio. Ordine e argomenti C# nominati seguono la firma.
1
int mountLayerSerial = UO.Mount(0x00001234);
UO.Print(UO.Int2Hex(mountLayerSerial));
2
int currentSerial = UO.Mount();
UO.Print(UO.Int2Hex(currentSerial));
3
UO.Mount(0x00001234);
for (int attempt = 0; attempt < 40; attempt++)
{
var serial = UO.ObjAtLayer("Mount");
if (Convert.ToString(serial) != "0" && Convert.ToString(serial) != "0x00000000")
{
UO.Print(Convert.ToString(serial));
break;
}
await WaitAsync(50);
}
4
new CommandSample().Execute(UO);
sealed class CommandSample
{
public void Execute(global::ClassicUO.CSharp.CSharpGameApi api)
{
int mountLayerSerial = api.Mount(0x00001234);
api.Print(api.Int2Hex(mountLayerSerial));
}
}
Chiamate interne
CSharpGameApi.Mount
-> CSharpScriptGlobals
-> InjectionScript.Runtime.InjectionApiUO.Mount
ClassicUOInjectionApiBridge -> NativeMountController.Request
-> OutgoingPackets.Send_UseObjectRequest (0x06)
-> MountedLayerSerialUnsafe -> Player.FindItemByLayer(Layer.Mount)