Доступ к архиву

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

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

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

Проверка на Нонрп ник

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

Enriko

Умник
Многие в соседней теме просили автора сделать проверку на символы и т.д.. автор так и не смог :cg:, так что вот :)


Держите, кто что просил.

public OnPlayerConnect(playerid)
{
if(!NonRpName(playerid))
{
SendClientMessage(playerid, COLOR_WHITE, "Ваш ник не подходит для нашего сервера , пример: Имя_Фамилия ");
Kick(playerid);
return true;
}
return true;
}
stock NonRpName(playerid)
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, MAX_PLAYER_NAME);
for(new i = 0; i < strlen(plname); i++)
{
if(!((plname>='a'&&plname<='z') || (plname>='A'&&plname<='Z') || plname=='_'))
{
return false; // недопустимые символы в нике
}
}
new d = strfind(plname, "_");
if( d == -1 ) return false; // нет _ в нике
if(strfind(plname, "_", false, d+1) != -1) return false; // больше одного _ в нике
new name[10];
strmid(name, plname, 0, d, sizeof name);
new surname[10];
strmid(surname, plname, d+1, strlen(plname), sizeof surname);
if(strlen(name) < 3 || strlen(name) > 9) return false; // неверная длина имени
if(strlen(surname) <3 || strlen(surname) > 9) return false; // неверная длина фамилии
if(!(name[0]>='A' && name[0]<='Z')) return false; // первая буква имени не заглавная
if(!(surname[0]>='A' && surname[0]<='Z')) return false; // первая буква фамилии не заглавная
for(new i=1;i<strlen(name);i++)
{
if(!(name>='a'&&name<='z')) return false; // неверные буквы в имени
}
for(new i=1;i<strlen(surname);i++)
{
if(!(surname>='a'&&surname<='z')) return false; // неверные буквы в фамилии
}
return true;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу