So basically, i want my players to kick island members using the ui, everything works fine. But when I click the button to kick the X player, nothing happens. No errors too! ```public function FireUI($player){ $api = Server::getInstance()->getPluginManager()->getPlugin("FormAPI"); $form = $api->createSimpleForm(function (Player $event, $data){ $player = $event->getPlayer(); $result = $data[0]; if($result != null){ Server::getInstance()->getCommandMap()->dispatch($sender, "isle fire " . $result); } }); $sb = Server::getInstance()->getPluginManager()->getPlugin("SkyBlock"); $session = $sb->getSessionManager()->getSession($player); $form->setTitle("KIck Member"); $form->setContent("Kick island member"); $isle = $session->getIsle(); $members = $isle->getMembers(); foreach($members as $member){ $name = $member->getUsername(); $rank = $member->getRank(); $form->addbutton($name); } $form->sendToPlayer($player); } }``` help would be appreciated !
PHP: /** @var Server */private $server;/** @var string[] */private $players = [];/*** @param Player $player*/public function sendKickForm(Player $player): void { $session = SkyBlock::getInstance()->getSessionManager()->getSession($player); if($session->hasIsle()) { /** @var FormAPI $instance */ $instance = $this->server->getPluginManager()->getPlugin("FormAPI"); $form = $instance->createSimpleForm(function (Player $player, ?int $result) { if($result != null) { $this->server->dispatchCommand($player, "isle fire " . $this->players[$result]); } }); $form->setTitle("Kick Member"); $form->setContent("Kick an island member"); foreach($session->getIsle()->getMembersOnline() as $member) { if(!isset($this->players[array_search($username = $member->getUsername(), $this->players)])) { $this->players[] = $username; $form->addButton($username); } } $player->sendForm($form); }} Your code is wrong, the second parameter of the api function returns an int while you're putting an array Also your command would be executed like this: /isle fire (number) Use mine and also try to understand it as it is very simple. Player names are stored in an array because you want to get them later.
Thanks for helping but still cant, first it show me a error about getPluginManager not found something like that, as the file is not the pluginbase i changed $this->server to Server::getInstance which fixed it. Then when I invite my alt to my island, he accepts it then I pressed a button (ingame) to take me to sendKickForm, it said could not find required property "buttons".