[PMMP3] Плагин - RtpNpc (На челикса который тепает на ртп)

Откуда такая задумка появилась в голове…?

  • Плагин был создан в качестве помощи для пользователя @angelqazaq
  • Но я не запрещаю пользоваться и другим пользователям.

Команды и как создать такого челикса?

  • Чтобы создать такого челикса необходимо прописать команду /setrtpnpc
  • Пермишион к команде можно настроить в самом плагине в файле RtpNpc.php
    image
  • И имя нпс можно изменить в том же файле, но уже на строчке 27

Скриншоты плагина

Установка плагина

  • Чтобы установить плагин закиньте его в папку plugins и при необходимости установите специальный плагин DevTools.php (Если у вас ядро призмарин + необходимо изменить файл RtpNpcCommand.php чтобы плагин работал на этом ядре).

  • RtpNPC.zip (5,1 КБ)

  • Для новичков: чтобы сохранить поставленный нпс пропишите команду /save-all

Тестировал я плагин на ядре : LITECORE 1.0.8 || PHP 8

  • Но думаю плагин и будет работать на более низких пхп бинарниках.

UPDATE 1.1 (думаю финальное обновление)

  • Добавлены 2 таска: один отвечает за размер нпс, второй отвечает за телепорт игрока.
  • Исправлены баги.

GitHub для просмотра кода:

1 лайк

анимку уже делаю, чтобы никто не захейтил за простоту плагина, ща анимку доделаю и команду нпс встроенную сделаю

1 лайк

Уже бегу ставить себе на сервер

1 лайк

ок круто, ток там куча гкода

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

Пополнил портфолио гкодом

public function handleDamage(EntityDamageEvent $event): Void
    {
        $evoker = $event->getEntity(); // гкод знаю

        if($evoker->getNameTag() === RtpNpc::$nametag)
        {
            $target = $event->getDamager();

            $evoker->setScale(1.5);
            $event->setCancelled();

            RtpNpc::sendEvokerAnimation($evoker);
            RtpNpc::sendGuardian($target);

            $target->addTitle('RTP', 'Телепортация выполнится через 5 секунд');

            sleep(5);

            RtpNpc::deleteEvokerAnimation($evoker);
            RtpNpc::sendGuardian($target);

            Server::getInstance()->dispatchCommand($target, RtpNpc::$bindCommand);
            return;
        }
    }

АХАХАХХАХАХАХА меня вырвало от sleep();

  • сидят на крыше а и б. А упала, б пропала? Что осталось на трубе?
  • “И” осталась!
  • нет дурак, сервак упал!
4 лайка

XD

Какой смысл на каждую хуйню делать отдельный плагин с npc?
Берешь плагин на NPC и плагин на команду /rtp, все, твой чудо плагин на RtpNpc готов. С остальными плагинами в которых есть свои npc то же самое

Класс с работой NPC

Класс регистрации команд

КлассЫ команд

Звучит просто? Так и есть. Почему не сделают? ООП не знают, они копипастят

1 лайк

Действительно, легче же один и тот же код писать во всех плагинах, чем использовать 1 плагин в котором этот функционал уже реализован 1 раз

1 лайк

Легче им, пока не знают как все устроено и как вообще должна быть архитектура.
После уже поймет, насколько это бред. Но пока что - что знаем то и получаем

2 лайка

Пиздец

1 лайк

и что с того? я чета про свой код говорил, какой он прекрасный или че. Если говорить про подробности весь пхп код - это некомпилируемый говно код.

да-да)

предложишь таск отдельный писать, для того чтобы выслать клиенту гуардин + выполнить команду?

а лучше стопать сервер?XD

такой смысл, что в обычном нпс нельзя призвать других сущностей кроме Human(если вы не используете Slapper - ну да и в слаппере там нельзя призвать сущность Evoker + управлять флагом этой сущности)

стопаю я программу