All pastes #1284424 Raw Edit

Someone

public text v1 · immutable
#1284424 ·published 2008-12-13 20:00 UTC
rendered paste body
dcmd_ban(playerid,params[])
{
  if(PlayerData[playerid][AdminLevel] >= BAN_LEVEL || IsPlayerAdmin(playerid))
  {
 	if(strfind(params,"?",true)==0)
	{
 		SendClientMessage(playerid,COLOR_WHITE," Bans a player from the server.");
   		return 1;
	}
	
	new tmp[128],idx;
		
  	tmp = strtok(params, idx);

  	if(!strlen(tmp))
	{
      	SendClientMessage(playerid,COLOR_GREY,"Usage: /ban [playerid] [reason]");
      	return 1;
  	}
  	
  	if(!IsNumeric(tmp))
	{
 		pid = ReturnPlayerID(tmp);
	}
	else
	{
	    pid = strval(tmp);
	}

   	if(!IsPlayerConnected(pid))
  	{
      	SendClientMessage(playerid,COLOR_GREY,"Invalid playerid.");
      	return 1;
  	}
  	
  	tmp = strrest(params,idx);

  	GetPlayerName(pid, pname, sizeof(pname));
  	GetPlayerName(playerid, pname2, sizeof(pname2));	

  	if(!strlen(tmp))
	{
  		format(string, sizeof(string), "You have been banned by Administrator %s. (REASON: %s)", pname2,DEFAULT_BAN_REASON);
   	}
   	else
   	{
                format(string, sizeof(string), "You have been banned by Administrator %s. (REASON: %s)", pname2, tmp);
   	}
   	
   	SendClientMessage(pid,COLOR_RED, string);

	if(PlayerData[pid][LoggedIn] == true)
	{
	        PlayerData[pid][Bans]++;
	}

  	if(!strlen(tmp))
	{
	    ban(pid,DEFAULT_BAN_REASON); //this is custom ban function
  		format(string, sizeof(string), "NOTICE: %s was banned by Administrator %s. (REASON:%s)", pname, pname2,DEFAULT_BAN_REASON);
  	}
  	else
  	{
  	    ban(pid,tmp);
    	    format(string, sizeof(string), "NOTICE: %s was banned by Administrator %s. (REASON: %s)", pname, pname2, tmp);
  	}
  	
  	SendClientMessageToAll(COLOR_RED, string);
  	return 1;
  	
  }
  else return 0;
}