SA-MP Forums Archive
ZCMD 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)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: ZCMD Help (/showthread.php?tid=238006)



ZCMD Help - austin070 - 10.03.2011

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?


Re: ZCMD Help - Hal - 10.03.2011

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


Re: ZCMD Help - dengli - 10.03.2011

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


Re: ZCMD Help - austin070 - 10.03.2011

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

Thanks for the help.