PHP код:
CMD:giverank(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return true;
if(PlayerInfo[playerid][pLeader] > 0 || PlayerInfo[playerid][pRank] >= 9 || PlayerInfo[playerid][pMember] > 0 && strcmp(PlayerInfo[playerid][pSendername],FracInfo[PlayerInfo[playerid][pMember]][fAssistant],true) == 0)
{
if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /giverank [id игрока]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, TPLAYEROFFLINE);
if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, COLOR_GREY, TPLAYERNLOGGED);
if(PlayerInfo[playerid][pLeader] > 0 && params[0] == playerid) return SendClientMessage(playerid, COLOR_GREY, "Лидер не может дать себе ранг!");
if(PlayerInfo[params[0]][pMember] == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не находиться в организации!");
if(PlayerInfo[params[0]][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок лидер другой организации!");
if(!IsPlayerInRangeOfPlayer(8.0, playerid, params[0])) return SendClientMessage(playerid, COLOR_GREY, "Игрок слишком далеко!");
if(PlayerInfo[params[0]][pMember] != PlayerInfo[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, "Игрок находиться в другой организации!");
new str[90], str2[1200], full = 0;
for(new i = 1; i <= MAX_RANK; i++)
{
if(PlayerInfo[playerid][pMember] == F_ARMY && i == 13) break;
if(PlayerInfo[playerid][pMember] == F_AVIO && i == 13) break;
if(!strcmp(FracRank[PlayerInfo[playerid][pMember]][i+1], "None",true)) break;
format(str,sizeof(str),"Ранг №%i - %s\n",i,FracRank[PlayerInfo[playerid][pMember]][i]);
strcat(str2, str);
full++;
}
if(full == 0) return SendClientMessage(playerid, COLOR_GREY, "Ошибка! Обратитесь к администрации!");
SetPVarInt(playerid, "PlayerRank", params[0]);
ShowPlayerDialog(playerid, D_FRACMENU+1, 2, "Ранг", str2, "Принять", "Отмена");
}
else SendClientMessage(playerid, COLOR_GREY, YouCanNot);
return true;
}