MCPcopy Create free account
hub / github.com/alliedmodders/sourcemod / OnClientConnect_Post

Method OnClientConnect_Post

core/PlayerManager.cpp:578–615  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

576}
577
578bool PlayerManager::OnClientConnect_Post(edict_t *pEntity, const char *pszName, const char *pszAddress, char *reject, int maxrejectlen)
579{
580 int client = IndexOfEdict(pEntity);
581 bool orig_value = META_RESULT_ORIG_RET(bool);
582 CPlayer *pPlayer = &m_Players[client];
583
584 if (orig_value)
585 {
586 List<IClientListener *>::iterator iter;
587 IClientListener *pListener = NULL;
588 for (iter=m_hooks.begin(); iter!=m_hooks.end(); iter++)
589 {
590 pListener = (*iter);
591 pListener->OnClientConnected(client);
592 if (!pPlayer->IsConnected())
593 {
594 return true;
595 }
596 }
597
598 if (!pPlayer->IsFakeClient()
599 && m_bIsListenServer
600 && strncmp(pszAddress, "127.0.0.1", 9) == 0)
601 {
602 m_ListenClient = client;
603 }
604
605 cell_t res;
606 m_clconnect_post->PushCell(client);
607 m_clconnect_post->Execute(&res, NULL);
608 }
609 else
610 {
611 InvalidatePlayer(pPlayer);
612 }
613
614 return true;
615}
616
617void PlayerManager::OnClientPutInServer(edict_t *pEntity, const char *playername)
618{

Callers

nothing calls this directly

Calls 8

IndexOfEdictFunction · 0.85
IsConnectedMethod · 0.80
IsFakeClientMethod · 0.80
PushCellMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
OnClientConnectedMethod · 0.45
ExecuteMethod · 0.45

Tested by

no test coverage detected