Перейти к содержанию
EgorTresh

Помогите сделать /fpanel

Рекомендуемые сообщения

EgorTresh

Требуется команда /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

В чем проблема сделать проверку на ранг игрока

 if(pInfo[playerid][pRank] < 9) return SendClientMessage(playerid, -1, "У вас нет доступа к этой команде!");

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.