From 9d5a65219b39093098d971b94f10ebc03d2f7e56 Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Thu, 3 Sep 2026 02:02:06 +0700 Subject: [PATCH] [saco] Implement/match `ScrUnk42`; it is the set-armour RPC and calls `CPlayerPed::SetArmour` --- saco/net/scriptrpc.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/saco/net/scriptrpc.cpp b/saco/net/scriptrpc.cpp index ed3a824..3f6bc1a 100644 --- a/saco/net/scriptrpc.cpp +++ b/saco/net/scriptrpc.cpp @@ -151,7 +151,20 @@ void ScrUnk40(RPCParameters *rpcParams) bsData.Read(playerId); } void ScrUnk41(RPCParameters *rpcParams) {} -void ScrUnk42(RPCParameters *rpcParams) {} +void ScrUnk42(RPCParameters *rpcParams) +{ + PCHAR Data = reinterpret_cast(rpcParams->input); + int iBitLength = rpcParams->numberOfBitsOfData; + PlayerID sender = rpcParams->sender; + + CLocalPlayer *pLocalPlayer = pNetGame->GetPlayerPool()->GetLocalPlayer(); + float fArmour; + + RakNet::BitStream bsData(Data,(iBitLength/8)+1,false); + bsData.Read(fArmour); + + pLocalPlayer->GetPlayerPed()->SetArmour(fArmour); +} void ScrUnk37(RPCParameters *rpcParams) {} void ScrUnk21(RPCParameters *rpcParams) {} void ScrUnk23(RPCParameters *rpcParams) {}