From 2aa2b1e628d79ad97e62c7ba1a62b2836a072cf7 Mon Sep 17 00:00:00 2001 From: RD42 <42702181+dashr9230@users.noreply.github.com> Date: Sat, 8 Jun 2024 21:35:32 +0800 Subject: [PATCH] [bot] Implement `ScrRemovePlayerFromVehicle(...)` --- bot/net/scriptrpc.cpp | 13 +++++++++---- raknet/SAMPRPC.h | 2 +- saco/net/scriptrpc.cpp | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/bot/net/scriptrpc.cpp b/bot/net/scriptrpc.cpp index 0f20c15..3e285eb 100644 --- a/bot/net/scriptrpc.cpp +++ b/bot/net/scriptrpc.cpp @@ -90,9 +90,14 @@ void ScrPutPlayerInVehicle(RPCParameters *rpcParams) //---------------------------------------------------- -void ScrUnk47(RPCParameters *rpcParams) +void ScrRemovePlayerFromVehicle(RPCParameters *rpcParams) { - // TODO: ScrUnk47 + MyVehicleID = INVALID_VEHICLE_ID; + byteMySeatID = 0; + + if(pNetGame->GetBotMode()) { + pNetGame->GetBotMode()->OnNPCExitVehicle(); + } } //---------------------------------------------------- @@ -488,8 +493,8 @@ void RegisterScriptRPCs(RakClientInterface* pRakClient) REGISTER_STATIC_RPC(pRakClient, ScrSetPlayerPos); REGISTER_STATIC_RPC(pRakClient, ScrUnk0D); REGISTER_STATIC_RPC(pRakClient, ScrUnk0E); - REGISTER_STATIC_RPC(pRakClient, ScrUnk47); REGISTER_STATIC_RPC(pRakClient, ScrPutPlayerInVehicle); + REGISTER_STATIC_RPC(pRakClient, ScrRemovePlayerFromVehicle); REGISTER_STATIC_RPC(pRakClient, ScrUnk48); REGISTER_STATIC_RPC(pRakClient, ScrDisplayGameText); REGISTER_STATIC_RPC(pRakClient, ScrUnk9C); @@ -562,8 +567,8 @@ void UnRegisterScriptRPCs(RakClientInterface* pRakClient) UNREGISTER_STATIC_RPC(pRakClient, ScrSetPlayerPos); UNREGISTER_STATIC_RPC(pRakClient, ScrUnk0D); UNREGISTER_STATIC_RPC(pRakClient, ScrUnk0E); - UNREGISTER_STATIC_RPC(pRakClient, ScrUnk47); UNREGISTER_STATIC_RPC(pRakClient, ScrPutPlayerInVehicle); + UNREGISTER_STATIC_RPC(pRakClient, ScrRemovePlayerFromVehicle); UNREGISTER_STATIC_RPC(pRakClient, ScrUnk48); UNREGISTER_STATIC_RPC(pRakClient, ScrDisplayGameText); UNREGISTER_STATIC_RPC(pRakClient, ScrUnk9C); diff --git a/raknet/SAMPRPC.h b/raknet/SAMPRPC.h index 2e57ecd..3d83c3f 100644 --- a/raknet/SAMPRPC.h +++ b/raknet/SAMPRPC.h @@ -130,8 +130,8 @@ #define RPC_ScrSetPlayerPos "\x0C" #define RPC_ScrUnk0D "\x0D" #define RPC_ScrUnk0E "\x0E" -#define RPC_ScrUnk47 "\x47" #define RPC_ScrPutPlayerInVehicle "\x46" +#define RPC_ScrRemovePlayerFromVehicle "\x47" #define RPC_ScrUnk48 "\x48" #define RPC_ScrDisplayGameText "\x49" #define RPC_ScrUnk9C "\x9C" diff --git a/saco/net/scriptrpc.cpp b/saco/net/scriptrpc.cpp index d5904b9..58c4f32 100644 --- a/saco/net/scriptrpc.cpp +++ b/saco/net/scriptrpc.cpp @@ -57,8 +57,8 @@ void ScrUnk0B(RPCParameters *rpcParams) {} void ScrSetPlayerPos(RPCParameters *rpcParams) {} void ScrUnk0D(RPCParameters *rpcParams) {} void ScrUnk0E(RPCParameters *rpcParams) {} -void ScrUnk47(RPCParameters *rpcParams) {} void ScrPutPlayerInVehicle(RPCParameters *rpcParams) {} +void ScrRemovePlayerFromVehicle(RPCParameters *rpcParams) {} void ScrUnk48(RPCParameters *rpcParams) {} void ScrDisplayGameText(RPCParameters *rpcParams) {} void ScrUnk9C(RPCParameters *rpcParams) {} @@ -157,8 +157,8 @@ void RegisterScriptRPCs(RakClientInterface* pRakClient) REGISTER_STATIC_RPC(pRakClient, ScrSetPlayerPos); REGISTER_STATIC_RPC(pRakClient, ScrUnk0D); REGISTER_STATIC_RPC(pRakClient, ScrUnk0E); - REGISTER_STATIC_RPC(pRakClient, ScrUnk47); REGISTER_STATIC_RPC(pRakClient, ScrPutPlayerInVehicle); + REGISTER_STATIC_RPC(pRakClient, ScrRemovePlayerFromVehicle); REGISTER_STATIC_RPC(pRakClient, ScrUnk48); REGISTER_STATIC_RPC(pRakClient, ScrDisplayGameText); REGISTER_STATIC_RPC(pRakClient, ScrUnk9C); @@ -265,8 +265,8 @@ void UnRegisterScriptRPCs(RakClientInterface* pRakClient) UNREGISTER_STATIC_RPC(pRakClient, ScrSetPlayerPos); UNREGISTER_STATIC_RPC(pRakClient, ScrUnk0D); UNREGISTER_STATIC_RPC(pRakClient, ScrUnk0E); - UNREGISTER_STATIC_RPC(pRakClient, ScrUnk47); UNREGISTER_STATIC_RPC(pRakClient, ScrPutPlayerInVehicle); + UNREGISTER_STATIC_RPC(pRakClient, ScrRemovePlayerFromVehicle); UNREGISTER_STATIC_RPC(pRakClient, ScrUnk48); UNREGISTER_STATIC_RPC(pRakClient, ScrDisplayGameText); UNREGISTER_STATIC_RPC(pRakClient, ScrUnk9C);