ZCMD Help
#1

Hey guys. I made an adminlevel command and it doesn't seem to work. I get no errors or anything.

pawn Код:
CMD:adminlevel(playerid, params[])
{
    if(sscanf(params, "ui", str)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adminlevel [playerid] [level 1-5]");
    if(GetAdminLevel(playerid)>=5) {
        new giveplayerid;
        giveplayerid = ReturnUser(params[1]);
        new givename[24];
        GetPlayerName(giveplayerid, givename, sizeof(givename));
        new sendername[24];
        GetPlayerName(playerid, sendername, sizeof(sendername));
        if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_YELLOW, "This player is not online!");
        format(str, sizeof(str), "%s has set your admin level to %i!", sendername, params[2]);
        format(str, sizeof(str), "You have set the admin level of %s to %i!", givename, strval(params[2]));
        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, str);
        SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
        format(str, sizeof(str), USER_FILE, givename);
        dini_IntSet(str, "AdminLevel", strval(params[2]));
    }
    return 1;
}
It just does this
pawn Код:
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_YELLOW, "This player is not online!");
Anyone see a problem?
Reply
#2

pawn Код:
CMD:adminlevel(playerid, params[])
{
    new level, giveplayerid;
    if(sscanf(params, "ii", giveplayerid, level)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adminlevel [playerid] [level 1-5]");
    if(GetAdminLevel(playerid)>=5) {
        new givename[24];
        GetPlayerName(giveplayerid, givename, sizeof(givename));
        new sendername[24];
        GetPlayerName(playerid, sendername, sizeof(sendername));
        if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_YELLOW, "This player is not online!");

        format(str, sizeof(str), "%s has set your admin level to %i!", sendername, level);
        format(str, sizeof(str), "You have set the admin level of %s to %i!", givename, level);
        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, str);
        SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
        format(str, sizeof(str), USER_FILE, givename);
        dini_IntSet(str, "AdminLevel", level));
    }
    return 1;
}
i'm not sure if this fixed your problem, but now its using sscanf the way its meant to be used. It should fix it because now the parameters are defined and you do not have to pull the info outta them
Reply
#3

if(sscanf(params, "ui", str))
you should change it to
if(sscanf(params, "ui", giveplayerid,adminlevel))
Reply
#4

OMG I didn't even notice that I was defining ui as str. lol. Stupid mistakes.

Thanks for the help.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)