Admin rank
#1

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);
Reply
#2

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.
Reply
#3

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'.
Reply
#4

Well, you already made it. You just have to implement it.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)