mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-20 09:34:19 +00:00
moved spam protection and re-added it for /rank and /me; some smaller fixes
This commit is contained in:
parent
17cb8a6ffb
commit
e078d537c2
|
@ -268,8 +268,15 @@ void CGameContext::SendChatResponse(const char *pLine, void *pUser)
|
||||||
ReentryGuard--;
|
ReentryGuard--;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGameContext::SendChat(int ChatterClientId, int Team, const char *pText)
|
void CGameContext::SendChat(int ChatterClientId, int Team, const char *pText, int SpamProtectionClientId)
|
||||||
{
|
{
|
||||||
|
if(SpamProtectionClientId >= 0 && SpamProtectionClientId < MAX_CLIENTS)
|
||||||
|
if(/*g_Config.m_SvSpamprotection && */m_apPlayers[SpamProtectionClientId]->m_Last_Chat
|
||||||
|
&& m_apPlayers[SpamProtectionClientId]->m_Last_Chat + Server()->TickSpeed() + g_Config.m_SvChatDelay > Server()->Tick())
|
||||||
|
return;
|
||||||
|
else
|
||||||
|
m_apPlayers[SpamProtectionClientId]->m_Last_Chat = Server()->Tick();
|
||||||
|
|
||||||
char aBuf[256];
|
char aBuf[256];
|
||||||
if(ChatterClientId >= 0 && ChatterClientId < MAX_CLIENTS)
|
if(ChatterClientId >= 0 && ChatterClientId < MAX_CLIENTS)
|
||||||
str_format(aBuf, sizeof(aBuf), "%d:%d:%s: %s", ChatterClientId, Team, Server()->ClientName(ChatterClientId), pText);
|
str_format(aBuf, sizeof(aBuf), "%d:%d:%s: %s", ChatterClientId, Team, Server()->ClientName(ChatterClientId), pText);
|
||||||
|
@ -734,12 +741,7 @@ void CGameContext::OnMessage(int MsgId, CUnpacker *pUnpacker, int ClientId)
|
||||||
{
|
{
|
||||||
if(m_apPlayers[ClientId]->m_Muted == 0)
|
if(m_apPlayers[ClientId]->m_Muted == 0)
|
||||||
{
|
{
|
||||||
if(/*g_Config.m_SvSpamprotection && */pPlayer->m_Last_Chat && pPlayer->m_Last_Chat + Server()->TickSpeed() + g_Config.m_SvChatDelay > Server()->Tick())
|
SendChat(ClientId, Team, pMsg->m_pMessage, ClientId);
|
||||||
return;
|
|
||||||
|
|
||||||
SendChat(ClientId, Team, pMsg->m_pMessage);
|
|
||||||
|
|
||||||
pPlayer->m_Last_Chat = Server()->Tick();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1251,8 +1253,9 @@ void CGameContext::ConVote(IConsole::IResult *pResult, void *pUserData, int Clie
|
||||||
pSelf->m_VoteEnforce = CGameContext::VOTE_ENFORCE_YES_ADMIN;
|
pSelf->m_VoteEnforce = CGameContext::VOTE_ENFORCE_YES_ADMIN;
|
||||||
else if(str_comp_nocase(pResult->GetString(0), "no") == 0)
|
else if(str_comp_nocase(pResult->GetString(0), "no") == 0)
|
||||||
pSelf->m_VoteEnforce = CGameContext::VOTE_ENFORCE_NO_ADMIN;
|
pSelf->m_VoteEnforce = CGameContext::VOTE_ENFORCE_NO_ADMIN;
|
||||||
str_format(aBuf, sizeof(aBuf), "vote forced to %s by %s", pResult->GetString(0),pSelf->Server()->ClientName(ClientID));
|
else
|
||||||
pSelf->SendChat(-1, CGameContext::CHAT_ALL, aBuf);
|
return;
|
||||||
|
|
||||||
str_format(aBuf, sizeof(aBuf), "forcing vote %s", pResult->GetString(0));
|
str_format(aBuf, sizeof(aBuf), "forcing vote %s", pResult->GetString(0));
|
||||||
pSelf->Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "server", aBuf);
|
pSelf->Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "server", aBuf);
|
||||||
pSelf->m_VoteEnforcer = ClientID;
|
pSelf->m_VoteEnforcer = ClientID;
|
||||||
|
@ -1972,11 +1975,16 @@ void CGameContext::ConRank(IConsole::IResult *pResult, void *pUserData, int Clie
|
||||||
|
|
||||||
CPlayer *pPlayer = pSelf->m_apPlayers[ClientId];
|
CPlayer *pPlayer = pSelf->m_apPlayers[ClientId];
|
||||||
|
|
||||||
|
if(/*g_Config.m_SvSpamprotection && */pPlayer->m_Last_Chat && pPlayer->m_Last_Chat + pSelf->Server()->TickSpeed() + g_Config.m_SvChatDelay > pSelf->Server()->Tick())
|
||||||
|
return;
|
||||||
|
|
||||||
|
pPlayer->m_Last_Chat = pSelf->Server()->Tick();
|
||||||
|
|
||||||
if(pResult->NumArguments() > 0)
|
if(pResult->NumArguments() > 0)
|
||||||
if(!g_Config.m_SvHideScore)
|
if(!g_Config.m_SvHideScore)
|
||||||
pSelf->Score()->ShowRank(pPlayer->GetCID(), pResult->GetString(0), true);
|
pSelf->Score()->ShowRank(pPlayer->GetCID(), pResult->GetString(0), true);
|
||||||
else
|
else
|
||||||
pSelf->Console()->PrintResponse(IConsole::OUTPUT_LEVEL_STANDARD, "info", "Showing the rank of other players is not allowed on this server.");
|
pSelf->Console()->PrintResponse(IConsole::OUTPUT_LEVEL_STANDARD, "info", "Showing the rank of other players is not allowed on this server.");
|
||||||
else
|
else
|
||||||
pSelf->Score()->ShowRank(pPlayer->GetCID(), pSelf->Server()->ClientName(ClientId));
|
pSelf->Score()->ShowRank(pPlayer->GetCID(), pSelf->Server()->ClientName(ClientId));
|
||||||
}
|
}
|
||||||
|
@ -2056,7 +2064,7 @@ void CGameContext::ConMe(IConsole::IResult *pResult, void *pUserData, int Client
|
||||||
char aBuf[256 + 24];
|
char aBuf[256 + 24];
|
||||||
|
|
||||||
str_format(aBuf, 256 + 24, "%s %s", pSelf->Server()->ClientName(ClientId), pResult->GetString(0));
|
str_format(aBuf, 256 + 24, "%s %s", pSelf->Server()->ClientName(ClientId), pResult->GetString(0));
|
||||||
pSelf->SendChat(-1, CGameContext::CHAT_ALL, aBuf);
|
pSelf->SendChat(-1, CGameContext::CHAT_ALL, aBuf, ClientId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGameContext::ConToggleEyeEmote(IConsole::IResult *pResult, void *pUserData, int ClientId)
|
void CGameContext::ConToggleEyeEmote(IConsole::IResult *pResult, void *pUserData, int ClientId)
|
||||||
|
|
|
@ -261,7 +261,7 @@ public:
|
||||||
|
|
||||||
// network
|
// network
|
||||||
void SendChatTarget(int To, const char *pText);
|
void SendChatTarget(int To, const char *pText);
|
||||||
void SendChat(int ClientId, int Team, const char *pText);
|
void SendChat(int ClientId, int Team, const char *pText, int SpamProtectionClientId = -1);
|
||||||
void SendEmoticon(int ClientId, int Emoticon);
|
void SendEmoticon(int ClientId, int Emoticon);
|
||||||
void SendWeaponPickup(int ClientId, int Weapon);
|
void SendWeaponPickup(int ClientId, int Weapon);
|
||||||
void SendBroadcast(const char *pText, int ClientId);
|
void SendBroadcast(const char *pText, int ClientId);
|
||||||
|
|
Loading…
Reference in a new issue