15.03.2014, 03:02
how to make if some one spam 10 messages mute him for 10 seconds? (( i need the time function only ))
if(ServerInfo[AntiSpam] == 1 && (PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)) ) { if(PlayerInfo[playerid][SpamCount] == 0) PlayerInfo[playerid][SpamTime] = TimeStamp(); PlayerInfo[playerid][SpamCount]++; if(TimeStamp() - PlayerInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { PlayerInfo[playerid][SpamCount] = 0; PlayerInfo[playerid][SpamTime] = TimeStamp(); } else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS) { new string[64]; format(string,sizeof(string),"Server has Muted %s (Flood/Spam Protection)", PlayerName2(playerid)); SendClientMessageToAll(red,string); print(string); PlayerInfo[playerid][Muted] = 1; return 0; } }
new AutoUnmute[MAX_PLAYERS];
forward PlayerOneSecondVariables();
public OnGameModeInit()
{
SetTimer("PlayerOneSecondVariables", 1000, true);
return 1;
}
public PlayerOneSecondVariables()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(AutoUnmute[i] > 1)
{
AutoUnmute[i] --;
}
if(AutoUnmute[i] == 1)
{
SendClientMessage(i,-1,"You have been auto unmuted");
PlayerInfo[i][Muted] = 0;
}
}
return 1;
}
if(ServerInfo[AntiSpam] == 1 && (PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)) )
{
if(PlayerInfo[playerid][SpamCount] == 0) PlayerInfo[playerid][SpamTime] = TimeStamp();
PlayerInfo[playerid][SpamCount]++;
if(TimeStamp() - PlayerInfo[playerid][SpamTime] > SPAM_TIMELIMIT) {
PlayerInfo[playerid][SpamCount] = 0;
PlayerInfo[playerid][SpamTime] = TimeStamp();
}
else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
new string[64]; format(string,sizeof(string),"Server has Muted %s (Flood/Spam Protection)", PlayerName2(playerid));
SendClientMessageToAll(red,string); print(string);
PlayerInfo[playerid][Muted] = 1;
AutoUnmute[playerid] = 10;
return 0;
}
}