Как сделать чтобы при отправке команды писался сперва один текст потом спустя время второй и так же спустя время третий в 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
Пожалей жопу чат жопы, поработай за него