Admin rank - 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: Admin rank (
/showthread.php?tid=413054)
Admin rank -
Noles2197 - 03.02.2013
I want to make it to where if an admin kicks someone, it will say whatever rank they are next to it.
I've made the cases, but I don't know how to implement it into the admin command.
Help?
pawn Код:
new admin[30];
switch(pInfo[playerid][Admin])
{
case 1: format(admin,sizeof(admin),"Moderator");
case 2: format(admin,sizeof(admin),"Administrator");
case 3: format(admin,sizeof(admin),"Head administrator");
}
pawn Код:
CMD:kick(playerid, params[])
{
if(pInfo[playerid][Admin]>0)
{
new str[128],reason[64],id;
if(sscanf(params,"ds[64]",id,reason)) return SendClientMessage(playerid,COLOR_GRAY,"USAGE: /kick [playerid] [reason]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_RED,"Invalid playerid!");
format(str,sizeof(str),"%s kicked %s for %s.",GetName(playerid),GetName2(id),reason);
SendClientMessageToAll(COLOR_RED,str);
printf("%s",str);
Kick(id);
}
return 1;
}
pawn Код:
format(str,sizeof(str),"%s %s kicked %s for %s.",admin,GetName(playerid),GetName2(id),reason);
Re: Admin rank -
zDevon - 04.02.2013
I don't see why it wouldn't work if you put that switch statement inside the command and used the second format line you posted. Or you could even just make a separate stock called GetPlayerAdminName or something and format each level there, then call it from your format lines.
Re: Admin rank - T0pAz - 04.02.2013
Try this.
pawn Код:
stock AdminRank(playerid)
{
new admin[30];
switch(pInfo[playerid][Admin])
{
case 1: format(admin,sizeof(admin),"Moderator");
case 2: format(admin,sizeof(admin),"Administrator");
case 3: format(admin,sizeof(admin),"Head administrator");
}
return admin;
}
CMD:kick(playerid, params[])
{
if(pInfo[playerid][Admin]>0)
{
new str[128],reason[64],id;
if(sscanf(params,"ds[64]",id,reason)) return SendClientMessage(playerid,COLOR_GRAY,"USAGE: /kick [playerid] [reason]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_RED,"Invalid playerid!");
format(str,sizeof(str),"%s[%s] kicked %s for %s.",GetName(playerid), AdminRank(playerid), GetName2(id), reason);
SendClientMessageToAll(COLOR_RED,str);
printf("%s",str);
Kick(id);
}
return 1;
}
Edit: Fixed 'playerid'.
Re: Admin rank -
Cameryn - 04.02.2013
Well, you already made it. You just have to implement it.