[PMMP 4] Hunterzz

— Название: Hunterzz | Версия: 1.18 | PMMP 4
— Статус: Не слито
— Режим: Гриферство/Выживание/Анархия
— Платформа: Minecraft Bedrock Edition

:open_book: Описание: При установке данного плагина каждый час на сервере происходит охота на игрока, игрок должен продержаться час чтобы его не убили, если убьют — охотник получит 20 алмазов, если игрок выживет — получает 20 алмазов!

Hunterzz.zip (2,0 КБ)

1 лайк

Игрок телепортировался на спавн

Не понял

Koгдa решил поcмотреть код

Koд
<?php


namespace Wanted;

use pocketmine\player\Player;
use pocketmine\Plugin\PluginBase;
use pocketmine\Server;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\utils\Config;
use pocketmine\utils\TextFormat;
use pocketmine\scheduler\Task;
use pocketmine\item\Item;
use pocketmine\entity\Effect;
use pocketmine\entity\EffectInstance;

class Base extends PluginBase implements Listener{
    
    public function onEnable(): void {

        $this->getServer()->getPluginManager()->registerEvents($this, $this);
        //Начать задание охоты
        $this->getScheduler()->scheduleRepeatingTask(new HuntingTask($this), 72000); //Выполнять каждые 1 час (20 тиков * 3600 секунд)
    }
    
    public function onHuntStart(Player $player){
        //Применить эффект скорости к игроку
        $player->addEffect(new EffectInstance(Effect::getEffect(Effect::SPEED), 72000, 0, false)); //Продолжительность: 1 час (20 тиков * 3600 секунд)
        //Выделение игрока
        $player->setNameTag(TextFormat::RED . $player->getName()); //Сделать тег имени игрока красным
        $player->sendMessage(TextFormat::YELLOW . "[SpacePlugins] Теперь за тобой охотятся! Продержитесь 1 час, чтобы получить в награду 20 алмазов.");
    }
    
    public function onHuntEnd(Player $hunter, Player $hunted){
        //Убрать эффект скорости с преследуемого игрока
        $hunted->removeEffect(Effect::SPEED);
        //Убрать выделение с преследуемого игрока
        $hunted->setNameTag($hunted->getName()); //Reset the player's name tag
        // награда охотнику
        $hunter->getInventory()->addItem(Item::get(Item::DIAMOND, 0, 20));
        $hunter->sendMessage(TextFormat::GREEN . "[SpacePlugins] Вы успешно охотились на " . $hunted->getName() . " и получили награду в 20 алмазов");
    }
}

class HuntingTask extends Task{

    private $plugin;

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

    public function onRun(): void {
        $players = $this->plugin->getServer()->getOnlinePlayers();
        if(count($players) > 1){
            //Выбор случайного игрока для охоты
            $hunted = $players[array_rand($players)];
            //Уведомить всех игроков о преследуемом игроке
            $message = TextFormat::YELLOW . $hunted->getName() . " сейчас идет охота! Убейте его, чтобы получить награду в 20 алмазов!";
            $this->plugin->getServer()->broadcastMessage($message);
            //Начать охоту на выбранного игрока
            $this->plugin->onHuntStart($hunted);
            //Планирование окончания охоты
            $this->plugin->getScheduler()->scheduleDelayedTask(new HuntingEndTask($this->plugin, $hunted), 72000); //Выполнение каждый 1 час (20 тиков * 3600 секунд)
        }
    }
}


1 лайк

На спавне нельзя убить игрока

Бля, не сделал это

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

А если жертва хочет выйти из игры

плагин сырой, нет многих проверок, т.д

Типа игрок зашёл на 10 минутак на сервер, собрать например с фермы еду и посадить новую, в этот момент рандом выбирает его жертвой. Мало того что игрок в регионе своем может быть. Так ещё он просто выйдет и сервер упадет

Запрещать выход из игры хуевая идея скажем так

И не понял, а где

HuntingEndTask

Yes

Плагин не рабочий вообще

1 лайк

Ясно

Хароши плугин ты чо

Куок лайкнул, космически вахуи

он почти всех лайкает, так что не удивляйся

1 лайк

редкость получить лайк от их:

@RWNET
@CheyZz

Они редко на форуме)

Не твой уровень
@qq_BCEM ← Тут больше всего лайков от Qyok