12
12
SH_DECL_EXTERN3_void (IServerGameDLL, GameFrame, SH_NOATTRIB, 0 , bool , bool , bool );
13
13
SH_DECL_EXTERN6 (IServerGameClients, ClientConnect, SH_NOATTRIB, 0 , bool , CPlayerSlot, const char *, uint64, const char *, bool , CBufferString*);
14
14
SH_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);
15
16
SH_DECL_EXTERN5_void (IServerGameClients, ClientDisconnect, SH_NOATTRIB, 0 , CPlayerSlot, ENetworkDisconnectionReason, const char *, uint64, const char *);
16
17
17
18
uint64_t playerMask = 0 ;
@@ -93,6 +94,7 @@ void PlayerManager::Initialize()
93
94
SH_ADD_HOOK_MEMFUNC (IServerGameClients, ClientConnect, gameclients, this , &PlayerManager::ClientConnect, false );
94
95
SH_ADD_HOOK_MEMFUNC (IServerGameClients, OnClientConnected, gameclients, this , &PlayerManager::OnClientConnected, false );
95
96
SH_ADD_HOOK_MEMFUNC (IServerGameClients, ClientDisconnect, gameclients, this , &PlayerManager::ClientDisconnect, true );
97
+ SH_ADD_HOOK_MEMFUNC (IServerGameClients, ClientPutInServer, gameclients, this , &PlayerManager::OnClientPutInServer, true );
96
98
}
97
99
98
100
void PlayerManager::Shutdown ()
@@ -101,6 +103,7 @@ void PlayerManager::Shutdown()
101
103
SH_REMOVE_HOOK_MEMFUNC (IServerGameClients, ClientConnect, gameclients, this , &PlayerManager::ClientConnect, false );
102
104
SH_REMOVE_HOOK_MEMFUNC (IServerGameClients, OnClientConnected, gameclients, this , &PlayerManager::OnClientConnected, false );
103
105
SH_REMOVE_HOOK_MEMFUNC (IServerGameClients, ClientDisconnect, gameclients, this , &PlayerManager::ClientDisconnect, true );
106
+ SH_REMOVE_HOOK_MEMFUNC (IServerGameClients, ClientPutInServer, gameclients, this , &PlayerManager::OnClientPutInServer, true );
104
107
}
105
108
106
109
void PlayerManager::GameFrame (bool a, bool b, bool c)
@@ -175,4 +178,9 @@ void PlayerManager::OnValidateAuthTicket(ValidateAuthTicketResponse_t* response)
175
178
player->SetAuthorized (response->m_eAuthSessionResponse == k_EAuthSessionResponseOK);
176
179
break ;
177
180
}
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 );
178
186
}
0 commit comments