Anti Command Spam
#6

Ok. When using ZCMD, you can prevent a player from using a command by returning 0 under
pawn Code:
public OnPlayerCommandReceived(playerid, cmdtext[])
You can also detect when a player successfully uses a command with
pawn Code:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
//success is equal to the value returned from the command.
If you want to limit a player to using a command once every three seconds, you'll need to use a variable to store the last time the player typed a command.
e.g.
pawn Code:
new lastcommand[MAX_PLAYERS];

So this system would need to look like this:
pawn Code:
new lastcommand[MAX_PLAYERS];

public OnPlayerCommandReceived(playerid, cmdtext[]){
    if( lastcommand[playerid]!=0 && gettime()-lastcommand[playerid]<3 ){
        //This will make sure last command is not 0 (will be 0 if the player hasn't typed a command yet)
        //And make sure 3 seconds have NOT passed since the player last typed a command using a UNIX timestamp- see below for details
        SendClientMessage(playerid,0xFF0000FF,"You can only type ONE command every THREE seconds!");
        return 0;
    }
    return 1;
}

public OnPlayerCommandPerformed(playerid, cmdtext[], success){
    if(success){
        lastcommand[playerid]=gettime();
        //sets the variable to the current UNIX timestamp- see below for details
    }
}

public OnPlayerDisconnect(playerid,reason){
    lastcommand[playerid]=0;
    //reset the variable so the next player who connects will not experience issues
    return 1;
}
This system uses a UNIX timestamp, which is basically the number of seconds since Janurary 1st 1970.
Reply


Messages In This Thread
Anti Command Spam - by kbalor - 25.06.2012, 16:30
Re: Anti Command Spam - by Hawky133 - 25.06.2012, 16:39
Re: Anti Command Spam - by kbalor - 25.06.2012, 16:43
Re: Anti Command Spam - by leonardo1434 - 25.06.2012, 17:04
Re: Anti Command Spam - by kbalor - 25.06.2012, 17:13
Re: Anti Command Spam - by Hawky133 - 25.06.2012, 17:16
Re: Anti Command Spam - by kbalor - 25.06.2012, 17:24
Re: Anti Command Spam - by Hawky133 - 25.06.2012, 17:27
Re: Anti Command Spam - by kbalor - 25.06.2012, 17:33
Re: Anti Command Spam - by Hawky133 - 25.06.2012, 19:40

Forum Jump:


Users browsing this thread: 2 Guest(s)