scheaduleRepeatingTask
Ну или так
$time = time();
/*
Какой-то
Очень
Длинный
Код
Который
Выполняется
Долго
*/
$time = time()-$time;
$player->sendMessage("Ты делал что-то аж $time секунд");
@MrHoller как заспавнить предмет в мире, увеличить его размер и чтобы игрок мог его подобрать?
увлечить размер вроде бы нельзя. а так dropItem
а ты что на пм4 перешёл?
Та не, хочу сделать типо кристаллов-усилений как в бравлстарсе
ну, тебе же нужно их заспавнить в мире?
тоесть дропнуть
Да, и увеличить размер. Дропнуть то я знаю как, а вот размер увеличить
Да и думаю это не просто dropIteм, мб с помощью пакета какого-то
навряд ли размер можно изменить, но поищи в пакетах
Жаль, нельзя изменить оказывается
Айтем это ентити, тогда почему нельзя, хмммм
физика мб сломается
а у итема есть свой уникальный ид? будто он выброшен в мире или только создан объект класса?
а ты пробовал типо такого?
$item = //твой айтем
$pk = new SetEntityDataPacket();
$pk->eid = $item->getId();
$pk->metadata = [Entity::DATA_SCALE => [Entity::DATA_TYPE_FLOAT, 5.0]]; //ну или любой другой размер
foreach($this->getServer()->getOnlinePlayers() as $player){
$player->dataPacket($pk);
}
айди есть
на вряд-ли это сработает
нет, я не про айди. а как уникальный ключ. который например можно будет хранить в массиве.
у айтема который как энтити, есть айди в мире, как и у обычной сущности
можно по идеи сделать таким образом уникальный ключ
$item = VanillaItems::DIAMOND();
$this->ids[] = spl_object_id($item);
//например дропнуть
потом в каком-нибудь ивенте подбора итема сделать подобным образом
if (in_array(spl_object_id($item), $this->ids)) {
}
будет работать?
Да ля, я просто в нбт вещи добавлю метку. Мне бы с размером чёт решить