08.12.2011, 04:39
pawn Код:
CMD:makeadmin(playerid,params[])
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdminLevel] >= 1337) //the one who typed it
{
new string[128],name[MAX_PLAYER_NAME],pID,Level,query[128];
if(j_sscanf(params,"ui",pID,Level)) return SendClientMessage(playerid,COLOR_GREY,"/makeadmin <player> <level>");
GetPlayerName(pID,name,MAX_PLAYER_NAME);//i think there was a mistake here. You were getting the name of who typed it instead of whom you made admin
if(IsPlayerConnected(pID))
{
if(PlayerInfo[pID][pAdminLevel] != Level)
{
if(PlayerInfo[pID][pAdminLevel] < Level)
{
PlayerInfo[pID][pAdminLevel] = Level;
format(string,sizeof(string),"** ADMIN PROMOTE: %s Is Now An Administrator Level %d!",name,Level);
SendClientMessageToAll(COLOR_PINK,string);
GameTextForPlayer(pID,"~g~Promoted",3000,4);
format(query,128,"UPDATE Accounts SET AdminLevel=%d Where Name='%s'",Level,name);//Name field is correct right?
mysql_query(query);
}
else
{
GameTextForPlayer(pID,"~r~Demoted",3000,4);
format(string,sizeof(string),"** ADMIN DEMOTE: %s Has Been Demoted To Level %d!",name,Level);
SendClientMessageToAll(COLOR_PINK,string);
PlayerInfo[pID][pAdminLevel] = Level;
format(query,128,"UPDATE Accounts SET AdminLevel=%d Where Name='%s'",Level,name);
mysql_query(query);
}
}
else return SendClientMessage(playerid, COLOR_RED, "This player is already that level.");
}
else return SendClientMessage(playerid, COLOR_RED, "Invalid Player Specified.");
}
else return 0;
return 1;
}