Помогите с задержками

Как сделать чтобы при отправке команды писался сперва один текст потом спустя время второй и так же спустя время третий в php есть функции такие как sleep() и usleep() и так далее но они работают не так как нужно они останавливают весь код и отправляют потом сразу все сообщения как это сделать в pocketmine 5.8.2?

scheduleDelayedTask

?

    public function onEnable() {
        $this->getScheduler()->scheduleDelayedTask(new SendMessageTask($this, "Первый текст"), 20)
    }
}

class SendMessageTask extends Task {

    private $plugin;
    private $message;

    public function __construct(PluginBase $plugin, string $message) {
        $this->plugin = $plugin;
        $this->message = $message;
    }

    public function onRun(int $currentTick) {
        $this->plugin->getServer()->broadcastMessage($this->message);
    }
}

Классы*

use pocketmine\plugin\PluginBase;
use pocketmine\scheduler\Task;
use pocketmine\Server;

пиздец

нахуя?

импорты

изображение
за этим вопросом лучше не на форуме спрашивать

Ну так это вообще раздельно как это сделать в oncommand чтобы код дальше не работал пока не пройдёт время определённое

А как по твоему это назвать это задержки по сути и это делается в pocketmine раз стандартные функции php по задержкам не работают так как нужно значит правильный форум🗿

И почему пиздец туторов толком нет там хоть весь код понимая прочекай pocketmine api всё равно хер что сделаешь я знаю что можно это как-то через scheduler сделать а как это сделать в oncommand чтобы код дальше который не работал пока не пройдёт определённое время

Особенно как я в прошлых темах говорил что я новичок таких вот банальных вещей не знаю поэтому прошу помощи чтобы потому с этой хернёй справляться сам и не задавать таких вопросов

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

у меня есть команда допустим /test
Я хочу сделать чтобы сообщения отправлялись так
$sender->sendMessage(“1”);
2 секунды задержки
$sender->sendMessage(“2”);
2 секунды задержки
$sender->sendMessage(“3”);
Как мне это в pocketmine сделать

Глазурьный таск

Пммп 5?

    public function onEnable() {
        $this->getServer()->getCommandMap()->register('test', new TestCommand($this));
    }
}

class Zaderjka_v_razvitii extends Command {

    private $plugin;

    public function __construct(YourPlugin $plugin) {
        parent::__construct('test', 'Тест задержки', '/test');
        $this->plugin = $plugin;
    }

    public function execute(CommandSender $sender, string $commandLabel, array $args): bool {
        if ($sender instanceof Player) {
            $this->sendDelayedMessages($sender);
        }
        return true;
    }

    private function sendDelayedMessages(CommandSender $sender): void {
        $messages = ["1", "2", "3"];

        $delay = 40; // 2 секунды = 40 тиков (как ты просил) 

        foreach ($messages as $key => $message) {
            $this->plugin->getScheduler()->scheduleDelayedTask(new ClosureTask(function (int $currentTick) use ($sender, $message) {
                $sender->sendMessage($message);
            }), $delay * ($key + 1));
        }
    }
}

Импорты:

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\PluginBase;
use pocketmine\scheduler\ClosureTask;

бедный чат жопе

use pocketmine\player\Player;

Так у него пммп 5,там вместо use pocketmine\player\Player юзается импорт pocketmine\Player

Пожалей жопу чат жопы, поработай за него