[VOR]jarvismaster
Ученик
Доброго всем времени суток.
Недавно экспериментировал со сменами ников во время написания регистрации.
И, пользуясь для удобства Cleo Reconnect, заметил, что после рестарта меня кикнуло за несуществующий ник. (на моем сервере регистрация строго на сайте, при заходе с несуществующим ником - кик).
И в чем же собственно защита?
Недавно экспериментировал со сменами ников во время написания регистрации.
И, пользуясь для удобства Cleo Reconnect, заметил, что после рестарта меня кикнуло за несуществующий ник. (на моем сервере регистрация строго на сайте, при заходе с несуществующим ником - кик).
И в чем же собственно защита?
Перед тем, как кикнуть игрока просто смените его никнейм:
PHP:
SetPlayerName(playerid, "reconnecter");
PHP:
#define Kick(%0) SetPlayerName(%0, "reconnecter");Kick(%0);
Теперь в OnPlayerConnect
PHP:
public OnPlayerConnect(playerid)
{
new player_name[MAX_PLAYER_NAME];
GetPlayerName(playerid, player_name, sizeof(player_name));
if(strcmp(player_name, "reconnecter", true) == 0)
{
SendClientMessage(playerid, 0xFF0000FF, "Вы были кикнуты за использование Reconnect!");
return Kick(playerid);
}
//ваш код
return 1;
}
Однако данная защита имеет минус - если игрок попытается переподключиться, не будучи кикнутым, то на него не подействует эта защита, даже если сменить его никнейм в OnPlayerDisconnect.
Я проверял - сервер не успевает сменить ник игроку.
Надеюсь, что помог.Я проверял - сервер не успевает сменить ник игроку.
Последнее редактирование модератором:
