EgorTresh 0 Опубликовано 17 марта, 2019 Требуется команда /fpanel для того что-бы зам мог использовать: /invite, /giverank, /uninvite CMD:invite(playerid, params[]) { if(!pInfo[playerid][pTempLeader]) { if(!IsAbleToInvite(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Вам недоступна данная возможность!"); } else { if(pInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_GREY, "Данная возможность доступна для администраторов 4 уровня и выше"); } new targetid; if(sscanf(params, "d", targetid)) return SendClientMessage(playerid, COLOR_RED, "Используйте: /invite [id игрока]"); else if(targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Игрок не в игре!"); else if(!gPlayerLogged[targetid]) return SendClientMessage(playerid, COLOR_GREY, "Игрок не авторизован!"); else if((IsAGang(playerid) || IsAArmy(playerid)) && pInfo[targetid][pLevel] < 2) return SendClientMessage(playerid, COLOR_GREY, "У игрока нету 2 уровня!"); else if((!IsAGang(playerid) && !IsAArmy(playerid)) && pInfo[targetid][pLevel] < 3) return SendClientMessage(playerid, COLOR_GREY, "У игрока нету 3 уровня!"); else if(pInfo[targetid][pWarn] > 0) return SendClientMessage(playerid, COLOR_GREY, "У игрока предупреждение!"); else if(pInfo[targetid][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Лидера нельзя принимать в организацию!"); else if(pInfo[targetid][pMember] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не состоит в Вашей организации!"); else if(IsPlayerInAnyVehicle(targetid)) return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!"); else if(!IsPlayerStream(8.0, playerid, targetid, 1)) return SendClientMessage(playerid, COLOR_GREY, "Игрок слишком далеко!"); SendMes(playerid,COLOR_BLUE,"Вы предлагаете %s присоединиться в вашу организацию",GetName(targetid)); InviteOffer[targetid] = playerid; new string[128]; format(string,sizeof(string),"%s %s предлагает Вам присоединиться к \"%s\"\n\nВы согласны?",GetRankName(GetTeamID(playerid),pInfo[playerid][pRank]), GetName(playerid), OrgInfo[GetTeamID(playerid)][oName]); ShowPlayerDialog(targetid, dInviteFrac, 0, "{027BEB}Вступление во фракцию",string,"Да","Нет"); return 1; } CMD:uninvite(playerid, params[]) { if(!pInfo[playerid][pTempLeader]) { if(!IsAbleToUninvite(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Вам недоступна данная возможность!"); } else { if(pInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_GREY, "Данная возможность доступна для администраторов 4 уровня и выше"); } new targetid, reason[32]; if(sscanf(params, "ds[32]", targetid, reason)) return SendClientMessage(playerid, COLOR_RED, "Используйте: /uninvite [id игрока] [причина]"); else if(targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Игрок не в игре!"); else if(!gPlayerLogged[targetid]) return SendClientMessage(playerid, COLOR_GREY, "Игрок не авторизован!"); else if(pInfo[targetid][pMember] == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не состоит в организации!"); else if(pInfo[targetid][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Лидера нельзя увольнять из организации!"); else if(pInfo[targetid][pMember] != pInfo[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, "Игрок не состоит в Вашей организации!"); else if(playerid == targetid) return SendClientMessage(playerid, COLOR_GREY, "Самого себя нельзя уволить!"); SendMes(playerid, COLOR_BLUE, "Вы уволили %s из организации. Причина: %s",GetName(targetid),reason); SendMes(targetid, COLOR_BLUE, "%s %s уволил%s Вас из организации. Причина: %s", GetRankName(GetTeamID(playerid),pInfo[playerid][pRank]),GetName(playerid),(pInfo[playerid][pSex]==1)?(""):("а"),reason); LeaveFractionPlayer(targetid); SendClientMessage(targetid, COLOR_GREEN, "[Подсказка] {FFFFFF}Местом спавна автоматически назначен вокзал. Изменить место спавна /setspawn"); return 1; } CMD:giverank(playerid, params[]) { if(pInfo[playerid][pMember]<=0)return false; if(pInfo[playerid][pRank] < 9 && pInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_RED,"Отказано в доступе!"); if(sscanf(params,"ud",params[0],params[1])) return SendClientMessage(playerid,COLOR_VALIK,"Используйте: /giverank [id] [rank]"); if(!IsPlayerStream(8.0, playerid, params[0], 1)) return SendClientMessage(playerid, COLOR_GREY, "Вы должны находиться рядом с игроком!"); if(pInfo[params[0]][pLeader] > 0 ) return SendClientMessage(playerid,COLOR_RED,"Вы не можете изменять ранг лидеру"); if(params[1] < 1) return SendClientMessage(playerid,COLOR_GREY,"Нельзя повысть до этого ранга"); if(ClothesRound[params[0]] !=0)return 0; if(GetPlayerVirtualWorld(playerid)!=GetPlayerVirtualWorld(params[0]))return 0; if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, "Игрок не найден"); if(pInfo[playerid][pRank] <= pInfo[params[0]][pRank]) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете повысить/понизить этого игрока"); if(pInfo[playerid][pRank] == 9 && params[1] > 8) return SendClientMessage(playerid,COLOR_RED,"Нельзя выдать ранг больше 8"); if(params[1] > 9) return SendClientMessage(playerid,COLOR_GREY,"Нельзя повысть до этого ранга"); if(pInfo[params[0]][pMember] != pInfo[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, "Игрок находиться в другой организации!"); new string[450]; format(string,100,"Лидер %s %s до %d ранга",GetName(playerid),pInfo[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),params[1]); SendClientMessage(params[0],COLOR_LIGHTBLUE,string); format(string,100,"Вы %sи игрока %s до %d ранга",pInfo[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),GetName(params[0]),params[1]); SendClientMessage(playerid,COLOR_LIGHTBLUE,string); pInfo[params[0]][pRank] = params[1]; MysqlUpdatePlayerInt(params[0], "rank", pInfo[params[0]][pRank]); if(pInfo[params[0]][pSex] == 2) { if(TeamDuty[params[0]]) { SetPlayerSkinEx(params[0],GOrgSkins[GetTeamID(params[0])][params[1]]); TogglePlayerControllable(params[0],true); } } else { if(TeamDuty[params[0]]) { SetPlayerSkinEx(params[0],MOrgSkins[GetTeamID(params[0])][params[1]]); TogglePlayerControllable(params[0],true); } } return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
#meow 64 Опубликовано 17 марта, 2019 В чем проблема сделать проверку на ранг игрока if(pInfo[playerid][pRank] < 9) return SendClientMessage(playerid, -1, "У вас нет доступа к этой команде!"); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты