18.03.2010, 16:35
Quote:
Originally Posted by Joe Torran C
My own way is sscanf but it all went wrong,
For example using rcon aswell as admin level, And we agreed to do it this way so.. |
if something went wrong, fix it
pawn Код:
CMD:setlevel(playerid, params[])
{
if(!(PlayerInfo[playerid][AdminLevel] > 4 || IsPlayerAdmin(playerid)))
return SendClientMessage(playerid, COLOR_RED, "You are not an administrator with the required level");
new id, level;
if(sscanf(params, "ui", id, level))
return SendClientMessage(playerid, COLOR_RED, "Usage: /setlevel [PlayerID/PartOfName] [Level]");
else if(!IsPlayerConnected(id))
return SendClientMessage(playerid, COLOR_RED, "Player not Connected");
else if(0 > level || level > 5)
return SendClientMessage(playerid, COLOR_RED, "Invalid level");
else if(level == PlayerInfo[id][AdminLevel])
return SendClientMessage(playerid, COLOR_RED, "Player is already this level");
new string[70];
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
format(string, sizeof string, "Administrator %s has set your admin level to %d", string, level);
SendClientMessage(id, COLOR_BLUE, string), GetPlayerName(id, string, MAX_PLAYER_NAME);
format(string, sizeof string, "You have set %s admin level to %d", string, level);
SendClientMessage(playerid, COLOR_BLUE, string);
PlayerInfo[id][AdminLevel] = level;
return 1;
}
The code was correct so the cause is/was somewhere else