Add OnClientLanguageChanged() forward (#1597)
This commit is contained in:
parent
a343410793
commit
79d594aca3
@ -196,6 +196,7 @@ void PlayerManager::OnSourceModAllInitialized()
|
|||||||
m_clcommandkv_post = forwardsys->CreateForward("OnClientCommandKeyValues_Post", ET_Ignore, 2, NULL, Param_Cell, Param_Cell);
|
m_clcommandkv_post = forwardsys->CreateForward("OnClientCommandKeyValues_Post", ET_Ignore, 2, NULL, Param_Cell, Param_Cell);
|
||||||
m_clinfochanged = forwardsys->CreateForward("OnClientSettingsChanged", ET_Ignore, 1, p2);
|
m_clinfochanged = forwardsys->CreateForward("OnClientSettingsChanged", ET_Ignore, 1, p2);
|
||||||
m_clauth = forwardsys->CreateForward("OnClientAuthorized", ET_Ignore, 2, NULL, Param_Cell, Param_String);
|
m_clauth = forwardsys->CreateForward("OnClientAuthorized", ET_Ignore, 2, NULL, Param_Cell, Param_String);
|
||||||
|
m_cllang = forwardsys->CreateForward("OnClientLanguageChanged", ET_Ignore, 2, NULL, Param_Cell, Param_Cell);
|
||||||
m_onActivate = forwardsys->CreateForward("OnServerLoad", ET_Ignore, 0, NULL);
|
m_onActivate = forwardsys->CreateForward("OnServerLoad", ET_Ignore, 0, NULL);
|
||||||
m_onActivate2 = forwardsys->CreateForward("OnMapStart", ET_Ignore, 0, NULL);
|
m_onActivate2 = forwardsys->CreateForward("OnMapStart", ET_Ignore, 0, NULL);
|
||||||
|
|
||||||
@ -246,6 +247,7 @@ void PlayerManager::OnSourceModShutdown()
|
|||||||
forwardsys->ReleaseForward(m_clcommandkv_post);
|
forwardsys->ReleaseForward(m_clcommandkv_post);
|
||||||
forwardsys->ReleaseForward(m_clinfochanged);
|
forwardsys->ReleaseForward(m_clinfochanged);
|
||||||
forwardsys->ReleaseForward(m_clauth);
|
forwardsys->ReleaseForward(m_clauth);
|
||||||
|
forwardsys->ReleaseForward(m_cllang);
|
||||||
forwardsys->ReleaseForward(m_onActivate);
|
forwardsys->ReleaseForward(m_onActivate);
|
||||||
forwardsys->ReleaseForward(m_onActivate2);
|
forwardsys->ReleaseForward(m_onActivate2);
|
||||||
|
|
||||||
@ -520,6 +522,8 @@ bool PlayerManager::OnClientConnect(edict_t *pEntity, const char *pszName, const
|
|||||||
{
|
{
|
||||||
unsigned int langid;
|
unsigned int langid;
|
||||||
pPlayer->m_LangId = (translator->GetLanguageByName(name, &langid)) ? langid : translator->GetServerLanguage();
|
pPlayer->m_LangId = (translator->GetLanguageByName(name, &langid)) ? langid : translator->GetServerLanguage();
|
||||||
|
|
||||||
|
OnClientLanguageChanged(client, pPlayer->m_LangId);
|
||||||
} else {
|
} else {
|
||||||
pPlayer->m_LangId = translator->GetServerLanguage();
|
pPlayer->m_LangId = translator->GetServerLanguage();
|
||||||
}
|
}
|
||||||
@ -1415,6 +1419,13 @@ void PlayerManager::OnClientSettingsChanged(edict_t *pEntity)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PlayerManager::OnClientLanguageChanged(int client, unsigned int language)
|
||||||
|
{
|
||||||
|
m_cllang->PushCell(client);
|
||||||
|
m_cllang->PushCell(language);
|
||||||
|
m_cllang->Execute(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
int PlayerManager::GetMaxClients()
|
int PlayerManager::GetMaxClients()
|
||||||
{
|
{
|
||||||
return m_maxClients;
|
return m_maxClients;
|
||||||
@ -2022,7 +2033,9 @@ bool PlayerManager::HandleConVarQuery(QueryCvarCookie_t cookie, int client, EQue
|
|||||||
if (m_Players[i].m_LanguageCookie == cookie)
|
if (m_Players[i].m_LanguageCookie == cookie)
|
||||||
{
|
{
|
||||||
unsigned int langid;
|
unsigned int langid;
|
||||||
m_Players[i].m_LangId = (translator->GetLanguageByName(cvarValue, &langid)) ? langid : translator->GetServerLanguage();
|
unsigned int new_langid = (translator->GetLanguageByName(cvarValue, &langid)) ? langid : translator->GetServerLanguage();
|
||||||
|
m_Players[i].m_LangId = new_langid;
|
||||||
|
OnClientLanguageChanged(i, new_langid);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -2618,7 +2631,11 @@ unsigned int CPlayer::GetLanguageId()
|
|||||||
|
|
||||||
void CPlayer::SetLanguageId(unsigned int id)
|
void CPlayer::SetLanguageId(unsigned int id)
|
||||||
{
|
{
|
||||||
|
if(m_LangId != id)
|
||||||
|
{
|
||||||
m_LangId = id;
|
m_LangId = id;
|
||||||
|
g_Players.OnClientLanguageChanged(m_iIndex, id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int CPlayer::GetUserId()
|
int CPlayer::GetUserId()
|
||||||
|
@ -192,6 +192,7 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
void OnClientSettingsChanged(edict_t *pEntity);
|
void OnClientSettingsChanged(edict_t *pEntity);
|
||||||
//void OnClientSettingsChanged_Pre(edict_t *pEntity);
|
//void OnClientSettingsChanged_Pre(edict_t *pEntity);
|
||||||
|
void OnClientLanguageChanged(int client, unsigned int language);
|
||||||
void OnServerHibernationUpdate(bool bHibernating);
|
void OnServerHibernationUpdate(bool bHibernating);
|
||||||
void OnClientPrintf(edict_t *pEdict, const char *szMsg);
|
void OnClientPrintf(edict_t *pEdict, const char *szMsg);
|
||||||
void OnPrintfFrameAction(unsigned int serial);
|
void OnPrintfFrameAction(unsigned int serial);
|
||||||
@ -253,6 +254,7 @@ private:
|
|||||||
IForward *m_clcommandkv_post;
|
IForward *m_clcommandkv_post;
|
||||||
IForward *m_clinfochanged;
|
IForward *m_clinfochanged;
|
||||||
IForward *m_clauth;
|
IForward *m_clauth;
|
||||||
|
IForward *m_cllang;
|
||||||
IForward *m_onActivate;
|
IForward *m_onActivate;
|
||||||
IForward *m_onActivate2;
|
IForward *m_onActivate2;
|
||||||
CPlayer *m_Players;
|
CPlayer *m_Players;
|
||||||
|
@ -225,6 +225,14 @@ forward void OnClientPostAdminFilter(int client);
|
|||||||
*/
|
*/
|
||||||
forward void OnClientPostAdminCheck(int client);
|
forward void OnClientPostAdminCheck(int client);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the language was received from the player.
|
||||||
|
*
|
||||||
|
* @param client Client index.
|
||||||
|
* @param language Language number.
|
||||||
|
*/
|
||||||
|
forward void OnClientLanguageChanged(int client, int language);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function is deprecated. Use the MaxClients variable instead.
|
* This function is deprecated. Use the MaxClients variable instead.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user