Нужен плагин на ночное видение

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

1 лайк

Не нашёл, сделал код. Незнаю должно работать. Апишка для 2.0.0

<?php

declare(strict_types=1);

namespace NightVision;

use pocketmine\event\Listener;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\event\player\PlayerRespawnEvent;
use pocketmine\plugin\PluginBase;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\entity\Effect;
use pocketmine\entity\EffectInstance;

class Main extends PluginBase implements Listener{

    private $nv = [];

    public function onEnable(){
        $this->getServer()->getPluginManager()->registerEvents($this, $this);
    }

    public function onJoin(PlayerJoinEvent $event){
        $player = $event->getPlayer();
        if(!isset($this->nv[$player->getName()])){
            $this->nv[$player->getName()] = true;
        }
        if($this->nv[$player->getName()]){
            $effect = new EffectInstance(Effect::getEffect(Effect::NIGHT_VISION), INT32_MAX, 0, false);
            $player->addEffect($effect);
        }
    }

    public function onRespawn(PlayerRespawnEvent $event){
        $player = $event->getPlayer();
        if($this->nv[$player->getName()]){
            $effect = new EffectInstance(Effect::getEffect(Effect::NIGHT_VISION), INT32_MAX, 0, false);
            $player->addEffect($effect);
        }
    }

    public function onCommand(CommandSender $sender, Command $cmd, string $label, array $args) : bool{
        if($cmd->getName() == "fb"){
            if(isset($args[0])){
                if($args[0] == "on"){
                    $this->nv[$sender->getName()] = true;
                    $effect = new EffectInstance(Effect::getEffect(Effect::NIGHT_VISION), INT32_MAX, 0, false);
                    $sender->addEffect($effect);
                    $sender->sendMessage("Ночное виденье включено!");
                }elseif($args[0] == "off"){
                    $this->nv[$sender->getName()] = false;
                    $sender->removeEffect(Effect::NIGHT_VISION);
                    $sender->sendMessage("Ночное виденье отключено!");
                }else{
                    $sender->sendMessage("§cИспользование: /fb <on|off>");
                }
            }else{
                $sender->sendMessage("§cИспользование: /fb <on|off>");
            }
        }
        return true;
    }
}

1 лайк

Не получится. Надо запланировать выдачу как минимум на 1 тик

можете скинуть файлом. а то я в браузере код немогу копировать

не работает. вот дамп
CrashDump_Sun_Jul_2-13.49.48-UTC_2023.log (2,7 КБ)

убери @MaxXxon41k

Error: Declaration of NightVision\Main::onCommand(pocketmine\command\CommandSender $sender, pocketmine\command\Command $cmd, string $label, array $args): bool (Как в коде) must be compatible with pocketmine\plugin\PluginBase::onCommand(pocketmine\command\CommandSender $sender, pocketmine\command\Command $command, $label, array $args) (Как в ядре)

тоже самое

дайте просто рабочий

не юзай генку

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