Проверка на РП ник. Анти нон РП НИК - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Проверка на РП ник. Анти нон РП НИК
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.

Если что то не понятно или не получается, задавайте вопросы, мы Вам поможем!


 
  • Страница 1 из 1
  • 1
Поиск: