Как я могу таймеру передать данные параметры
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) : void{
$this->remParticle();
}), 20 * 1);
[$text, $event->getPlayer()->getLevel()]
public function remParticle(FloatingTextParticle $particle, Level $level){
$particle->setInvisible();
$level->addParticle($particle);
}
Причём тут это у данного ядра другая система таймеров
Учи пхп
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($particle, $level): void{
$this->remParticle($particle, $level);
}), 20 * 1);
1 лайк
Мм эксперт не работает думаешь я не проверял
erver thread/CRITICAL]: ErrorException: "Undefined variable $particle" (EXCEPTION) in "plugins/MoneyCase/src/MoneyCase/Main" at line 155
[22:52:02] [Server thread/CRITICAL]: #0 plugins/MoneyCase/src/MoneyCase/Main(155): pocketmine\utils\Utils::errorExceptionHandler(integer 2, string[28] Undefined variable $particle, string[79] C:\Users\VM\Desktop\srv\LiteCore_1.1.5\plugins\MoneyCase\src\MoneyCase\Main.php, integer 155)
[22:52:02] [Server thread/CRITICAL]: #1 plugins/MoneyCase/src/MoneyCase/Main(133): MoneyCase\Main->onTimer(object pocketmine\event\player\PlayerInteractEvent)
[22:52:02] [Server thread/CRITICAL]: #2 pmsrc/src/pocketmine/plugin/MethodEventExecutor(45): MoneyCase\Main->onOpen(object pocketmine\event\player\PlayerInteractEvent)
[22:52:02] [Server thread/CRITICAL]: #3 pmsrc/src/pocketmine/plugin/RegisteredListener(96): pocketmine\plugin\MethodEventExecutor->execute(object MoneyCase\Main, object pocketmine\event\player\PlayerInteractEvent)
[22:52:02] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/plugin/PluginManager(704): pocketmine\plugin\RegisteredListener->callEvent(object pocketmine\event\player\PlayerInteractEvent)
[22:52:02] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/level/Level(2011): pocketmine\plugin\PluginManager->callEvent(object pocketmine\event\player\PlayerInteractEvent)
[22:52:02] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/Player(2772): pocketmine\level\Level->useItemOn(object pocketmine\math\Vector3, object pocketmine\item\ItemBlock, integer 2, double 0.775, double 0.62, double 0.025, object pocketmine\Player)
[22:52:02] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/network/Network(307): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\UseItemPacket)
[22:52:02] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/Player(2491): pocketmine\network\Network->processBatch(object pocketmine\network\mcpe\protocol\BatchPacket, object pocketmine\Player)
[22:52:02] [Server thread/CRITICAL]: #9 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(184): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
[22:52:02] [Server thread/CRITICAL]: #10 pmsrc/src/raklib/server/ServerHandler(99): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[15] 127.0.0.1 64040, object raklib\protocol\EncapsulatedPacket, integer 0)
[22:52:02] [Server thread/CRITICAL]: #11 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(114): raklib\server\ServerHandler->handlePacket()
[22:52:02] [Server thread/CRITICAL]: #12 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(104): pocketmine\network\mcpe\RakLibInterface->process()
[22:52:02] [Server thread/CRITICAL]: #13 pmsrc/src/pocketmine/snooze/SleeperHandler(123): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe\{closure}()
[22:52:02] [Server thread/CRITICAL]: #14 pmsrc/src/pocketmine/snooze/SleeperHandler(82): pocketmine\snooze\SleeperHandler->processNotifications()
[22:52:02] [Server thread/CRITICAL]: #15 pmsrc/src/pocketmine/Server(2566): pocketmine\snooze\SleeperHandler->sleepUntil(double 1670946722.7776)
[22:52:02] [Server thread/CRITICAL]: #16 pmsrc/src/pocketmine/Server(2415): pocketmine\Server->tickProcessor()
[22:52:02] [Server thread/CRITICAL]: #17 pmsrc/src/pocketmine/Server(1986): pocketmine\Server->start()
[22:52:02] [Server thread/CRITICAL]: #18 pmsrc/src/pocketmine/PocketMine(342): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[39] C:\Users\VM\Desktop\srv\LiteCore_1.1.5\, string[47] C:\Users\VM\Desktop\srv\LiteCore_1.1.5\plugins\)
[22:52:02] [Server thread/INFO]: Zoca9945 вышел из игры
[22:52:02] [Server thread/INFO]: Zoca9945[/127.0.0.1:64040] отключился: Internal server error
[22:52:02] [RakLibServer thread/NOTICE]: Blocked 127.0.0.1 for 5 seconds
[22:52:03] [Server thread/CRITICAL]: ArgumentCountError: "Too few arguments to function MoneyCase\Main::onTimer(), 0 passed in C:\Users\VM\Desktop\srv\LiteCore_1.1.5\plugins\MoneyCase\src\MoneyCase\Main.php on line 147 and at least 1 expected" (EXCEPTION) in "plugins/MoneyCase/src/MoneyCase/Main" at line 142
[22:52:03] [Server thread/CRITICAL]: #0 plugins/MoneyCase/src/MoneyCase/Main(147): MoneyCase\Main->onTimer()
[22:52:03] [Server thread/CRITICAL]: #1 pmsrc/src/pocketmine/scheduler/ClosureTask(58): MoneyCase\Main->MoneyCase\{closure}(integer 168)
[22:52:03] [Server thread/CRITICAL]: #2 pmsrc/src/pocketmine/scheduler/TaskHandler(142): pocketmine\scheduler\ClosureTask->onRun(integer 168)
[22:52:03] [Server thread/CRITICAL]: #3 pmsrc/src/pocketmine/scheduler/TaskScheduler(195): pocketmine\scheduler\TaskHandler->run(integer 168)
[22:52:03] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/plugin/PluginManager(673): pocketmine\scheduler\TaskScheduler->mainThreadHeartbeat(integer 168)
[22:52:03] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/Server(2807): pocketmine\plugin\PluginManager->tickSchedulers(integer 168)
[22:52:03] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/Server(2563): pocketmine\Server->tick()
[22:52:03] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/Server(2415): pocketmine\Server->tickProcessor()
[22:52:03] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/Server(1986): pocketmine\Server->start()
[22:52:03] [Server thread/CRITICAL]: #9 pmsrc/src/pocketmine/PocketMine(342): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[39] C:\Users\VM\Desktop\srv\LiteCore_1.1.5\, string[47] C:\Users\VM\Desktop\srv\LiteCore_1.1.5\plugins\)
[22:52:03] [Server thread/EMERGENCY]: Произошла фатальная ошибка и сервер вышел из строя. Создание аварийного дампа
[22:52:03] [Server thread/EMERGENCY]: Пожалуйста, загрузите файл"C:\Users\VM\Desktop\srv\LiteCore_1.1.5\crashdumps/CrashDump_Tue_Dec_13-22.52.03-WIB_2022.log" в краш-архив и отправьте ссылку на страницу исправления ошибок. Дайте как можно больше информации.
[22:52:03] [Server thread/INFO]: Выгрузка мира "world"
[22:52:03] [Server thread/INFO]: Выгрузка мира "nether"
[22:52:03] [Server thread/INFO]: Выгрузка мира "ender"
Exception: the user is stupid
1 лайк
Какая нахуй другая система таймеров, это обычная анонимная функция в пхп
public function onTimer($event, $sec = 5){
if($sec == 5){
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($event): void{
$this->onTimer($event);
}), 20 * 1);
$pos = $this->chest;
$particle = new FloatingTextParticle(new Vector3($pos->x + 0.5, $pos->y + 1, $pos->z + 0.5), null, "§e* §7* * * *");
$this->getServer()->getDefaultLevel()->addParticle($particle);
$event->getPlayer()->getLevel()->addSound(new FizzSound($event->getPlayer()));
$level = $event->getPlayer()->getLevel();
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($particle, $level): void{
$this->remParticle($particle, $level);
}), 20 * 1);
}
if($sec == 4){
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($event): void{
$this->onTimer($event);
}), 20 * 1);
$pos = $this->chest;
$text = new FloatingTextParticle(new Vector3($pos->x + 0.5, $pos->y + 1, $pos->z + 0.5), null, "§7* §e* §7* * *");
$this->getServer()->getDefaultLevel()->addParticle($text);
$event->getPlayer()->getLevel()->addSound(new FizzSound($event->getPlayer()));
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($particle, $level): void{
$this->remParticle($particle, $level);
}), 20 * 1);
}
if($sec == 3){
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($event): void{
$this->onTimer($event);
}), 20 * 1);
$pos = $this->chest;
$text = new FloatingTextParticle(new Vector3($pos->x + 0.5, $pos->y + 1, $pos->z + 0.5), null, "§7* * §e* §7* *");
$this->getServer()->getDefaultLevel()->addParticle($text);
$event->getPlayer()->getLevel()->addSound(new FizzSound($event->getPlayer()));
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($particle, $level): void{
$this->remParticle($particle, $level);
}), 20 * 1);
}
if($sec == 2){
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($event): void{
$this->onTimer($event);
}), 20 * 1);
$pos = $this->chest;
$text = new FloatingTextParticle(new Vector3($pos->x + 0.5, $pos->y + 1, $pos->z + 0.5), null, "§7* * * §e* §7*");
$this->getServer()->getDefaultLevel()->addParticle($text);
$event->getPlayer()->getLevel()->addSound(new FizzSound($event->getPlayer()));
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($particle, $level): void{
$this->remParticle($particle, $level);
}), 20 * 1);
}
if($sec == 1){
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($event): void{
$this->onTimer($event);
}), 20 * 1);
$pos = $this->chest;
$text = new FloatingTextParticle(new Vector3($pos->x + 0.5, $pos->y + 1, $pos->z + 0.5), null, "§7* * * * §e*");
$this->getServer()->getDefaultLevel()->addParticle($text);
$event->getPlayer()->getLevel()->addSound(new FizzSound($event->getPlayer()));
$this->getScheduler()->scheduleDelayedTask(new ClosureTask(function(int $currentTick) use($particle, $level): void{
$this->remParticle($particle, $level);
}), 20 * 1);
}
if($sec == 0){
$this->onCaseOpen();
$this->onGive($event);
}
}
Таймер не меняется он зациклился
Бля ебаный кодер, как ты умудрился то сайт написать. Ах да наверное спиздил