|
Admin
|
Дата: Воскресенье, 01.05.2016, 20:26 | Сообщение # 1
|
Гл.Администратор
Группа: Пользователи
Сообщений: 65
Награды: 1
Репутация: 32767
Статус: Offline
|
Проверка на РП ник. Анти нон РП НИК
Вставляем цвета
Код
#define COLOR_RED 0xAA3333AA
#define COLOR_LIGHTRED 0xFF6347AA
Вставляем ENUM. P.S. если у Вас уже есть, не вставляйте, а используйте Ваш.
Код
enum pInfo
{
pNames[24]
};
new PlayerInfo[MAX_PLAYERS][pInfo];
В OnPlayerConnect вставляем
Код
GetPlayerName(playerid, PlayerInfo[playerid][pNames], 24);
StopNonNick(playerid);
И в самом низу вставляем
Код
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)
{
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы были кикнуты сервером. Ваш ник не соответствует РП режиму.");
SendClientMessage(playerid,COLOR_LIGHTRED,"Пример РП никнейма: Nick_Name");
SendClientMessage(playerid,COLOR_LIGHTRED,"{32CD32}Подсказка: Нету символа '_' или первая буква не заглавная.");
Kick(playerid);
return true;
}
for (new i; i < strlen(PlayerInfo[playerid][pNames]); i++)
{
switch(PlayerInfo[playerid][pNames][i])
{
case '_':
{
palka++;
if(palka > 1)
{
SendClientMessage(playerid,COLOR_RED,"Вы были кикнуты сервером. Ваш ник не соответствует РП режиму.");
SendClientMessage(playerid,COLOR_RED,"Пример РП никнейма: Nick_Name");
SendClientMessage(playerid,COLOR_RED,"{32CD32}Подсказка: Несколько символов '_' в нике.");
Kick(playerid);
break;
}
switch(PlayerInfo[playerid][pNames][i+1])
{
case 'a'..'z':
{
SendClientMessage(playerid,COLOR_RED,"Вы были кикнуты сервером. Ваш ник не соответствует РП режиму.");
SendClientMessage(playerid,COLOR_RED,"Пример РП никнейма: Nick_Name");
SendClientMessage(playerid,COLOR_RED,"{32CD32}Подсказка: Фамилия с маленькой буквы.");
Kick(playerid);
break;
}
}
}
case 'A'..'Z':
{
BUKVA++;
if(BUKVA > 2)
{
SendClientMessage(playerid,COLOR_RED,"Вы были кикнуты сервером. Ваш ник не соответствует РП режиму.");
SendClientMessage(playerid,COLOR_RED,"Пример РП никнейма: Nick_Name");
SendClientMessage(playerid,COLOR_RED,"{32CD32}Подсказка: Слишком много больших букв.");
Kick(playerid);
break;
}
}
case '[',']','{','}','$','#','№','"','@','!',';','%','^',':','?','&','*','(',')','=','+','<','>':
{
SendClientMessage(playerid,COLOR_RED,"Вы были кикнуты сервером.");
SendClientMessage(playerid,COLOR_RED,"В вашем нике найдены запрещенные символы.");
Kick(playerid);
break;
}
case '0'..'9':
{
SendClientMessage(playerid,COLOR_RED,"Вы были кикнуты сервером.");
SendClientMessage(playerid,COLOR_RED,"В вашем нике найдены символы цифр, пожалуйста смените ник.");
Kick(playerid);
break;
}
}
}
return 1;
}
}
Вот и всё. Удачи.
P.S.
PlayerInfo [playerid][pNames]- Меняйте на Ваши данные. Можно найти в Enum playerinfo.
Если что то не понятно или не получается, задавайте вопросы, мы Вам поможем!
|
| |
|
|