23.11.2010, 11:41
Код:
if (sscanf(params, "dd", giveid, value)) SendClientMessage(playerid,COLOR_BLUE,"**USAGE:/MakeAdmin [Playerid/PlayerName] [Level]");
Код:
CMD:setadmin(playerid, params[])
{
new otherId;
new adminLevel;
if(PlayerInfo[playerid][pLogged] == 0)
return SendClientMessage(playerid, COLOR_RED, "[Error]: Please login before using this command.");
if(PlayerInfo[playerid][pAdmin] < 3)
return SendClientMessage(playerid, COLOR_RED, ADMIN_CMD_ERROR);
GetPlayerName(otherId, otherName, sizeof(otherName));
GetPlayerName(playerid, playerName, sizeof(playerName));
if(sscanf(params, "dd", otherId, adminLevel))
{
SendClientMessage(playerid, COLOR_STEELBLUE, "[USAGE]: /setadmin [playerid] [Admin Level]");
return true;
}
if (PlayerInfo[otherId][pAdmin] == PlayerInfo[playerid][pAdmin])
{
format(stri, sizeof(stri), "[AdminSys]: You cannot demote/promote %s.",PlayerInfo[playerid][pName]);
SendClientMessage(otherId, COLOR_YELLOW,stri);
SendClientMessage(playerid, COLOR_RED, "[Error]: You are not allowed to demote/promote this Admin.");
return 1;
}
if(PlayerInfo[otherId][pAdmin] == adminLevel)
{
format(stri, sizeof(stri), "[Error]: Player is already level %d.", adminLevel);
SendClientMessage(playerid, COLOR_RED, stri);
return true;
}
if(!IsPlayerConnected(otherId))
return SendClientMessage(playerid, COLOR_RED, "[Error]: Invalid Player ID.");
if(adminLevel > 4)
return SendClientMessage(playerid, COLOR_RED, "[Error]: Level can't be higher than 4.");
if(adminLevel < 0)
return SendClientMessage(playerid, COLOR_RED, "[Error]: Level can't be lower than 0.");
if(adminLevel > PlayerInfo[otherId][pAdmin]) {
format(stri, sizeof(stri), "[AdminSys]: You have been promoted to level %d administrator, by admin %s", adminLevel, playerName);
SendClientMessage(otherId, COLOR_YELLOW, stri);
format(stri, sizeof(stri), "[AdminSys]: You have promoted %s to level %d administrator.", otherName, adminLevel);
SendClientMessage(playerid, COLOR_YELLOW, stri); }
if(adminLevel < PlayerInfo[otherId][pAdmin]) {
format(stri, sizeof(stri), "[AdminSys]: You have been demoted to level %d administrator, by admin %s", adminLevel, playerName);
SendClientMessage(otherId, COLOR_YELLOW, stri);
format(stri, sizeof(stri), "[AdminSys]: You have demoted %s to level %d administrator.", otherName, adminLevel);
SendClientMessage(playerid, COLOR_YELLOW, stri); }
PlayerInfo[otherId][pAdmin] = adminLevel;
SavePlayer(otherId);
return true;
}

