/setlevel command Problem [HELP] - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: /setlevel command Problem [HELP] (
/showthread.php?tid=441752)
/setlevel command Problem [HELP] -
chubz - 04.06.2013
Hi
Im still learning how to script so im not all good yet but Im having a problem with my /setlevel command,
every time I type /setlevel my id and the level to lets say 4, it sends me a message telling me I have set my own admin level to 0 and I cant figure out what I have done wrong.
heres my script
if(!strcmp(cmdtext, "/setlevel", true, 9))
{
new giveplayerid, level, string[128];
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You are not allowed to use this command.");
if(!cmdtext[9]) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setlevel [playerid] [level]");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_RED, "Player is not connected.");
format(string, sizeof(string), "Admin %s (%d) has set your level to %d.", GetPlayerName(playerid), playerid, level);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
SetPlayerAdminLevel(giveplayerid, level);
return 1;
}
Thanks
Re: /setlevel command Problem [HELP] -
Stefand - 04.06.2013
Where do you define giveplayerid?
Re: /setlevel command Problem [HELP] -
Guest123 - 04.06.2013
use zcmd and ssancf.
Re: /setlevel command Problem [HELP] -
IceBilizard - 04.06.2013
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;
}
Re: /setlevel command Problem [HELP] -
chubz - 04.06.2013
I Havent defined giveplayerid
but ill give your script a try iceblizzard