Плагин на "Супер-Броню" в ui | PMMP4

Это обновленная версия моего плагина.

Описание:

С помощью этого плагина игрок сможет покупать броню с высоким уровнем защиты за алмазы или что-нибудь другое.

Старая версия

Ссылка

Список изменений
  • Список:
    1) Переделан конфиг(спасибо за идею @MELVI)
    2) Добавлена функция проверки на заполнение инвентаря игрока, теперь когда в нём нету свободного места, то придмет будет выброшен возле игрока
  • Мелкое добавление:
    1) Библиотека FormAPI теперь встроена в плагин
Конфиг("обновленный")

Скачать

Диск

SuperArmor.zip (6.3 КБ)

Зачем выкладывать в облако, когда тут нету 2мбайт даже?

Хз, привык на облако все кидать уже.

SuperArmor.zip (6.3 КБ)

прямо из облака

Хак вшил палюбому

eval дописал

Спасибо! Теперь смогу скачать плагин, а то с облаков не умею скачивать!

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

Не, хаки то не умею писать ещё)

когда попытался в рофлы но не вышло

Догадайся зачем сюда кидаю изначальную версию, которая не лежит на облаке.

  1. На облаке он может в любой момент заменить файл
  2. Он может закрыть доступ
  3. Просьба от модеров, кидать (если это возможно) файлы, прикрепляя их на форум.
1 симпатия

Окей, в следующий раз это учту.
UPD: уже добавил ещё один файл.

Не использую FormAPI мне понравился больше EasyForm более оригинально сделан чем FormAPI

1 симпатия

Да не обижайся, не хотел обидеть.

А какая между ними разница? Я EasyForm не разу не юзал.

Можно еще сделать список зачарований, это тоже не сложно, через цикл foreach или for

Типа:

enchants:
  first:
    id: 12
    level: 120
  another:
    id: 13
    level: 120

+ есть функция чтобы получить имя предмета а то опять возьмите в руку N Алмазов

enchants:
  12: 120
  13: 120

Ну или так

FormAPI сделан немного тупо, там все надо делать отдельно, это как новая функция

public function Form(Player $player) : CustomForm{
  $form = new CustomForm(function(Player $player, array $data){
    if($data == null){
      return true;
    }
    switch($data[0]){
       case "test":
          $player->sendMessage("молодец");
        break;
    }
  });
  $form->setTitle("Я Мистер Фортер");
  $form->setContent("Это текст для вас");
  $form->addButton("Нажми меня");
  $form->sendToPlayer($player);
  return $form;
}

Это долго, это тупо. EasyForm более нормально сделан:

//Вывод обычного текста MenuForm
public function Form(Player $player) : void{
  $player->sendForm(new MenuForm("Я мистер фортер", "Этот текст для вас!", [new Button("Нажми меня")], function(Player $player, Button $button) : void{
    $player->sendMessage("Ты нажал на: ".$button->getText());
  });
}

И не надо путаться в этих array $data ну это мое мнение, я просто на них ответил.

Я на похожий перешёл

class MainForm extends SimpleForm
{
    public function __construct()
    {
        $list = Main::$instance->cfg->getAll(true);
        $content = "Нет настроенных порталов";
        $buttons = [
            new Button(text: "Добавить портал", onClick: function(Player $player){ $player->sendForm(new NewPortalForm($player)); })
        ];
        if(count($list) != 0){
            $content = "";
            $buttons = array_merge(array_map(function($a){ return new Button(text: $a, onClick: $this->onClick($a)); }, $list), $buttons);
        }
        parent::__construct("Список порталов", $content, $buttons);
    }

    private function onClick(string $name) : Closure{
        return function(Player $player) use ($name) {
          $player->sendForm(new PortalForm($player, $name));
        };
    }

}

1 симпатия