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.
Если что то не понятно или не получается, задавайте вопросы, мы Вам поможем!
|
|
|
|