mute for time
#1

how to make if some one spam 10 messages mute him for 10 seconds? (( i need the time function only ))
Reply
#2

Use Variables and use the callback named OnPlayerText
atleast try to make it first and then ask for help cause i doubt anyone will script it for you
Reply
#3

I made it already
Код:
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;
		}
	}
but it mute the member permanently not for 10 seconds.
Reply
#4

You need to use a timer which will unmute the player you never unmuted him in the first place
but if you are just gonna copy paste it wait a minute and try to learn from what i just posted so it will be easier in future issues so you will kinda understand it


here is a quick exsample
pawn Код:
new AutoUnmute[MAX_PLAYERS];
pawn Код:
forward PlayerOneSecondVariables();
pawn Код:
public OnGameModeInit()
{
     SetTimer("PlayerOneSecondVariables", 1000, true);
     return 1;
}
pawn Код:
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;
}

pawn Код:
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;
        }
    }
Reply
#5

thanks alot Rep+
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)