ES API UO Mount - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.Mount
Firmas C#
int UO.Mount();
int UO.Mount(object? mount);
Comportamiento y resultado
Mount y Dismount envían una solicitud de uso sin doble clic manual ni ataque en modo combate. int es el serial actual del objeto de la capa Mount, no una señal de éxito. La respuesta del servidor es asíncrona: Mount puede devolver todavía 0 y Dismount el serial anterior a la retirada. Consulte después ObjAtLayer("Mount").
Parámetros
mount— Serial de la montura; si se omite utiliza el último objetivo.
Cada bloque es un .csx completo. Sustituya serials, tipos y coordenadas de ejemplo. El orden y los argumentos C# con nombre siguen la firma.
Comandos del chat
#mount 0x00001234
#mount
Ejemplos C# completos
Cada bloque es un .csx completo. Sustituya serials, tipos y coordenadas de ejemplo. El orden y los argumentos C# con nombre siguen 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));
}
}
Llamadas internas
CSharpGameApi.Mount
-> CSharpScriptGlobals
-> InjectionScript.Runtime.InjectionApiUO.Mount
ClassicUOInjectionApiBridge -> NativeMountController.Request
-> OutgoingPackets.Send_UseObjectRequest (0x06)
-> MountedLayerSerialUnsafe -> Player.FindItemByLayer(Layer.Mount)