how to make a set admin command with yini and zcmd
#1

hey I was wondering how to I make a /setadmin command with zcmd and yini, I just did the login and register tutorial by kush now i wanna start on my admin system
Reply
#2

Store admin levels into player variables, and write them to ini-files. It's not really hard if you just know what you're doing.
Reply
#3

Try this
pawn Код:
CMD:setadmin(playerid, params[])
{
    new pID, value;
    if(!IsPlayerAdmin(playerid)) return 0;
    else if(sscanf(params, "ui", pID, value)) return SendClientMessage(playerid, -1, "Usage: /setadmin (id) (level)");
    else if(value < 0 || value > 3) return SendClientMessage(playerid, -1, "Only levels 0-3");
    else if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Player Is Not Currently Connected");
    else
    {
        new string[128];
        format(string, sizeof(string), "You have set %s Admin level to %i", PlayerName(pID), value);
        SendClientMessage(playerid, -1, string);
        format(string, sizeof(string), "Your Admin level has been set to %i by %s", value, PlayerName(playerid));
        SendClientMessage(pID, -1, string);
        PlayerInfo[pID][pAdmin] = value;
    }
    return 1;
}
Reply
#4

pawn Код:
enum pInfo
{
    pPass,
    pCash,
    pAdmin,
    pSex,
    pAge,
    Float:pPos_x,
    Float:pPos_y,
    Float:pPos_z,
    pSkin,
    pTeam,
    pAccent
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Reply
#5

Quote:
Originally Posted by ejb
Посмотреть сообщение
Try this
pawn Код:
CMD:setadmin(playerid, params[])
{
    new pID, value;
    if(!IsPlayerAdmin(playerid)) return 0;
    else if(sscanf(params, "ui", pID, value)) return SendClientMessage(playerid, -1, "Usage: /setadmin (id) (level)");
    else if(value < 0 || value > 3) return SendClientMessage(playerid, -1, "Only levels 0-3");
    else if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Player Is Not Currently Connected");
    else
    {
        new string[128];
        format(string, sizeof(string), "You have set %s Admin level to %i", PlayerName(pID), value);
        SendClientMessage(playerid, -1, string);
        format(string, sizeof(string), "Your Admin level has been set to %i by %s", value, PlayerName(playerid));
        SendClientMessage(pID, -1, string);
        PlayerInfo[pID][pAdmin] = value;
    }
    return 1;
}
I get
Код:
 
C:\Users\Michael\Desktop\Roleplay\gamemodes\U1.pwn(1016) : error 017: undefined symbol "PlayerName"
C:\Users\Michael\Desktop\Roleplay\gamemodes\U1.pwn(1018) : error 017: undefined symbol "PlayerName"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.
Reply
#6

Quote:
Originally Posted by Michael_Cuellar
Посмотреть сообщение
I get
Код:
 
C:\Users\Michael\Desktop\Roleplay\gamemodes\U1.pwn(1016) : error 017: undefined symbol "PlayerName"
C:\Users\Michael\Desktop\Roleplay\gamemodes\U1.pwn(1018) : error 017: undefined symbol "PlayerName"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.
Fixed
pawn Код:
CMD:setadmin(playerid, params[])
{
    new pID, value;
    if(!IsPlayerAdmin(playerid)) return 0;
    else if(sscanf(params, "ui", pID, value)) return SendClientMessage(playerid, -1, "Usage: /setadmin (id) (level)");
    else if(value < 0 || value > 3) return SendClientMessage(playerid, -1, "Only levels 0-3");
    else if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Player Is Not Currently Connected");
    else
    {
        new string[128], string1[128], target[MAX_PLAYER_NAME], pName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pName, sizeof(pName));
        GetPlayerName(pID, target, sizeof(target));
        format(string, sizeof(string), "You have set %s Admin level to %i", target, value);
        SendClientMessage(playerid, -1, string);
        format(string, sizeof(string), "Your Admin level has been set to %i by %s", value, pName);
        SendClientMessage(pID, -1, string1);
        PlayerInfo[pID][pAdmin] = value;
    }
    return 1;
}
Reply
#7

Quote:
Originally Posted by ejb
Посмотреть сообщение
Fixed
pawn Код:
CMD:setadmin(playerid, params[])
{
    new pID, value;
    if(!IsPlayerAdmin(playerid)) return 0;
    else if(sscanf(params, "ui", pID, value)) return SendClientMessage(playerid, -1, "Usage: /setadmin (id) (level)");
    else if(value < 0 || value > 3) return SendClientMessage(playerid, -1, "Only levels 0-3");
    else if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Player Is Not Currently Connected");
    else
    {
        new string[128], string1[128], target[MAX_PLAYER_NAME], pName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pName, sizeof(pName));
        GetPlayerName(pID, target, sizeof(target));
        format(string, sizeof(string), "You have set %s Admin level to %i", target, value);
        SendClientMessage(playerid, -1, string);
        format(string, sizeof(string), "Your Admin level has been set to %i by %s", value, pName);
        SendClientMessage(pID, -1, string1);
        PlayerInfo[pID][pAdmin] = value;
    }
    return 1;
}
Thanks I would rep you again if i could
Reply
#8

No problem
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)