Admin command
#1

Hey!

Im "new" to this, ive made an /setadmin with help from an tutorial!

pawn Code:
CMD:setadmin(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))return 0;
    if(sscanf(params,"ui",ID,levels)) return SendClientMessage(playerid,0xFF9900AA, "-USAGE- /setadmin [ID] [Level 1-5]");
    if(levels > 5) return SendClientMessage(playerid,0xFF0000FF,"LEVELS AVAILABLE 1-5!");
    if(!IsPlayerConnected(ID))return SendClientMessage(playerid,COLOR_RED,"That user is not connected.");
    if(PlayerData[ID][AdminLevel] == levels) return SendClientMessage(playerid,0xFF0000FF, "ERROR: That person is already this admin level!");
    GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);
    GetPlayerName(ID,pname,MAX_PLAYER_NAME);
    if(levels == 0)
    {
        format(str, sizeof(str),"%s has set your Admin level to %d",Nam,levels);
        SendClientMessage(ID,0xFF9900AA,str);
        format(str, sizeof(str),"You had set %s Admin level to %d!",pname,levels);
        SendClientMessage(playerid,0xFF9900AA,str);
        PlayerData[ID][AdminLevel] = levels;
        return 1;
    }
    format(str, sizeof(str),"%s has set your Admin level to %d on the server.",Nam,levels);
    SendClientMessage(ID,0xFF9900AA,str);
    format(str, sizeof(str),"You had set %s Admin level to %d!",pname,levels);
    SendClientMessage(playerid,0xFF9900AA,str);
    PlayerData[ID][AdminLevel] = levels;
    return 1;
}
How do I set certain admincommands to certain levels?, I don't really get how I do it.

Regards. / RieTzz
Reply
#2

pawn Code:
CMD:setadmin(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))return 0;
    if(sscanf(params,"ui",ID,levels)) return SendClientMessage(playerid,0xFF9900AA, "-USAGE- /setadmin [ID] [Level 1-5]");
    if(levels > 5) return SendClientMessage(playerid,0xFF0000FF,"LEVELS AVAILABLE 1-5!");
    if(!IsPlayerConnected(ID))return SendClientMessage(playerid,COLOR_RED,"That user is not connected.");
    if(PlayerData[ID][AdminLevel] == levels) return SendClientMessage(playerid,0xFF0000FF, "ERROR: That person is already this admin level!");
    GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);
    GetPlayerName(ID,pname,MAX_PLAYER_NAME);
    if(levels == 0)
    {
        format(str, sizeof(str),"%s has set your Admin level to %d",Nam,levels);
        SendClientMessage(ID,0xFF9900AA,str);
        format(str, sizeof(str),"You had set %s Admin level to %d!",pname,levels);
        SendClientMessage(playerid,0xFF9900AA,str);
        PlayerData[ID][AdminLevel] = levels;
        return 1;
    }
    format(str, sizeof(str),"%s has set your Admin level to %d on the server.",Nam,levels);
    SendClientMessage(ID,0xFF9900AA,str);
    format(str, sizeof(str),"You had set %s Admin level to %d!",pname,levels);
    SendClientMessage(playerid,0xFF9900AA,str);
    PlayerData[ID][AdminLevel] = levels;
    return 1;
You gotta use your enum here is an example

pawn Code:
if(pAdmin[playerid] >= 1)
Show me your enum script and I'll convert your /setadmin to it instead of using the RCON admin

BTW Your Enum is the PlayerInfo where you can all the player info for example; passwords, locations and ect...
Reply
#3

pawn Code:
enum pData
{
    AdminLevel
};
new PlayerData[MAX_PLAYERS][pData];
new levels,Nam[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],str[128],ID;
Reply
#4

pawn Code:
cmd:setadmin(playerid, params[])
{
    if(AdminLevel[playerid] >= 1))return 0;
    if(sscanf(params,"ui",ID,levels)) return SendClientMessage(playerid,0xFF9900AA, "-USAGE- /setadmin [ID] [Level 1-5]");
    if(levels > 5) return SendClientMessage(playerid,0xFF0000FF,"LEVELS AVAILABLE 1-5!");
    if(!IsPlayerConnected(ID))return SendClientMessage(playerid,COLOR_RED,"That user is not connected.");
    if(PlayerData[ID][AdminLevel] == levels) return SendClientMessage(playerid,0xFF0000FF, "ERROR: That person is already this admin level!");
    GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);
    GetPlayerName(ID,pname,MAX_PLAYER_NAME);
    if(levels == 0)
    {
        format(str, sizeof(str),"%s has set your Admin level to %d",Nam,levels);
        SendClientMessage(ID,0xFF9900AA,str);
        format(str, sizeof(str),"You had set %s Admin level to %d!",pname,levels);
        SendClientMessage(playerid,0xFF9900AA,str);
        PlayerData[ID][AdminLevel] = levels;
        return 1;
    }
    format(str, sizeof(str),"%s has set your Admin level to %d on the server.",Nam,levels);
    SendClientMessage(ID,0xFF9900AA,str);
    format(str, sizeof(str),"You had set %s Admin level to %d!",pname,levels);
    SendClientMessage(playerid,0xFF9900AA,str);
    PlayerData[ID][AdminLevel] = levels;
    return 1;
}
Basically change the admin level to your liking

pawn Code:
if(AdminLevel[playerid] >= 1))return 0;
Here you go
Reply
#5

Thank you Viruzz!
But im getting these errors


pawn Code:
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(367) : warning 203: symbol is never used: "angle"
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : error 028: invalid subscript (not an array or too many subscripts): "pData"
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : warning 215: expression has no effect
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : error 001: expected token: ";", but found "]"
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : error 029: invalid expression, assumed zero
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : fatal error 107: too many error messages on one line
Reply
#6

Quote:
Originally Posted by RieTzz
View Post
Thank you Viruzz!
But im getting these errors


pawn Code:
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(367) : warning 203: symbol is never used: "angle"
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : error 028: invalid subscript (not an array or too many subscripts): "pData"
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : warning 215: expression has no effect
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : error 001: expected token: ";", but found "]"
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : error 029: invalid expression, assumed zero
C:\Users\Rietz\Desktop\SAMP\gamemodes\gys.pwn(418) : fatal error 107: too many error messages on one line
Can you please post the lines of the errors
Reply
#7

pawn Code:
if(AdminLevel[playerid] >= 5))return 0;
Reply
#8

Seems weird because nothing is wrong with it and in my code I get 0 warnings.
Reply
#9

But do you know how I solve the errors?
Reply
#10

noone? :<
Reply
#11

Quote:
Originally Posted by RieTzz
View Post
pawn Code:
if(AdminLevel[playerid] >= 5))return 0;
if(PlayerData[playerid][AdminLevel] >= 5) return 0;
Reply
#12

pawn Code:
if(PlayerData[playerid][AdminLevel] < 5) return 0;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)