Как забанить читера

Limbo

Участник
Сообщения
184
Реакции
34
Здравствуйте, все чаше и чаше попадаются читеры у которых ники меняются на игроков с сервера. Через админку не получается его забанить. Так как каждую секунду меняет ники. Подскажите как с этими нехорошими голубыми человечками бороться?
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
сохранять ник игрока при входе в массив по индексу и при смене ника - ставить ему ник тот, с которым он вошел. Да и для таких случаев когда банишь - написан индекс игрока
 

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,064
Реакции
267
sv_namechange_cooldown_seconds
Время в секундах, через которое игрок может менять ник
Сообщения автоматически склеены:

 

Limbo

Участник
Сообщения
184
Реакции
34
сохранять ник игрока при входе в массив по индексу и при смене ника - ставить ему ник тот, с которым он вошел. Да и для таких случаев когда банишь - написан индекс игрока
А можно по подробней пожалуйста
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
А можно по подробней пожалуйста
C-подобный:
char Names[MAXPLAYERS+1][MAX_NAME_LENGTH];
char temp[MAXPLAYERS+1][MAX_NAME_LENGTH];

Handle Timers[MAXPLAYERS+1];

public void OnClientPostAdminCheck(int client)
{
    GetClientName(client, Names[client], sizeof(Names[]));
    Timers[client] = CreateTimer(0.1, Resetter,client, TIMER_REPEAT);
}

public Action Resetter(Handle hTimer, int client)
{
    if(0 < client && IsClientInGame(client) && !IsFakeClient(client))
    {
        GetClientName(client, temp[client], sizeof(temp[]));
        if(StrEqual(temp[client], Names[client])) SetClientName(client, Names[client]);
    }
}

public void OnMapEnd()
{
    for(int i = 0; i <= MaxClients; i++)
        if(Timers[i])
            delete Timers[i];
}
 

Toil

Участник
Сообщения
37
Реакции
20
Разве нельзя через status посмотреть у какого игрока меняется ник и сохраняется userid? 🤔
 
Сверху Снизу