Sscanf Problem
#5

Hmmm some CMDS work but i got 2 cmds that won't work that is

makeleader and makeadmin check this out

pawn Код:
CMD:makeadmin(playerid, params[])
{
    if(gPlayerLogged{playerid} == 0)
    {
        SendClientMessageEx(playerid, COLOR_GREY, "You're not logged in.");
        return 1;
    }
    new pID, level,str[128];
    if(PlayerInfo[playerid][pAdmin] <= 999998 && PlayerInfo[playerid][pAdminPer] != 1) return SendClientMessage(playerid, COLOR_GRAD2, NOTADMIN);
    if(PlayerInfo[playerid][pAdmin] >= 999999 || PlayerInfo[playerid][pAdminPer] == 1)
    {
        if(sscanf(params, "ud", pID, level))
        {
            SendClientMessage(playerid, COLOR_WHITE, "USAGE: /makeadmin [playerid] [level]");
            return 1;
        }
        if(PlayerInfo[playerid][pAdmin] < PlayerInfo[pID][pAdmin])
        {
            return SendClientMessage(playerid, COLOR_GRAD2, NOTADMIN);
        }
        if(PlayerInfo[playerid][pAdmin] != 999999 && level == 999999)
        {
            return SendClientMessage(playerid, COLOR_GRAD2, "Only Owners can promote people to Owners!");
        }
        if(level < 0 || level > 999999)
        {
            SendClientMessageEx(playerid, COLOR_GRAD1, "Admin level can not be below 0 or above 999999!");
            return 1;
        }
        if(level == 0)
        {
            PlayerInfo[pID][pAdmin] = 0;
            format(str,sizeof(str),"* %s has revoked your admin status. You're no longer an admin.", GetPlayerNameEx(playerid));
            SendClientMessage(pID, COLOR_LIGHTBLUE, str);
            format(str,sizeof(str),"* You've revoked %s's admin status.", GetPlayerNameEx(pID));
            SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
            format(str,sizeof(str),"ADMCMD: %s has revoked %s's admin status.", GetPlayerNameEx(playerid), GetPlayerNameEx(pID));
            ABroadCast(COLOR_LIGHTRED, str, 2);
        }
        else
        {
            new rtext[32];
            if(level == 1) { format(rtext,sizeof(rtext),"Server Moderator"); }
            if(level == 2) { format(rtext,sizeof(rtext),"Junior Admin"); }
            if(level == 3) { format(rtext,sizeof(rtext),"General Admin"); }
            if(level == 4) { format(rtext,sizeof(rtext),"Senior Admin"); }
            if(level == 1337) { format(rtext,sizeof(rtext),"Head Admin"); }
            if(level == 1338) { format(rtext,sizeof(rtext),"Server Manager"); }
            if(level == 99999) { format(rtext,sizeof(rtext),"Server Director"); }
            if(level == 999996) { format(rtext,sizeof(rtext),"Elite Admin"); }
            if(level == 999997) { format(rtext,sizeof(rtext),"Community Manager"); }
            if(level == 999998) { format(rtext,sizeof(rtext),"Community Co-Owner"); }
            if(level == 999999) { format(rtext,sizeof(rtext),"Community Owner"); }

            PlayerInfo[pID][pAdmin] = level;
            format(str,sizeof(str),"* You've made %s a %s.", GetPlayerNameEx(pID), rtext);
            SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
            format(str,sizeof(str),"* Admin %s has made you a %s.", GetPlayerNameEx(playerid), rtext);
            SendClientMessage(pID, COLOR_LIGHTBLUE, str);
            format(str,sizeof(str),"ADMCMD: %s has made %s a %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(pID), rtext);
            ABroadCast(COLOR_LIGHTRED, str, 2);
        }
    }
    return 1;
}
pawn Код:
CMD:makeleader(playerid, params[])
{
    if (PlayerInfo[playerid][pAdmin] >= 1338 || PlayerInfo[playerid][pFactionModerator] == 1)
    {
        new string[128], giveplayerid, faction;
        if(sscanf(params, "ud", giveplayerid, faction))
        {
            SendClientMessageEx(playerid, COLOR_GRAD3, "|1 LSPD |2 FBI |3 BHF |4 LSFMD |5 Judical System");
            SendClientMessageEx(playerid, COLOR_GRAD2, "|6 Government |7 SAST |8 Hitman| 9 SANews");
            SendClientMessageEx(playerid, COLOR_GRAD1, "|10 SA50 |11 NG |12 Tierra Robada ");
            SendClientMessageEx(playerid, COLOR_GRAD1, "|0 None");
            return 1;
        }
        if(faction > 14 || faction < 0) { SendClientMessageEx(playerid, COLOR_GREY, "   Don't go below number 0, or above number 14!"); return 1; }

        if(IsPlayerConnected(giveplayerid))
        {
            new ftext[30];
            PlayerInfo[giveplayerid][pLeader] = faction;
            if(faction == 1) { PlayerInfo[giveplayerid][pRank] = 10; }
            if(faction == 2) { PlayerInfo[giveplayerid][pRank] = 6; }
            if(faction == 7) { PlayerInfo[giveplayerid][pRank] = 12; }
            if(faction == 10) { PlayerInfo[giveplayerid][pRank] = 10; }
            if(faction == 11) { PlayerInfo[giveplayerid][pRank] = 15; }
            PlayerInfo[giveplayerid][pMember] = faction;
            if(PlayerInfo[giveplayerid][pLeader] == 0) { ftext = "None"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 1) { ftext = "LSPD"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 2) { ftext = "FBI"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 3) { ftext = "BHF"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 4) { ftext = "LSFMD"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 5) { ftext = "Judicial System"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 6) { ftext = "The Government"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 7) { ftext = "SAST"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 8) { ftext = "Hitman Agency"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 9) { ftext = "SANews"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 10) { ftext = "SA50"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 11) { ftext = "SAAS"; }
            else if(PlayerInfo[giveplayerid][pLeader] == 12) { ftext = "Tierra Robada"; }
            else { return 1; }


            format(string, sizeof(string), "You have been made the leader of the %s by Faction Moderator %s.",ftext, GetPlayerNameEx(playerid));
            SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
            format(string, sizeof(string), "You have made %s the leader of the %s.", GetPlayerNameEx(giveplayerid),ftext);
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
            new year,month,day,log[128];
            getdate(year, month, day);
            format(log, sizeof(log), "ADMCMD: %s has made %s the leader of the %s(%d-%d-%d)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid),ftext, month, day, year);
            Log("logs/gifts.log", log);

            if(faction < 4 && faction > 0 || faction > 4 && faction < 7)
            {
                gTeam[giveplayerid] = 2;
                PlayerInfo[giveplayerid][pTeam] = 2;
            }
            PlayerInfo[giveplayerid][pFMember] = 255;
        }
    }
    else
    {
        SendClientMessageEx(playerid, COLOR_GRAD1, "You are not authorized to use that command!");
    }
    return 1;
}
And again they worked perfectly before......

EDIT: I found out that commands like /makedeveloper etc work but when you have to put 2 variables like

/makeadmin 0 99999 it won't work its REALLY wierd.. some CMDS don't return anything
Some say "Invalid player specified"
Reply


Messages In This Thread
Sscanf Problem - by Biess - 19.06.2013, 16:43
Re: Sscanf Problem [URGENT] - by SilverKiller - 19.06.2013, 17:26
Re: Sscanf Problem [URGENT] - by Biess - 19.06.2013, 17:35
Re: Sscanf Problem [URGENT] - by SilverKiller - 19.06.2013, 17:36
Re: Sscanf Problem [URGENT] - by Biess - 19.06.2013, 17:41
Re: Sscanf Problem [URGENT] - by SilverKiller - 19.06.2013, 17:47
Re: Sscanf Problem [URGENT] - by Biess - 19.06.2013, 18:33

Forum Jump:


Users browsing this thread: 2 Guest(s)