shape1
shape2
shape3
shape4
shape7
shape8

Проверка на RP ник


xipsovich

Новичок
Пользователь
19.07.2014
11
8
0
Всем здравствуйте,

Ко всем public OnPlayerConnect

//
if(!IsRPNick(playerid))
{
SendClientMessage(playerid,0xFF0000FF,"[Сервер]: Извините, но у Вас никнейм, который не подходит формату RP Имени. ");
SendClientMessage(playerid,0xFF0000FF,"[Сервер]: Измените ваш никнейм в клиенте CR:MP на RP имя и попробуйте зайти еще раз.");
SendClientMessage(playerid,0xFF0000FF,"[Сервер]: Если этого сообщение повторно не будет, значит вы ввели все верно!");
SendClientMessage(playerid,0xFF0000FF,"[Подсказка]:Пример RP имени: Ivan_Ivanov.");
Kick(playerid);
return true;
}

Ко всем stock

stock IsRPNick(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;// ok
}

Автор : xipsovich

 
A

Amfy

Гость
Гость
Ты автор? Этот код в паблике по-моему с того времени, как самп появился.