[PM4] Хелпаните с плагином

Ошибка:

FormAPI:

Спойлер

Код:

Код в фото

Полный Код
public array $dropdown=["10", "20", "30", "40", "50"];
    
    public function onCommand(CommandSender $sender, Command $cmd, string $label, array $args) : bool {
        if($cmd->getName() === "converter"){
         $sender->sendMessage("Плагин в бета");
         $this->form($sender);
        }
        return true;
    }
    public function form($player){
        $form = new CustomForm(function (Player $player, array $data){
            if($data === null) return;
            $count = $this->dropdown[$data[1]];
            
            if ($data[0]){
                $item = ItemFactory::getInstance()->get(280, 0, $count);
                $player->getInventory()->addItem($item);
                BedrockEconomyAPI::getInstance()->subtractFromPlayerBalance($player->getName(), $count, ClosureContext::create(function (bool $wasUpdated) : void{
                    var_dump($wasUpdated);
                },
               )
              );
            } else {
                $item = ItemFactory::getInstance()->get(280, 0, $count);
                $player->getInventory()->removeItem($item);
                BedrockEconomyAPI::getInstance()->addToPlayerBalance($player->getName(), $count, ClosureContext::create(function (bool $wasUpdated):void{
                    var_dump($wasUpdated);
                  },
                )
              );
            }
        }
        );
        $form->addToggle("Тип Транзакции", false);
        $form->setTitle("КОНВЕРТАЦИЯ");
        $form->addLabel("Здесь вы можете конвертировать валюту\non - в $\noff - в Алм Руду");
        $form->addDropdown("Выберите кол-во:", $this->dropdown);
        $form->sendToPlayer($player);
    }
}

Не нашло вроде как путь crypto\invader

В Main

Выше код кинь

Весь код

Спойлер
<?php

namespace crypto\invader;

use pocketmine\player\Player;
use pocketmine\Server;
use pocketmine\plugin\PluginBase;
use cooldogedev\BedrockEconomy\api\BedrockEconomyAPI;
use cooldogedev\BedrockEconomy\libs\cooldogedev\libSQL\context\ClosureContext;
use pocketmine\item\ItemFactory;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use jojoe77777\FormAPI\CustomForm;

class Main extends PluginBase{
    public function onEnable():void{
        $this->getLogger()->info("Loading...");
        $this->getServer()->getPluginManager()->getPlugin("BedrockEconomy");
}
    public function onCommand(CommandSender $sender, Command $cmd, string $label, array $args):bool{
        if($cmd->getName() === "converter"){
            $sender->sendMessage("плагин в бета");
            $this->form($sender);
}
        return true;
}
    public function form($player){
        BedrockEconomyAPI::getInstance()->getPlayerBalance($player->getName(), ClosureContext::create(function (?int $balance):void{
            var_dump($balance);
        },
        )
        );
        $dropdownMenu = ["1", "5", "10"];
        $form = new CustomForm(function(Player $player, array $data){
            if($data === null){
                return true;
}
            switch($data[1]){
                case true:
                    $player->sendMessage("Это находится в разработке...");
                break;
                
                case false:
                    $player->sendMessage("Это еще в разработке...");
                break;
}
            switch($data[2]){
                case 0:
                    if($data[1] === false){
                        $item = ItemFactory::getInstance()->get(280, 0, 1);
                        $player->getInventory()->removeItem($item);
                        BedrockEconomyAPI::getInstance()->addToPlayerBalance($igrok->getName(), 1, ClosureContext::create(function (bool $wasUpdated):void{
                            var_dump($wasUpdated);
                        },
                        )
                        );
                        if($item < 1){
                            $player->sendMessage("Недостаточно Сольдов");
                            return;
}
                    } else {
                        $player->getInventory()->addItem($item);
                        BedrockEconomyAPI::getInstance()->subtractFormPlayerBalance($player->getName(), 1, ClosureContext::create(function (bool $wasUpdated) : void{
                            var_dump($wasUpdated);
                        },
                        )
                        );
}
                    if($player->getName()->$balance < 1){
                        $player->sendMessage("Недостаточно денег..");
                        return;
}
                break;
                
                case 1:
                    if($data[1] === false){
                        $player->getInventory()->removeItem($item);
                        BedrockEconomyAPI::getInstance()->addToPlayerBalance($player->getName(), 5, ClosureContext::create(function(bool $wasUpdated):void{
                            var_dump($wasUpdated);
                        },
                        )
                        );
                        if($player < 5){
                            $player->sendMessage("Недостаточно Сольдов");
                            return;
}
                    } else {
                        $player->getInventory()->addItem($item);
                        
              BedrockEconomyAPI::getInstance()->subtractFormPlayerBalance($igrok->getName(), 5, ClosureContext::create(function(bool $wasUpdated):void{
                            var_dump($wasUpdated);
                        },
                        )
                        );
}
                    if($player->getName->$balance < 5){
                        $player->sendMessage("Недостаточно денег...");
                        return;
                    }
                break;
                
                case 2:
                    if($data[1] === false){
                        $player->getInventory()->removeItem($item);
                        BedrockEconomyAPI::getInstance()->addToPlayerBalance($player->getName(), 10, ClosureContext::create(function(bool $wasUpdated):void{
                            var_dump($wasUpdated);
                        },
                        )
                        );
                        if($item < 10){
                            $player->sendMessage("Недостаточно Сольдов");
                            return;
                        }
                    } else {
                        $player->getInventory()->addItem($item);
                        BedrockEconomyAPI::getInstance()->subtractFormPlayerBalance($player->getName(), 10, ClosureContext::create(function(bool $wasUpdated):void{
                            var_dump($wasUpdated);
                        },
                        )
                        );
}
                    if($player->getName()->$balance < 10){
                        $player->sendMessage("Недостаточно денег...");
                        return;
                    }
                break;
}
});
        $form->setTitle("ТРАНЗАКЦИЯ");
        $form->addLabel("[!] Сперва выберите кол-во потом тип!");
        $form->addToggle("Тип Транзакции:\n1.Вкл - в крипту\n2.Выкл - в $", false);
        $form->addDropdown("Выберите кол-во:", $dropdownMenu);
        $form->sendToPlayer($player);
        return $form;
}
}

Что за кринж код, там ошибок миллион

1 лайк

i know

Я не могу сделать так чтобы, когда кнопка (toggle) включена и игрок выберет кол-во, то ему выдадут деньги и наоборот. А сама форма появляется

я не знаю ну там пишет твой аргумент 2 (args[2])
в нем ошибка линия 42

и 35 линия

Не актуально…

актуально бро