[PROBLEM] Set Admin Level
#1

Hey guys its me again! The problem i got is that when i do /setlevel id level players dont get admin level or idk because when they try a command like /clearchat it doesnt work for them.. Maybe i need to add saveadmijn or sth like that in OnPlayerUpdate.... Pease help me since i need it asap. Thnx all

Migue
Reply
#2

Show us your commands (/setlevel and /clearchat)
Reply
#3

pawn Код:
CMD:setlevel(playerid, params[])
{
    new levels,str[128],ID;
    if(!IsPlayerAdmin(playerid))return 0;
    if(sscanf(params,"ui",ID,levels)) return SendClientMessage(playerid, DEEPPINK, "USAGE: /setlevel <ID> <Level 1-5>");
    if(levels > 5) return SendClientMessage(playerid, DEEPPINK,"ERROR: Levels Available 1-5");
    if(!IsPlayerConnected(ID))return SendClientMessage(playerid, DEEPPINK,"ERROR: Player is not connected.");
    if(PlayerData[ID][AdminLevel] == levels) return SendClientMessage(playerid, DEEPPINK, "ERROR: Player is already this admin level.");

    new lvl = PlayerData[ID][AdminLevel];

    if(levels < lvl)
        GameTextForPlayer(ID, "~y~DEMOTED", 3000, 4);
    else
        GameTextForPlayer(ID, "~g~PROMOTED", 3000, 4);

    format(str, sizeof(str),"%s has set your Admin level to %d.",GetName(playerid),levels);
    SendClientMessage(ID,GREEN,str);
    format(str, sizeof(str),"You have set %s's Admin level to %d.",GetName(ID),levels);
    SendClientMessage(playerid,ORANGE,str);
    PlayerData[ID][AdminLevel] = levels;
    return 1;
}

CMD:clearchat(playerid,params[])
{
    if( PlayerInfo[ playerid ][ pAdmin ] < 1 ) return SendClientMessage( playerid, DEEPPINK, "ERROR: You must be level 1 to use this command!" );
    for( new i = 0; i <= 100; i ++ ) SendClientMessageToAll( WHITE, "" );
    return 1;
}
Reply
#4

First, you will get warning with your clearchat cmd

use
pawn Код:
CMD:clearchat(playerid,params[])
{
    #pragma unused params    
    if( PlayerData[ playerid ][ AdminLevel] < 1 ) return SendClientMessage( playerid, DEEPPINK, "ERROR: You must be level 1 to use this command!" );
    for( new i = 0; i <= 100; i ++ ) SendClientMessageToAll( WHITE, "" );
    return 1;
}
Setlevel cmd

pawn Код:
CMD:setlevel(playerid, params[])
{
    new levels,str[128],ID;
   if(!IsPlayerAdmin(playerid))return 0;
    if(sscanf(params,"ui",ID,levels)) return SendClientMessage(playerid, DEEPPINK, "USAGE: /setlevel <ID> <Level 1-5>");
    if(levels > 5) return SendClientMessage(playerid, DEEPPINK,"ERROR: Levels Available 1-5");
    if(!IsPlayerConnected(ID))return SendClientMessage(playerid, DEEPPINK,"ERROR: Player is not connected.");
    if(PlayerData[ID][AdminLevel] == levels) return SendClientMessage(playerid, DEEPPINK, "ERROR: Player is already this admin level.");

    new lvl = PlayerData[ID][AdminLevel];

    if(levels < lvl)
    {
        GameTextForPlayer(ID, "~y~DEMOTED", 3000, 4);
    }
    else
    {
        GameTextForPlayer(ID, "~g~PROMOTED", 3000, 4);
    }
    format(str, sizeof(str),"%s has set your Admin level to %i.",GetName(playerid),levels);
    SendClientMessage(ID,GREEN,str);
    format(str, sizeof(str),"You have set %s's Admin level to %i.",GetName(ID),levels);
    SendClientMessage(playerid,ORANGE,str);
    PlayerData[ID][AdminLevel] =levels;
    return 1;
}
You were using
pawn Код:
PlayerInfo[playerid][pAdmin]
instead of
pawn Код:
PlayerData[playerid][AdminLevel]
Check your clearchat command so you can understand.
Reply
#5

I need to use the pAdmin thing. Im usin y ini
Reply
#6

Do you have an admin filterscript?
Reply
#7

N. I fixed it already. Nevermind and thx
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)