• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Как сделать так, чтобы админ уровня ниже не мог забанить админа уровня выше?

Статус
В этой теме нельзя размещать новые ответы.

BlackSTOP

Начинающий
Пользователь
Регистрация
14 Фев 2019
Сообщения
77
Лучшие ответы
1
Репутация
0
Сам код

PHP:
CMD:ban(playerid, params[])
{
	if(PlayerInfo[playerid][pAdmin] < 5)return false;
	if(ADuty[playerid]!=228) return SendClientMessage(playerid,COLOR_GREY,NO_DUTY_TEXT);
	if(GetPVarInt(playerid,"ban")>gettime())
	{
		SendClientMessage(playerid,COLOR_RED,"Можно раз в 10 секунд!");
		SetPVarInt(playerid,"bann",gettime()+3);
		return false;
	}
	new id, string[150], days, reason[200];
	if(sscanf(params,"uds[150]", id, days, reason)) return SendClientMessage(playerid, COLOR_RED, "Используй: /ban [id] [days 1-30] [Причина]");
 	if(GetString(PN(id),"Jack_Sweecher") || GetString(PN(id),"Jack_Sweecher") || GetString(PN(id),"Jack_Sweecher") || GetString(PN(id),"Jack_Sweecher"))
    return false;
	if(!IsPlayerLogged[id])return false;
	if(PlayerInfo[id][pLeader]==6)return SendClientMessage(playerid, COLOR_RED, "Через /apanel!");
	if(PlayerInfo[playerid][pAdmin]<PlayerInfo[id][pAdmin]) PlayerInfo[playerid][pAdmin]=0;
	if(id == playerid) return SendClientMessage(playerid,COLOR_LIGHTRED,"[Ошибка] {FFFFFF}Нельзя банить самого себя!");
	if(strlen(reason)>30) return SendClientMessage(playerid,COLOR_RED,"Не больше 30 символов!");
	if(!GetString(PN(playerid),"Jack_Sweecher") )
    {
		if(!IsASuccesIP(PlayerRegIP[playerid], PlayerIp[playerid])  && PlayerInfo[playerid][pAdmin]<11)
		{
			SendClientMessage(playerid,0xBE2D2DFF,"Наблюдается попытка взлома!");
			format(string,sizeof(string),"%s подозревается во взломе, проверьте его и авторизируйте /acceptadmin [6 lvl]",PN(playerid));
			SendAdminsMessage(0xBE2D2DFF,string);
			return false;
	 	}
	}
	if(IsAIP(reason))return 1;
	if(IsADomen(reason)  && PlayerInfo[playerid][pAdmin]<6)
	{
		format(string,sizeof(string),"[WARNING] %s[%d] подозревается в попытке слива! Причина: %s",PN(playerid),playerid, reason);
		SendAdminsMessage(0xBE2D2D,string);
		SendClientMessage(playerid,COLOR_RED,"В таких сообщениях запрещается использовать английские символы");
		SendClientMessage(playerid,COLOR_RED,"Не повторяйте это действие во избежание наказания.");
		return false;
	}
	if(days>30 || 1>days) return SendClientMessage(playerid, COLOR_RED, "Используй: /ban [id] [days 1-30] [Причина]");
	format(string,sizeof(string),"Администратор %s[%d] забанил игрока %s[%d] на %d дней. Причина: %s",PN(playerid),playerid,PN(id),id, days, reason);
	AsendClientMessageToAll(COLOR_RED,string);
	ShowPlayerDialogEx(id,0,0,"","Вы получили бан аккаунта, если вы не согласны с решением Администратора, то напишите жалобу на
форум.\n{2D8E35}"FORUMSERV"","Закрыть","");
	PlayerInfo[id][pWarns]=0;
	J_Kick(id);
	BanName(PN(id), PN(playerid), days, reason);
	SetPVarInt(playerid,"ban",gettime()+10);
	return true;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу