Разве есть ошибка в коде?

	public function onEnable(){
	}
	    public function onJoin(PlayerJoinEvent $event)
    {
				$p = $event->getPlayer();
                $guardian = new LevelEventPacket();
                $guardian->data = 0;
                $guardian->position = new Vector3($p->getX(), $p->getY(), $p->getZ());
                $guardian->evid = 2006;
                $p->dataPacket($guardian);
    }
}

Код на отображение эффекта Стража при заходе игрока на сервер. В моем случае, по какой-то причине это не работает. Все импорты есть. Что-то не так?

Бесполезный комментарий.

Овоооощь

И да, держу в курсе, жоин евент вызывается после “поиск сервера”, то есть у игрока экран ещё не загружен

Так что ты должен делать это таском. А ещё, в лайткоре в LevelEventPacket нет переменной position, там x, y, z

такого нету

$pk = new LevelEventPacket();
$pk->evid = 2006;
$pk->x = $player->x;
$pk->y = $player->y;
$pk->z = $player->z;
$pk->data = 0;

$player->dataPacket($pk);
2 лайка

Говнокодер

рил, надо getX()

Да, так и надо

Как жаль, что дилданио не знал, что такое инкапсуляция при написании старого пм3

Щас бы жили нормально, а так приходится исправлять его косяки

1 лайк

в пм4 эти переменные вроде тоже публичные

да, дилан дурак что-ли

мдеее… можно просто $p и оставить, или $p->asVector3()

Держу в курсе, asVector3 тоже объект вектора создает

а ну тогда вообще нет смысла его юзать

Но так более лаконичнее, чем получать координаты игрока и создавать объект вектора

это да

дилан для того это и сделал, что бы всё сделать удобнее. но косяков много у него

да есть! Одна вот там, а другая там, и ещё по середине, воооон там!

1 лайк