Problem Anti-Spam - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Problem Anti-Spam (
/showthread.php?tid=302737)
Problem Anti-Spam -
diablo16 - 10.12.2011
Hello I need help with anti-spam FS it is made that the player who spams,gives him a message and then kicks him. I'd like to not kick but to send a message to him like in the SS.
>>>>>>>>>>>>>>>>If you can give me FS like that SS.
>>>>>>>>>>>> SS: /imageshack/img713/8329/samp003sj.png
>>>>>>>>>>>>Heare is the pawn code:
pawn Код:
/*
# ========================= #
# SA-MP Simple Anti-Spam #
# ------------------------- #
# @Authour(s): ChristopherM #
# ========================= #
*/
#include <a_samp>
forward ResetCount(playerid);
forward ResetCommandCount(playerid);
#define SpamLimit (3000)
public OnFilterScriptInit()
{
printf("
ChristopherM's Anti-Spam Loaded. Limit: %d", SpamLimit);
return 1;
}
public OnFilterScriptExit()
{
print("
ChristopherM's Anti-Spam Unloaded.");
return 1;
}
public OnPlayerText(playerid, text[])
{
new TCount, KMessage[128];
TCount = GetPVarInt(playerid, "TextSpamCount");
TCount++;
SetPVarInt(playerid, "TextSpamCount", TCount);
if(TCount == 2) {
SendClientMessage(playerid, 0xFFFFFF, "[Anti-Spam]: Warning you are one message away from being kicked!");
}
else if(TCount == 3) {
GetPlayerName(playerid, KMessage, sizeof(KMessage));
format(KMessage, sizeof(KMessage), "[Anti-Spam]: %s has been kicked for chat spamming.", KMessage);
SendClientMessageToAll(0xFFFFFF, KMessage);
print(KMessage);
Kick(playerid);
}
SetTimerEx("ResetCount", SpamLimit, false, "i", playerid);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new TCount, KMessage[128];
TCount = GetPVarInt(playerid, "CommandSpamCount");
TCount++;
SetPVarInt(playerid, "CommandSpamCount", TCount);
if(TCount == 2) {
SendClientMessage(playerid, 0xFFFFFF, "[Anti-Spam]: Warning you are one command away from being kicked!");
}
else if(TCount == 3) {
GetPlayerName(playerid, KMessage, sizeof(KMessage));
format(KMessage, sizeof(KMessage), "[Anti-Spam]: %s has been kicked for command spamming.", KMessage);
SendClientMessageToAll(0xFFFFFF, KMessage);
print(KMessage);
Kick(playerid);
}
SetTimerEx("ResetCommandCount", SpamLimit, false, "i", playerid);
}
public ResetCount(playerid)
{
SetPVarInt(playerid, "TextSpamCount", 0);
}
public ResetCommandCount(playerid)
{
SetPVarInt(playerid, "CommandSpamCount", 0);
}
>>>>>>>>>>>>Please Help<<<<<<<<<<<
Re: Problem Anti-Spam -
BleverCastard - 10.12.2011
Try this:
pawn Код:
/*
# ========================= #
# SA-MP Simple Anti-Spam #
# ------------------------- #
# @Authour(s): ChristopherM #
# ========================= #
*/
#include <a_samp>
forward ResetCount(playerid);
forward ResetCommandCount(playerid);
#define SpamLimit (3000)
public OnFilterScriptInit()
{
printf("
ChristopherM's Anti-Spam Loaded. Limit: %d", SpamLimit);
return 1;
}
public OnFilterScriptExit()
{
print("
ChristopherM's Anti-Spam Unloaded.");
return 1;
}
public OnPlayerText(playerid, text[])
{
new TCount, KMessage[128];
TCount = GetPVarInt(playerid, "TextSpamCount");
TCount++;
SetPVarInt(playerid, "TextSpamCount", TCount);
if(TCount == 2) {
SendClientMessage(playerid, 0xFFFFFF, "[Anti-Spam]: Warning you are one message away from being kicked!");
}
else if(TCount == 3) {
GetPlayerName(playerid, KMessage, sizeof(KMessage));
format(KMessage, sizeof(KMessage), "[Anti-Spam]: %s has been kicked for chat spamming.", KMessage);
SendClientMessageToAll(0xFFFFFF, KMessage);
print(KMessage);
}
SetTimerEx("ResetCount", SpamLimit, false, "i", playerid);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new TCount, KMessage[128];
TCount = GetPVarInt(playerid, "CommandSpamCount");
TCount++;
SetPVarInt(playerid, "CommandSpamCount", TCount);
if(TCount == 2) {
SendClientMessage(playerid, 0xFFFFFF, "[Anti-Spam]:WARNING you are one command away from being kicked!");
}
else if(TCount == 3) {
GetPlayerName(playerid, KMessage, sizeof(KMessage));
format(KMessage, sizeof(KMessage), "[Anti-Spam]: %s has been kicked for command spamming.", KMessage);
SendClientMessageToAll(0xFFFFFF, KMessage);
print(KMessage);
}
SetTimerEx("ResetCommandCount", SpamLimit, false, "i", playerid);
}
public ResetCount(playerid)
{
SetPVarInt(playerid, "TextSpamCount", 0);
}
public ResetCommandCount(playerid)
{
SetPVarInt(playerid, "CommandSpamCount", 0);
}
**UNTESTED**
NOTE: That will stop him from being kicked.
Re: Problem Anti-Spam -
diablo16 - 10.12.2011
Ty for the help [MP]Ditch but I had someting else in mind , let me explain for example I spam with the word hello and instead of hello I want to receive a message [ANTISPAM]:"Nu te repeta !" every time if I continue spaming and for example in 40 sec if I dont spam in chat I can write again.