Y-Group Admin Commands
#1

Y_GROUPS | Y_COMMANDS
Ok, I'll firstly list my code...

Admin Level Groups...
pawn Код:
enum AdminGroups{Group:Level1, Group:Level2, Group:Level3, Group:Level4, Group:Level5, Group:Level6}
new aGroup[AdminGroups];
Admin Level Group Creates... (OnGameModeInit)
pawn Код:
aGroup[Level1] = Group_Create("Basic Moderator");
aGroup[Level2] = Group_Create("Moderator");
aGroup[Level3] = Group_Create("Master Moderator");
aGroup[Level4] = Group_Create("Basic Administrator");
aGroup[Level5] = Group_Create("Administrator");
aGroup[Level6] = Group_Create("Master Administrator");
Admin Level Group Commands... (OnGameModeInit) [EXAMPLE]
pawn Код:
Group_SetGlobalCommand(Command_GetID("warn"), false);
Group_SetGlobalCommand(Command_GetID("kick"), false);
Group_SetGlobalCommand(Command_GetID("ban"), false);

Group_SetCommand(aGroup[Level1], Command_GetID("warn"), true);
Group_SetCommand(aGroup[Level3], Command_GetID("kick"), true);
Group_SetCommand(aGroup[Level5], Command_GetID("ban"), true);
SetPlayerAdminGroup, called when a player connects...
pawn Код:
stock SetPlayerAdminGroup(playerid)
{
    Group_SetPlayer(aGroup[Level1], playerid, false);
    Group_SetPlayer(aGroup[Level2], playerid, false);
    Group_SetPlayer(aGroup[Level3], playerid, false);
    Group_SetPlayer(aGroup[Level4], playerid, false);
    Group_SetPlayer(aGroup[Level5], playerid, false);
    Group_SetPlayer(aGroup[Level6], playerid, false);
    if(pData[playerid][Level] >= 1)Group_SetPlayer(aGroup[Level1], playerid, true);
    if(pData[playerid][Level] >= 2)Group_SetPlayer(aGroup[Level2], playerid, true);
    if(pData[playerid][Level] >= 3)Group_SetPlayer(aGroup[Level3], playerid, true);
    if(pData[playerid][Level] >= 4)Group_SetPlayer(aGroup[Level4], playerid, true);
    if(pData[playerid][Level] >= 5)Group_SetPlayer(aGroup[Level5], playerid, true);
    if(pData[playerid][Level] == 6)Group_SetPlayer(aGroup[Level6], playerid, true);
}



Problem: The commands still work for ALL LEVELS...
Reply
#2

Example using zcmd:
pawn Код:
CMD:example(playerid, params[])
{
    if(pInfo[playerid][pAdmin] >= 1)
    {
        SendClientMessage(playerid, -1, "This is a example");
    }
    else
    {
        SendClientMessage(playerid, -1, "You do not meet the required admin powers");    
    }
    return 1;
}
Theres no need to set admin groups or what ever you are doing, simply use this
pawn Код:
if(pInfo[playerid][pAdmin] >= 1)
under each command and your done

And your better off with a stock defining the admin names like:
pawn Код:
stock GetAdminName(playerid)
{
    new adminname[128];
    switch(pInfo[playerid][pAdmin])
    {
        case 0: adminname = "Not Admin";
        case 1: adminname = "Trial Moderator";
        case 2: adminname = "Moderator";
        case 3: adminname = "Admin";
        case 4: adminname = "Head Admin";
        case 5: adminname = "Management";
        case 6: adminname = "Owner";
    }
    return adminname;
}
Good luck!
Reply
#3

Dude,

1.) Your suggestion has NOTHING to do with Y_Commands.
2.) Y_Commands is better than ZCMD, (No offense Zeex!)
3.) Im already using alot of YSI scripts, so... Blah

Thanks, but can someone with YSI experience help me out..? (Im calling you out Y-Less! If you even read this.. :P)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)