04.06.2013, 06:39
use sscanf plugin its best for command like mine
pawn Код:
dcmd_setlevel(playerid, params[])
{
new levels,Nam[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],str[500],ID,mode[128];
if(PlayerInfo[playerid][AdminLevel] == 5 || IsPlayerAdmin(playerid))
{
if(sscanf(params,"ui",ID,levels)) return SendClientMessage(playerid,COLOR_GREY, "USAGE: /setlevel [ID] [Level 1-5]");
if(levels > 5) return SendClientMessage(playerid,COLOR_GREY,"LEVELS AVAILABLE 1-5!");
if(!IsPlayerConnected(ID))return SendClientMessage(playerid,red,"That user is not connected.");
if(PlayerInfo[ID][AdminLevel] == levels) return SendClientMessage(playerid,0xFF0000FF, "ERROR: That person is already this admin level!");
GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);
GetPlayerName(ID,pname,MAX_PLAYER_NAME);
if(levels==1)
{mode = "{FFFF00}Server Moderator {FFFFFF}(Level 1)";}
if(levels==2)
{mode = "{0000BB}Global Moderator {FFFFFF}(Level 2)";}
if(levels==3)
{mode = "{ADFF2F}Administrator {FFFFFF}(Level 3)";}
if(levels==4)
{mode = "{ADFF2F}Administrator {FFFFFF}(Level 3+)";}
if(levels==5)
{mode = "{FF0000}Head Administrator {FFFFFF}(Level 4)";}
if(levels < PlayerInfo[ID][AdminLevel])
{
format(str, sizeof(str),"%s has set your Admin level to %s",Nam,mode);
GameTextForPlayer(ID,"~b~Demoted", 2000, 3);
SendClientMessage(ID,COLOR_GREY,str);
format(str, sizeof(str),"You had set %s Admin level to %s!",pname,mode);
SendClientMessage(playerid,COLOR_GREY,str);
PlayerInfo[ID][AdminLevel] = levels;
return 1;
}
format(str, sizeof(str),"%s has set your Admin level to %s.",Nam,mode);
SendClientMessage(ID,COLOR_GREY,str);
GameTextForPlayer(ID,"~b~Promoted", 2000, 3);
format(str, sizeof(str),"You had set %s Admin level to %s!",pname,mode);
SendClientMessage(playerid,COLOR_GREY,str);
PlayerInfo[ID][AdminLevel] = levels;
}else return 0;
return 1;
}