Игорь19999
Новичок
Ув.Формучане баг с demote можно понижать всех буквально всех все фракции вот код команды!
CMD:demote(playerid, params[])
{
new giveplayerid;
if(sscanf(params,"d",giveplayerid)) return SCM(playerid, COLOR_WHITE,"Введите: /demote [ид]");
if(!IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID || giveplayerid == playerid) return true;
if(PlayerInfo[playerid][pMember] != TEAM_FBI || PlayerInfo[playerid][pRang] < 5) return SCM(playerid, COLOR_GREY,"Данная функция недоступна вам!");
if(PlayerInfo[giveplayerid][pMember] < TEAM_LSPD && PlayerInfo[giveplayerid][pMember] > TEAM_SFA) return SCM(playerid, COLOR_GREY,"Человек не состоит в армии / полиции");
if(PlayerInfo[giveplayerid][pRang] > 12 && IsArmy(giveplayerid)) return SCM(playerid, COLOR_GREY,"Человек занимает руководящую должность!");
if(PlayerInfo[giveplayerid][pRang] > 11 && IsLaw(giveplayerid)) return SCM(playerid, COLOR_GREY,"Человек занимает руководящую должность!");
if(PlayerInfo[giveplayerid][pMember] == TEAM_FBI) return SCM(playerid, COLOR_WHITE, "Ошибка: Невозможно. Данный игрок состоит в ФБР.");
GetPlayerName(giveplayerid, gp, sizeof(gp));
GetPlayerName(playerid, sn, sizeof(sn));
PlayerInfo[giveplayerid][pRang] --;
if(PlayerInfo[giveplayerid][pRang] > 0)
{
format(nsa, sizeof(nsa),"Агент ФБР %s понизил вас до %d ранга",sn,PlayerInfo[giveplayerid][pRang]);
SCM(giveplayerid,COLOR_LIGHTBLUE,nsa);
format(nsa, sizeof(nsa),"Вы понизили %s до %d ранга",gp,PlayerInfo[giveplayerid][pRang]);
SCM(playerid,COLOR_LIGHTBLUE,nsa);
}
else
{
if(IsLaw(giveplayerid))
{
PlayerInfo[giveplayerid][pSkin] = 287;
PlayerInfo[giveplayerid][pRang] = 4;
PlayerInfo[giveplayerid][pMember] = TEAM_LVA;
format(nsa, sizeof(nsa),"Агент ФБР %s понизил вас до %d ранга",sn,PlayerInfo[giveplayerid][pRang]);
SCM(giveplayerid,COLOR_LIGHTBLUE,nsa);
format(nsa, sizeof(nsa),"Вы понизили %s до %d ранга",gp,PlayerInfo[giveplayerid][pRang]);
SCM(playerid,COLOR_LIGHTBLUE,nsa);
SetPlayerSpawn(giveplayerid);
}
else if(IsArmy(giveplayerid))
{
format(nsa, sizeof(nsa),"Агент ФБР %s уволил вас",sn);
SCM(giveplayerid,COLOR_LIGHTBLUE,nsa);
format(nsa, sizeof(nsa),"Вы уволили %s",gp);
SCM(playerid,COLOR_LIGHTBLUE,nsa);
PlayerInfo[giveplayerid][pRang] = 0;
PlayerInfo[giveplayerid][pMember] = 0;
PlayerInfo[giveplayerid][pSkin] = 0;
ResetPlayerWeaponEx(giveplayerid);
DisablePlayerCheckpoint(giveplayerid);
LoadMaterialsFraction[giveplayerid] = 0;
LoadMaterialsArmy[giveplayerid] = 0;
RemovePlayerAttachedObject(giveplayerid, 1);
SetPlayerSpawn(giveplayerid);
}
}
return true;
}
Помогите.
CMD:demote(playerid, params[])
{
new giveplayerid;
if(sscanf(params,"d",giveplayerid)) return SCM(playerid, COLOR_WHITE,"Введите: /demote [ид]");
if(!IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID || giveplayerid == playerid) return true;
if(PlayerInfo[playerid][pMember] != TEAM_FBI || PlayerInfo[playerid][pRang] < 5) return SCM(playerid, COLOR_GREY,"Данная функция недоступна вам!");
if(PlayerInfo[giveplayerid][pMember] < TEAM_LSPD && PlayerInfo[giveplayerid][pMember] > TEAM_SFA) return SCM(playerid, COLOR_GREY,"Человек не состоит в армии / полиции");
if(PlayerInfo[giveplayerid][pRang] > 12 && IsArmy(giveplayerid)) return SCM(playerid, COLOR_GREY,"Человек занимает руководящую должность!");
if(PlayerInfo[giveplayerid][pRang] > 11 && IsLaw(giveplayerid)) return SCM(playerid, COLOR_GREY,"Человек занимает руководящую должность!");
if(PlayerInfo[giveplayerid][pMember] == TEAM_FBI) return SCM(playerid, COLOR_WHITE, "Ошибка: Невозможно. Данный игрок состоит в ФБР.");
GetPlayerName(giveplayerid, gp, sizeof(gp));
GetPlayerName(playerid, sn, sizeof(sn));
PlayerInfo[giveplayerid][pRang] --;
if(PlayerInfo[giveplayerid][pRang] > 0)
{
format(nsa, sizeof(nsa),"Агент ФБР %s понизил вас до %d ранга",sn,PlayerInfo[giveplayerid][pRang]);
SCM(giveplayerid,COLOR_LIGHTBLUE,nsa);
format(nsa, sizeof(nsa),"Вы понизили %s до %d ранга",gp,PlayerInfo[giveplayerid][pRang]);
SCM(playerid,COLOR_LIGHTBLUE,nsa);
}
else
{
if(IsLaw(giveplayerid))
{
PlayerInfo[giveplayerid][pSkin] = 287;
PlayerInfo[giveplayerid][pRang] = 4;
PlayerInfo[giveplayerid][pMember] = TEAM_LVA;
format(nsa, sizeof(nsa),"Агент ФБР %s понизил вас до %d ранга",sn,PlayerInfo[giveplayerid][pRang]);
SCM(giveplayerid,COLOR_LIGHTBLUE,nsa);
format(nsa, sizeof(nsa),"Вы понизили %s до %d ранга",gp,PlayerInfo[giveplayerid][pRang]);
SCM(playerid,COLOR_LIGHTBLUE,nsa);
SetPlayerSpawn(giveplayerid);
}
else if(IsArmy(giveplayerid))
{
format(nsa, sizeof(nsa),"Агент ФБР %s уволил вас",sn);
SCM(giveplayerid,COLOR_LIGHTBLUE,nsa);
format(nsa, sizeof(nsa),"Вы уволили %s",gp);
SCM(playerid,COLOR_LIGHTBLUE,nsa);
PlayerInfo[giveplayerid][pRang] = 0;
PlayerInfo[giveplayerid][pMember] = 0;
PlayerInfo[giveplayerid][pSkin] = 0;
ResetPlayerWeaponEx(giveplayerid);
DisablePlayerCheckpoint(giveplayerid);
LoadMaterialsFraction[giveplayerid] = 0;
LoadMaterialsArmy[giveplayerid] = 0;
RemovePlayerAttachedObject(giveplayerid, 1);
SetPlayerSpawn(giveplayerid);
}
}
return true;
}
Помогите.
