MrFe1iks
Умник
Здравствуйте уважаемые юзеры портала Pawno-Info.Ru.
Сегодня,я бы хотел выложить на портал "Анти Non-RP ник" созданный мною для RP сервера.
И так,начнем:
[HR][/HR]Сегодня,я бы хотел выложить на портал "Анти Non-RP ник" созданный мною для RP сервера.
И так,начнем:
В конец паблика OnPlayerConnect:
PHP:
StopNonNick(playerid);
В конец мода:
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;
}
Если у вас проблемы то обращаемся к концу темы.
Вот и все,теперь на ваш сервер не зайдет не один человек с нонРП ником. Кстати,это даже можно назвать "защитой",например если в команде используется ник 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
Последнее редактирование:
