[saco] Match RequestSpawn; outcome 2 or a pending request re-enters spawn

This commit is contained in:
ricardoofnl
2026-09-03 00:40:03 +07:00
parent 00d883b2d4
commit 3b68777e5a
2 changed files with 20 additions and 2 deletions
+2 -1
View File
@@ -6,7 +6,7 @@
#pragma pack(1)
class CLocalPlayer
{
private:
public:
BYTE field_0[63];
//BYTE field_3C[3];
@@ -109,6 +109,7 @@ public:
void FUNC_10005BF0(WORD a1); // .text:10005BF0
void FUNC_10003570(); // .text:10003570
void sub_10003C20(); // .text:10003C20
DWORD GetField_F0() { return field_F0; };
};
+18 -1
View File
@@ -287,7 +287,24 @@ void ServerQuit(RPCParameters *rpcParams)
void InitGame(RPCParameters *rpcParams) {}
void Chat(RPCParameters *rpcParams) {}
void RequestClass(RPCParameters *rpcParams) {}
void RequestSpawn(RPCParameters *rpcParams) {}
// MATCH
void RequestSpawn(RPCParameters *rpcParams)
{
PCHAR Data = reinterpret_cast<PCHAR>(rpcParams->input);
int iBitLength = rpcParams->numberOfBitsOfData;
BYTE byteRequestOutcome = 0;
RakNet::BitStream bsData(Data,(iBitLength/8)+1,false);
bsData.Read(byteRequestOutcome);
CLocalPlayer *pLocalPlayer = pNetGame->GetPlayerPool()->GetLocalPlayer();
if(byteRequestOutcome == 2 || (byteRequestOutcome && pLocalPlayer->field_302))
pLocalPlayer->sub_10003C20();
else
pLocalPlayer->field_302 = 0;
}
void EditAttachedObject(RPCParameters *rpcParams) {}
void EditObject(RPCParameters *rpcParams) {}
void SelectObject(RPCParameters *rpcParams) {}