SA-MP Forums Archive
[HELP]: /makeadmin - 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: [HELP]: /makeadmin (/showthread.php?tid=458078)



[HELP]: /makeadmin - Areax - 14.08.2013

Hello SAMP

I have a problem with my /makeadmin command...Here is my command:

pawn Код:
CMD:makeadmin(playerid, params[])
{
    new level, targetid, string[200], str[200];
    if(pInfo[playerid][Adminlevel] < 5)return SendClientMessage(playerid, COLOR_RED, "[ERROR]: You aren't an Administrator level 5!");
    if(!IsPlayerConnected(targetid))return SendClientMessage(playerid, COLOR_RED, "[ERROR]: This player is not Connected!");
    if(sscanf(params, "ui", targetid, level))return SendClientMessage(playerid, COLOR_WHITE, "[USAGE]: /makeadmin [Playerid] [Level]");
    if(level < 0 || level > 5)return SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid Admin Level (0-5)!");
    pInfo[targetid][Adminlevel] = level;
    if(pInfo[targetid][Adminlevel] < level)
    {
    format(string, sizeof(string), "[ADMIN]: Administrator %s(ID:%d) has promoted %s(ID:%d) to Admin level %d!", GetName(playerid), playerid, GetName(targetid), targetid, level);
    SendClientMessageToAll(COLOR_GREEN, string);
    }
    if(pInfo[targetid][Adminlevel] > level)
    {
    format(str, sizeof(str), "[ADMIN]: Administrator %s(ID:%d) has demoted %s(ID:%d) to Admin level %d!", GetName(playerid), playerid, GetName(targetid), targetid, level);
    SendClientMessageToAll(COLOR_GREEN, str);
    }
    new INI:file = INI_Open(Path(playerid));
    INI_SetTag(file, "Player's Data");
    INI_WriteInt(file, "AdminLevel", pInfo[targetid][Adminlevel]);
    return 1;
}
Example:

If a player is an admin level 3 and if an admin has changed his level to 4, then it will say that he was promoted..

And, If a player is an admin level 3 and if an admin has changed his level to 2, then it will say that he was demoted..

But the message don't work..Help me pls


Re: [HELP]: /makeadmin - Luis- - 14.08.2013

pawn Код:
CMD:makeadmin(playerid, params[])
{
    new level, targetid, string[200], str[200];
    if(pInfo[playerid][Adminlevel] < 5)return SendClientMessage(playerid, COLOR_RED, "[ERROR]: You aren't an Administrator level 5!");
    if(!IsPlayerConnected(targetid))return SendClientMessage(playerid, COLOR_RED, "[ERROR]: This player is not Connected!");
    if(sscanf(params, "ui", targetid, level))return SendClientMessage(playerid, COLOR_WHITE, "[USAGE]: /makeadmin [Playerid] [Level]");
    if(level < 0 || level > 5)return SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid Admin Level (0-5)!");
    pInfo[targetid][Adminlevel] = level;
    if(pInfo[targetid][Adminlevel] < level)
    {
    format(string, sizeof(string), "[ADMIN]: Administrator %s(ID:%d) has promoted %s(ID:%d) to Admin level %d!", GetName(playerid), playerid, GetName(targetid), targetid, level);
    SendClientMessageToAll(COLOR_GREEN, string);
    }
    else if(pInfo[targetid][Adminlevel] > level)
    {
    format(str, sizeof(str), "[ADMIN]: Administrator %s(ID:%d) has demoted %s(ID:%d) to Admin level %d!", GetName(playerid), playerid, GetName(targetid), targetid, level);
    SendClientMessageToAll(COLOR_GREEN, str);
    }
    new INI:file = INI_Open(Path(playerid));
    INI_SetTag(file, "Player's Data");
    INI_WriteInt(file, "AdminLevel", pInfo[targetid][Adminlevel]);
    return 1;
}
Try this.


Re: [HELP]: /makeadmin - Areax - 14.08.2013

Don't work


Re: [HELP]: /makeadmin - DarrenReeder - 14.08.2013

the problem is that you are doing this

pInfo[targetid][Adminlevel] = level

too early. do it at the end of the command just before you save data. i would write code but im on iphone


Re: [HELP]: /makeadmin - xganyx - 15.08.2013

Close the ini and your broblem is
[PAWN]if(pInfo[targetid][Adminlevel] < level)[PAWN]
Try this
[PAWN]if(pInfo[targetid][Adminlevel]++)[PAWN]