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

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

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

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

Мануал Проверка на NonRP ник

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

TawerGhetto1488

Ученик
Добрый день, уважаемые пользователи PAWNO-INFO.RU
Выкладываю простейшую проверку на NonRP ник для Role Play серверов.
Знаю, что много было подобных мануалов, но может кому то нужно это.
Данная проверка очень интересная тем, что нельзя создавать например такие ники:
kek_Kek, kek_kek, kEk_Kek, Kek_kek_Kek и т.д


Для начала в любое место в моде добавим это:​

PHP:
NonRp(playerid)
{
	new plname[MAX_PLAYER_NAME];
	GetPlayerName(playerid, plname, MAX_PLAYER_NAME);
	if(strfind(plname, "huy", true) != -1 || strfind(plname, "None", true) != -1 || strfind(plname, "chlen", true) != -1 || strfind(plname, "zalypa", true) != -1 || strfind(plname, "zalupa", true) != -1 || strfind(plname, "tawer", true) != -1 || strfind(plname, "eblan", true) != -1 || strfind(plname, "mudak", true) != -1 || strfind(plname, "huesos", true) != -1 || strfind(plname, "pidor", true) != -1) return false;
	new bigsymb = 0,lowsymb = 0;
	switch(plname[0])
	{
		case 'a'..'z': return false;
	}
	for(new i, l = strlen(plname); i != l; i++)
	{
	    switch(plname[i])
		{
			case 'À'..'ß', 'à'..'ÿ', ' ': return false;
			case '_':
			{
				lowsymb++;
				switch(plname[i+1])
				{
				case 'a'..'z': return false;
				}
			}
			case '0'..'9': return false;
			case '[', ']' ,'{','}','$','#','?','"','@','!',';','%','^',':','-','&','*','(',')','=','+','<','>': return false;
			case 'A'..'Z':
			{
				bigsymb++;
				if(bigsymb >= 3) return false;
			}
		}
	}
	if(lowsymb != 1) return false;
	if(strlen(plname) < 5) return false;
	return true;
}

После остается всего ничего и добавляем в public OnPlayerConnect проверку:​

PHP:
    if(!NonRp(playerid))
	{
        ShowPlayerDialog(playerid, любой пустой ид диалога, DIALOG_STYLE_MSGBOX, "Заголовок", "Текст", "клавиша1", "клавиша2");
        Tkick(playerid);
	}
Моя функция Tkick:​

PHP:
#define Tkick(%1) 							SetTimerEx("kick", 1000, false, "i", %1)

publics kick(playerid)
{
	Kick(playerid);
	return true;
}
PHP:
#define publics%0(%1) 						forward%0(%1); public%0(%1)

Думаю, что это кому то, да понадобилось!
Всем спасибо за внимание.​
​
​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу