diff -r dae51f7f4147 -r f1539fcb176c core/PlayerManager.cpp --- a/core/PlayerManager.cpp Fri Oct 14 15:21:12 2011 -0400 +++ b/core/PlayerManager.cpp Sat Oct 15 12:07:55 2011 -0400 @@ -412,6 +412,21 @@ int client = IndexOfEdict(pEntity); CPlayer *pPlayer = &m_Players[client]; + pPlayer->Initialize(pszName, pszAddress, pEntity); + + /* Get the client's language */ + if (m_QueryLang) + { + const char *name; + if (!pPlayer->IsFakeClient() && (name=engine->GetClientConVarValue(client, "cl_language"))) + { + unsigned int langid; + pPlayer->m_LangId = (translator->GetLanguageByName(name, &langid)) ? langid : translator->GetServerLanguage(); + } else { + pPlayer->m_LangId = translator->GetServerLanguage(); + } + } + List::iterator iter; IClientListener *pListener = NULL; for (iter=m_hooks.begin(); iter!=m_hooks.end(); iter++) @@ -425,7 +440,6 @@ cell_t res = 1; - pPlayer->Initialize(pszName, pszAddress, pEntity); m_clconnect->PushCell(client); m_clconnect->PushStringEx(reject, maxrejectlen, SM_PARAM_STRING_UTF8 | SM_PARAM_STRING_COPY, SM_PARAM_COPYBACK); m_clconnect->PushCell(maxrejectlen); @@ -547,19 +561,6 @@ pPlayer->m_Info = playerinfo->GetPlayerInfo(pEntity); } - /* Get the client's language */ - if (m_QueryLang) - { - const char *name; - if (!pPlayer->IsFakeClient() && (name=engine->GetClientConVarValue(client, "cl_language"))) - { - unsigned int langid; - pPlayer->m_LangId = (translator->GetLanguageByName(name, &langid)) ? langid : translator->GetServerLanguage(); - } else { - pPlayer->m_LangId = translator->GetServerLanguage(); - } - } - pPlayer->Connect(); m_PlayerCount++;