Хххеееелпппп :)

Как убрать возможность использоаание ника ниже 4 букв/цифр

В DataPacketReceiveEvent проверять длину ника, отправленного игроком в LoginPacket

1 лайк

У меня готовый плагин есть могу дать
Запрещает заходить на сервер если у игрока больше 9 символов ник
Плагин нужен только тем у кого в табе или по вашему в меню игры
Вылезет текст если у игрока большой ник

public function onPreLogin(PlayerPreLoginEvent $e){
    $nick = strlen($e->getPlayer()->getName());
    if($nick < 4){ //Вместо 4 твое число
        $e->setCancelled(true);
        $e->getPlayer()->close("", "Твоё сообщение кика");
    }
}
1 лайк

Вместо

$e->getPlayer()->close("", "Твоё сообщение кика");

следует использовать

$e->setKickReason(PlayerPreLoginEvent::KICK_REASON_PLUGIN, "Твоё сообщение кика");
2 лайка

тогда уж объясни почему

Потому что функционал кика предусмотрен в этом событии. Будет неправильно кикать игрока вручную. В некоторых случаях это может даже вызвать ошибки

ну это да.

а вообще, он ведь изначально не кикал игрока, а закрывал сессию же?

В PM4 функции close() в классе игрока нет вовсе. Соответственно, игрока просто кикнет с причиной “Player destroyed”.

В PM3 игроку отправится DisconnectPacket (PocketMine-MP/Player.php at f33c19e77a87c33ba6818f02eedf9b1ef55ffeef · pmmp/PocketMine-MP · GitHub), а затем его сессия будет уничтожена.

В PM3 отличие между kick() и close() только в том, что kick() перед киком вызывает PlayerKickEvent, который может быть отменён плагином.

1 лайк

сорри не видел что отвечали)

Смысл? В майнкрафте лимит 14-16 стоит

Сообщения capybara → Как начать думать помогите

Иди нахуй далбаеб

Эта тема была автоматически закрыта через 12 часов после последнего ответа. В ней больше нельзя отвечать.