From e988b6c8e8f04fc308e30c4e432899344fa0f9c8 Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Thu, 3 Sep 2026 00:37:37 +0700 Subject: [PATCH] [saco] Match `ScmEvent`; five reads forwarded to the vehicle event dispatcher --- saco/net/netrpc.cpp | 21 ++++++++++++++++++++- saco/net/netrpc.h | 2 ++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/saco/net/netrpc.cpp b/saco/net/netrpc.cpp index c3b922e..0da5f11 100644 --- a/saco/net/netrpc.cpp +++ b/saco/net/netrpc.cpp @@ -98,7 +98,26 @@ void DestroyWeaponPickup(RPCParameters *rpcParams) pNetGame->GetPickupPool()->sub_10013380(bytePickupIndex); } -void ScmEvent(RPCParameters *rpcParams) {} +void ScmEvent(RPCParameters *rpcParams) +{ + PCHAR Data = reinterpret_cast(rpcParams->input); + int iBitLength = rpcParams->numberOfBitsOfData; + + PLAYERID playerId; + int iEvent; + int iVehicle; + int iArg1; + int iArg2; + + RakNet::BitStream bsData(Data,(iBitLength/8)+1,false); + bsData.Read(playerId); + bsData.Read(iEvent); + bsData.Read(iVehicle); + bsData.Read(iArg1); + bsData.Read(iArg2); + + sub_10001A60(playerId,iEvent,iVehicle,iArg1,iArg2); +} void Weather(RPCParameters *rpcParams) { PCHAR Data = reinterpret_cast(rpcParams->input); diff --git a/saco/net/netrpc.h b/saco/net/netrpc.h index d5e3856..2c9ddd3 100644 --- a/saco/net/netrpc.h +++ b/saco/net/netrpc.h @@ -3,6 +3,8 @@ //---------------------------------------------------- +void sub_10001A60(PLAYERID playerId, int iEvent, int iVehicle, int iArg1, int iArg2); // .text:10001A60 + void RegisterRPCs(RakClientInterface *); void UnRegisterRPCs(RakClientInterface *);