Форум Pawn.Wiki - Воплоти мечту в реальность!: Запрещенные определенных ник-неймов - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Запрещенные определенных ник-неймов
Оценка: -----

#1
Пользователь офлайн   joper 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Привет! Сделал систему запрета определенного ник-нейма при коннекте в игру, предложите что можно улучшить в коде
Начало мода:
new const invalidNames[][] = {
    "admin",
    "moder",
    "server",
    "god"
};

В OnPlayerConnect
public OnPlayerConnect(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));

    for (new i = 0; i < sizeof(invalidNames); i++)
    {
        if (strfind(name, invalidNames[i], true) != -1)
        {
            SendClientMessage(playerid, 0xFF0000FF, "Этот ник запрещен на сервере!");
            Kick(playerid);
            return 1;
        }
    }
    return 1;
}

GL

Сообщение отредактировал joper: 27 апреля 2025 - 21:13

0

#2
Пользователь офлайн   M I S T E V 

  • Вставить ник
  • Раскрыть информацию
1. strfind -> strcmp

2. Вместо массива, делаешь запрос в бд, если результат есть - кик

3. Игрок не увидит сообщение, потому что сначала будет кикнут
0

#3
Пользователь офлайн   joper 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Исправленный OnPlayerConnect
public OnPlayerConnect(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));

    for (new i = 0; i < sizeof(invalidNames); i++)
    {
        if (!strcmp(name, invalidNames[i], true))
        {
            SendClientMessage(playerid, 0xFF0000FF, "Этот ник запрещен на сервере!");
            SetTimerEx("KickPlayer", 500, false, "i", playerid);
            return 1;
        }
    }
    return 1;
}
forward KickPlayer(playerid);
public KickPlayer(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        Kick(playerid);
    }
}

0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика