Ban

From SA-MP Wiki

Jump to: navigation, search


Description:

Ban a player who is currently in the server. They will be unable to join the server ever again. The ban will be IP-based, and be saved in the samp.ban file in the server's root directory. BanEx can be used to give a reason for the ban. IP bans can be added/removed using the RCON banip and unbanip commands (SendRconCommand).


Parameters:
(playerid)
playeridThe ID of the player to ban.


Return Values:

  • 1: The function executed successfully.
  • 0: The function failed to execute. This means the player specified does not exist.


Example Usage:

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/banme", true) == 0)
    {
        // Ban the player that types this command.
        Ban(playerid);
        return 1;
    }
}
Image:32px-Circle-style-warning.png

Important
Note

As of SA-MP 0.3x, any action taken directly before Ban() (such as sending a message with SendClientMessage) will not reach the player. A timer must be used to delay the ban.

The following code snippet shows a way of displaying a message for the player before they are banned:

// In order to display a message (eg. reason) for the player before the connection is closed
// you have to use a timer to create a delay. This delay needs only to be a few milliseconds long,
// but this example uses a full second just to be on the safe side.
 
forward DelayedBan(playerid);
public DelayedBan(playerid)
{
    Ban(playerid);
}
 
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/banme", true) == 0)
    {
        // Bans the player who executed this command.
 
        // First, send them a message.
        SendClientMessage(playerid, 0xFF0000FF, "You have been banned!");
 
        // Actually ban them a second later on a timer.
        SetTimerEx("DelayedBan", 1000, false, "d", playerid);
        return 1;
    }
    return 0;
}

Related Functions

The following functions may be useful, as they are related to this function in one way or another.

  • BanEx: Ban a player with a custom reason.
  • Kick: Kick a player from the server.