From 8a582bc5e0ece3f7b80939c48c76ebc9376b33b2 Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Thu, 3 Sep 2026 00:25:54 +0700 Subject: [PATCH] [saco] Match `WorldPlayerDeath`; `CPlayerPool::GetAt` inlines into the handler --- saco/net/netrpc.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/saco/net/netrpc.cpp b/saco/net/netrpc.cpp index 05b81f9..d2309ec 100644 --- a/saco/net/netrpc.cpp +++ b/saco/net/netrpc.cpp @@ -142,7 +142,26 @@ void Unk3C(RPCParameters *rpcParams) pGame->SetTimeInMilliseconds(dwTime); } void WorldPlayerAdd(RPCParameters *rpcParams) {} -void WorldPlayerDeath(RPCParameters *rpcParams) {} +void WorldPlayerDeath(RPCParameters *rpcParams) +{ + PCHAR Data = reinterpret_cast(rpcParams->input); + int iBitLength = rpcParams->numberOfBitsOfData; + + PLAYERID playerId; + + RakNet::BitStream bsData(Data,(iBitLength/8)+1,false); + + CPlayerPool *pPlayerPool = pNetGame->GetPlayerPool(); + + bsData.Read(playerId); + + if(pPlayerPool) + { + CRemotePlayer *pRemotePlayer = pPlayerPool->GetAt(playerId); + if(pRemotePlayer) + pRemotePlayer->FUNC_10017570(); + } +} void WorldPlayerRemove(RPCParameters *rpcParams) {} void WorldVehicleAdd(RPCParameters *rpcParams) {} void WorldVehicleRemove(RPCParameters *rpcParams) {}