LCKB
Chat Spam Prevention - Printable Version

+- LCKB (https://lckb.dev/forum)
+-- Forum: ** OLD LCKB DATABASE ** (https://lckb.dev/forum/forumdisplay.php?fid=109)
+--- Forum: Guides & Help Section (https://lckb.dev/forum/forumdisplay.php?fid=193)
+---- Forum: Tutorials & Guides (https://lckb.dev/forum/forumdisplay.php?fid=124)
+----- Forum: Ep4 Guides (https://lckb.dev/forum/forumdisplay.php?fid=125)
+----- Thread: Chat Spam Prevention (/showthread.php?tid=4843)



- dethunter12 - 11-20-2021


This  code is to prevent the user from spamming the chat every x seconds flooding the chat window.



Each chat has a different interval:

You'll need to edit the following files:

Character.h

DoFuncChat.cpp

PC.cpp


1. Character.h

Add these varaibles after 

m_shoutPulse;

add this:

 

int m_sayPulse;
int m_guildPulse;
int m_partyPulse;
int m_lordPulse;
int m_expiditionPulse;

 2.DoFuncChat.cpp



after this:

CDratanCastle * pCastle = CDratanCastle::CreateInstance();

switch (chatType)
{
case MSG_CHAT_SAY: // �Ϲ�

write this:

 

//user can only chat every 2 seconds in this window
if (gserver->m_pulse - ch->m_sayPulse <= 0)
return;

ch->m_sayPulse = gserver->m_pulse + (2 * PULSE_REAL_SEC);

Next  case 

MSG_CHAT_PARTY

//after this
{
if (ch->IsParty())
{
//Add this
if (gserver->m_pulse - ch->m_partyPulse <= 0)
return;

ch->m_partyPulse = gserver->m_pulse + (3 * PULSE_REAL_SEC);

Next case 

 

MSG_CHAT_EXPEDITION

//after this
if (ch->IsExped())
{
//Add this
if (gserver->m_pulse - ch->m_expiditionPulse <= 0)
return;

ch->m_expiditionPulse = gserver->m_pulse + (3 * PULSE_REAL_SEC);

Next case

 

case MSG_CHAT_GUILD: // ���
//After this
{
if (ch->m_guildInfo)
{
//Add this
if (gserver->m_pulse - ch->m_guildPulse <= 0)
return;

ch->m_guildPulse = gserver->m_pulse + (3 * PULSE_REAL_SEC);

Next case

 

case MSG_CHAT_LORD: // ���� ����
//After this
if ( !IS_PC(ch) ) return; //dethunter12
if (CWarCastle::CanLordChat(ch))
{
//Add this
if (gserver->m_pulse - ch->m_lordPulse <= 0)
return;

ch->m_lordPulse = gserver->m_pulse + (2 * PULSE_REAL_SEC);

3.PC.cpp

 

//After this
m_shoutPulse = gserver->m_pulse;
//Add this
m_sayPulse = gserver->m_pulse;
m_guildPulse = gserver->m_pulse;
m_partyPulse = gserver->m_pulse;
m_lordPulse = gserver->m_pulse;
m_expiditionPulse = gserver->m_pulse;

Again this code is only intended to prevent the user from sending to many messages in 1 chat window per second . If you think this code is useful give it a like.