True_Maks
Умник
Здравствуйте.Помогите исправить баг в рангами.Дело в том что ранг может дать простой игрок не лидер.
PHP:
if(strcmp(cmd, "/giverank", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /giverank [id игрока/часть ника] [ранг]");
return 1;
}
new para1;
new level;
new skin;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(PlayerInfo[playerid][pLeader] == 1 && level > 12 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 12!");
if(PlayerInfo[playerid][pLeader] == 2 && level > 16 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 16!");
if(PlayerInfo[playerid][pLeader] == 3 && level > 22 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 22!");
if(PlayerInfo[playerid][pLeader] == 4 && level > 10 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 10!");
if(PlayerInfo[playerid][pLeader] == 5 && level > 9 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 9!");
if(PlayerInfo[playerid][pLeader] == 6 && level > 10 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 10!");
if(PlayerInfo[playerid][pLeader] == 7 && level > 15 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 15!");
if(PlayerInfo[playerid][pLeader] == 8 && level > 6 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 6!");
if(PlayerInfo[playerid][pLeader] == 9 && level > 6 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 6!");
if(PlayerInfo[playerid][pLeader] == 10 && level > 6 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 6!");
if(PlayerInfo[playerid][pLeader] == 11 && level > 6 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 6!");
if(PlayerInfo[playerid][pLeader] == 12 && level > 7 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 7!");
if(PlayerInfo[playerid][pLeader] == 13 && level > 15 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 15!");
if(PlayerInfo[playerid][pLeader] == 14 && level > 12 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 12!");
if(PlayerInfo[playerid][pLeader] == 15 && level > 8 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 8!");
if(PlayerInfo[playerid][pLeader] == 16 && level > 11 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 11!");
if(PlayerInfo[playerid][pLeader] == 17 && level > 14 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 14!");
if(PlayerInfo[playerid][pLeader] == 18 && level > 12 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 12!");
if(PlayerInfo[playerid][pLeader] == 19 && level > 6 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 6!");
if(PlayerInfo[playerid][pLeader] == 20 && level > 10 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 10!");
if(PlayerInfo[playerid][pLeader] == 21 && level > 10 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 10!");
if(PlayerInfo[playerid][pLeader] == 22 && level > 7 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 7!");
if(PlayerInfo[playerid][pLeader] == 23 && level > 22 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 22!");
if(PlayerInfo[playerid][pLeader] == 24 && level > 10 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 10!");
if(PlayerInfo[playerid][pLeader] == 25 && level > 5 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 5!");
if(PlayerInfo[playerid][pLeader] == 26 && level > 10 || level < 0) return SendClientMessage(playerid, COLOR_GREY, " Невозможно значение менее 0, или более 10!");
if (PlayerInfo[playerid][pLeader] >= 1 || PlayerInfo[playerid][pLeader] <= 26)
{
if(PlayerInfo[para1][pMember] == PlayerInfo[playerid][pLeader] || PlayerInfo[para1][pLeader] == PlayerInfo[playerid][pLeader])
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
format(string,sizeof(string),"fraction/fraction%d.ini",PlayerInfo[playerid][pLeader]);
new keykey[20];
format(keykey,sizeof(keykey),"q%d",level);
new File = iniOpen(string);
iniGetInt(File,keykey,skin);
iniClose(File);
PlayerInfo[para1][pRank] = level;
PlayerInfo[para1][pChar] = skin;
SetPlayerSkin(para1,skin);
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Вы были повышены в должности лидером %s до должности %d", sendername, level);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Вы дали %s должность %d.", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[para1][pModel] = skin;
PlayerInfo[para1][pChar] = skin;
SetSpawnInfo(para1, PlayerInfo[para1][pTeam], PlayerInfo[para1][pModel],0.0,0.0,0.0,0,0,0,0,0,0,0);
gTeam[para1] = PlayerInfo[para1][pTeam];
MedicBill[para1] = 0;
SelectCharPlace[para1] = 0;
SelectCharID[para1] = 0;
SelectChar[para1] = 0;
SaveAccounts();
SaveKilom();
}
}
}
else
{
SendClientMessage(playerid,COLOR_GRAD1," Этот игрок не из вашей фракции");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Нет прав на использование команды(только для лидеров)!");
}
}
return 1;
}
