Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Анти Non-RP ник

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

MrFe1iks

Умник
Здравствуйте уважаемые юзеры портала Pawno-Info.Ru.
Сегодня,я бы хотел выложить на портал "Анти Non-RP ник" созданный мною для RP сервера.
И так,начнем:
​
[HR][/HR]
В конец паблика OnPlayerConnect:
PHP:
StopNonNick(playerid);
[HR][/HR]
В конец мода:
PHP:
stock StopNonNick(playerid)
{
	new palka = 0;
	new BUKVA = 0;
	if((PlayerInfo[playerid][pNames][0] > 'a' && PlayerInfo[playerid][pNames][0] < 'z') || strfind(PlayerInfo[playerid][pNames],"_",true,1) == -1)
	{
		SCM(playerid,COLOR_LIGHTRED,"Вы были кикнуты сервером. Ваш ник не соответствует РП режиму.");
		SCM(playerid,COLOR_LIGHTRED,"Пример РП никнейма: Nick_Name");
		SCM(playerid,COLOR_LIGHTRED,"{32CD32}Подсказка: Нету символа '_' или первая буква не заглавная.");
		KickEx(playerid);
		return true;
	}
	for (new i; i < strlen(PlayerInfo[playerid][pNames]); i++)
	{
		switch(PlayerInfo[playerid][pNames][i])
		{
		case '_':
			{
				palka++;
				if(palka > 1)
				{
					SCM(playerid,COLOR_RED,"Вы были кикнуты сервером. Ваш ник не соответствует РП режиму.");
					SCM(playerid,COLOR_RED,"Пример РП никнейма: Nick_Name");
					SCM(playerid,COLOR_RED,"{32CD32}Подсказка: Несколько символов '_' в нике.");
					KickEx(playerid);
					break;
				}
				switch(PlayerInfo[playerid][pNames][i+1])
				{
				case 'a'..'z':
					{
						SCM(playerid,COLOR_RED,"Вы были кикнуты сервером. Ваш ник не соответствует РП режиму.");
						SCM(playerid,COLOR_RED,"Пример РП никнейма: Nick_Name");
						SCM(playerid,COLOR_RED,"{32CD32}Подсказка: Фамилия с маленькой буквы.");
						KickEx(playerid);
						break;
					}
				}
			}
		case 'A'..'Z':
			{
				BUKVA++;
				if(BUKVA > 2)
				{
					SCM(playerid,COLOR_RED,"Вы были кикнуты сервером. Ваш ник не соответствует РП режиму.");
					SCM(playerid,COLOR_RED,"Пример РП никнейма: Nick_Name");
					SCM(playerid,COLOR_RED,"{32CD32}Подсказка: Слишком много больших букв.");
					KickEx(playerid);
					break;
				}
			}
		case '[',']','{','}','$','#','№','"','@','!',';','%','^',':','?','&','*','(',')','=','+','<','>':
			{
				SCM(playerid,COLOR_RED,"Вы были кикнуты сервером.");
				SCM(playerid,COLOR_RED,"В вашем нике найдены запрещенные символы.");
				KickEx(playerid);
				break;
			}
		case '0'..'9':
			{
				SCM(playerid,COLOR_RED,"Вы были кикнуты сервером.");
				SCM(playerid,COLOR_RED,"В вашем нике найдены символы цифр, пожалуйста смените ник.");
				KickEx(playerid);
				break;
			}
		}
	}
	return 1;
}
[HR][/HR]

Если у вас проблемы то обращаемся к концу темы.
Вот и все,теперь на ваш сервер не зайдет не один человек с нонРП ником. Кстати,это даже можно назвать "защитой",например если в команде используется ник Feliks_Macalister то человек может зайти с Feliks_MacalisTER и выдать себе права которые пренадлежат Feliks_Macalister.
На этом все,ставим "+" кто не сосиска :al:

[HR][/HR]
Если у вас выдает ошибку на строчку KickEx(playerid); то в конец мода вставляем:
PHP:
stock KickEx(playerid) return SetTimerEx("PlayerKick",25,false,"d", playerid);
publics: PlayerKick(playerid)
{
	PlayerPlaySound(playerid, 6001, 0.0, 0.0, 0.0);
	Kick(playerid);
	return true;
}
Если у вас выдает ошибку на строчку с SCM то ко всем #define(макросам) вставляем:
PHP:
#define SCM SendClientMessage
Если у вас выдает ошибку на строчку с COLOR'ами то ко всем #define(макросам) вставляем:
PHP:
#define COLOR_RED 0xAA3333AA
#define COLOR_LIGHTRED 0xFF6347AA
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу