Помогите с ошибкой плзз

Crash Dump Sun Dec 24 07:51:06 MSK 2023

Error: Declaration of RandomText\RandomTextTask::onRun(int $currentTick): void must be compatible with pocketmine\scheduler\Task::onRun($currentTick)
File: plugins/RandomText/src/RandomText/Main
Line: 17
Type: E_COMPILE_ERROR

THIS CRASH WAS CAUSED BY A PLUGIN

Code:
[8] use pocketmine\scheduler\Task;
[9]
[10] class Main extends PluginBase {
[11]
[12] public function onEnable(): void {
[13] $this->getScheduler()->scheduleRepeatingTask(new RandomTextTask($this), 20);
[14] }
[15] }
[16]
[17] class RandomTextTask extends Task {
[18]
[19] private $plugin;
[20]
[21] public function __construct(Main $plugin) {
[22] $this->plugin = $plugin;
[23] }
[24]
[25] public function onRun(int $currentTick) : void {
[26] $chislo = mt_rand(80000000, 190000000); // Генерируем случайное число в заданном диапазоне
[27]

Убери

1 лайк

убери

1 лайк

Убери

1 лайк

[Lc/CRITICAL]: Error: “Call to undefined method Rand
omText\Main::getScheduler()” (EXCEPTION) in “plugins/RandomText/src/R
andomText/Main” at line 13
[11:30:33] [lc/CRITICAL]: #0 pmsrc/src/pocketmine/plugin/Plugin
Base(86): RandomText\Main->onEnable()
[11:30:33] [6epkytob/CRITICAL]: #1 pmsrc/src/pocketmine/plugin/Folder
PluginLoader(135): pocketmine\plugin\PluginBase->setEnabled(boolean 1
)
[11:30:33] [lc]: #2 pmsrc/src/pocketmine/plugin/Plugin
Manager(625): pocketmine\plugin\FolderPluginLoader->enablePlugin(obje
ct RandomText\Main)
[11:30:33] [lc/CRITICAL]: #3 pmsrc/src/pocketmine/Server(2243):
pocketmine\plugin\PluginManager->enablePlugin(object RandomText\Main
)
[11:30:33] [lc]: #4 pmsrc/src/pocketmine/Server(2229):
pocketmine\Server->enablePlugin(object RandomText\Main)
[11:30:33] [6epkytob/CRITICAL]: #5 pmsrc/src/pocketmine/Server(2010):
pocketmine\Server->enablePlugins(integer 1)
[11:30:33] [6epkytob/CRITICAL]: #6 pmsrc/src/pocketmine/PocketMine(33
7): pocketmine\Server->__construct(object BaseClassLoader, object poc
ketmine\utils\MainLogger, string[11] /root/serv/, string[19] /root/se
rv/plugins/)

use pocketmine\scheduler\CallbackTask;
use pocketmine\Player;

$player = 
$callback = function(int $currentTick) use ($player) {
    $player->sendMessage("steelnext!");
};

$task = new CallbackTask($callback);
$taskHandler = $this->getScheduler()->scheduleDelayedTask($task, 20);
//если LiteCore, то допиши: getServer()->getScheduler()->

Плагин написан не для твоего ядра

себя убери, тут он не причем

function onRun($currentTicks): void {
$this->getServer()->getScheduler()...

Надеюсь поймешь

1 лайк
 use pocketmine\scheduler\Task;

 class Main extends PluginBase {

 public function onEnable() {
 $this->getServer()->getScheduler()->scheduleRepeatingTask(new RandomTextTask($this), 20);
}
}

class RandomTextTask extends Task {

private $plugin;

public function __construct(Main $plugin) {
 $this->plugin = $plugin;
}

public function onRun($currentTick) {
$chislo = mt_rand(80000000, 190000000); // Генерируем случайное число в заданном диапазоне

Он был написан под фрозенкор.
На ФК вроде перед getScheduler не надо писать не сервер, а на лайте надо

Ну я ж сказал что сейчас не было возможности проверить, я бы исправил вечером

Эта тема была автоматически закрыта через 12 часов после последнего ответа. В ней больше нельзя отвечать.