1212SH_DECL_EXTERN3_void (IServerGameDLL, GameFrame, SH_NOATTRIB, 0 , bool , bool , bool );
1313SH_DECL_EXTERN6 (IServerGameClients, ClientConnect, SH_NOATTRIB, 0 , bool , CPlayerSlot, const char *, uint64, const char *, bool , CBufferString*);
1414SH_DECL_EXTERN6_void (IServerGameClients, OnClientConnected, SH_NOATTRIB, 0 , CPlayerSlot, const char *, uint64, const char *, const char *, bool );
15+ SH_DECL_EXTERN4_void (IServerGameClients, ClientPutInServer, SH_NOATTRIB, 0 , CPlayerSlot, char const *, int , uint64);
1516SH_DECL_EXTERN5_void (IServerGameClients, ClientDisconnect, SH_NOATTRIB, 0 , CPlayerSlot, ENetworkDisconnectionReason, const char *, uint64, const char *);
1617
1718uint64_t playerMask = 0 ;
@@ -93,6 +94,7 @@ void PlayerManager::Initialize()
9394 SH_ADD_HOOK_MEMFUNC (IServerGameClients, ClientConnect, gameclients, this , &PlayerManager::ClientConnect, false );
9495 SH_ADD_HOOK_MEMFUNC (IServerGameClients, OnClientConnected, gameclients, this , &PlayerManager::OnClientConnected, false );
9596 SH_ADD_HOOK_MEMFUNC (IServerGameClients, ClientDisconnect, gameclients, this , &PlayerManager::ClientDisconnect, true );
97+ SH_ADD_HOOK_MEMFUNC (IServerGameClients, ClientPutInServer, gameclients, this , &PlayerManager::OnClientPutInServer, true );
9698}
9799
98100void PlayerManager::Shutdown ()
@@ -101,6 +103,7 @@ void PlayerManager::Shutdown()
101103 SH_REMOVE_HOOK_MEMFUNC (IServerGameClients, ClientConnect, gameclients, this , &PlayerManager::ClientConnect, false );
102104 SH_REMOVE_HOOK_MEMFUNC (IServerGameClients, OnClientConnected, gameclients, this , &PlayerManager::OnClientConnected, false );
103105 SH_REMOVE_HOOK_MEMFUNC (IServerGameClients, ClientDisconnect, gameclients, this , &PlayerManager::ClientDisconnect, true );
106+ SH_REMOVE_HOOK_MEMFUNC (IServerGameClients, ClientPutInServer, gameclients, this , &PlayerManager::OnClientPutInServer, true );
104107}
105108
106109void PlayerManager::GameFrame (bool a, bool b, bool c)
@@ -175,4 +178,9 @@ void PlayerManager::OnValidateAuthTicket(ValidateAuthTicketResponse_t* response)
175178 player->SetAuthorized (response->m_eAuthSessionResponse == k_EAuthSessionResponseOK);
176179 break ;
177180 }
181+ }
182+
183+ void PlayerManager::OnClientPutInServer (CPlayerSlot slot, char const * pszName, int type, uint64 xuid)
184+ {
185+ g_pluginManager.ExecuteEvent (" core" , " OnClientPutInServer" , { slot.Get (), type }, nullptr );
178186}
0 commit comments