I dont know why this doesn't work PHP: public function onCommand(CommandSender $player, Command $cmd, string $label, array $args) : bool{ if($cmd->getName() == "jobteleport"){ if($this->hasJob($player)){ $player->getServer()->getCommandMap()->dispatch($player, "warp Farmwelt"); $player->sendMessage("\n\n\n\n\n§aHier kannst du deinen Job Ausüben!"); $player->getLevel()->addSound(new EndermanTeleportSound($player)); }else{ $player->sendMessage("§cDu kannst diesen Befehl nur nutzen wenn du einen Job hast!"); } }elseif($cmd->getName() == "jobhilfe"){ $this->openUI($player); $player->getLevel()->addSound(new EndermanTeleportSound($player)); }elseif($cmd->getName() == "job"){ $eco = EconomyAPI::getInstance(); $buy = 100; if($player instanceof Player){ $player->getLevel()->addSound(new ClickSound($player)); if($this->hasJob($player)){ $this->JobManagerForm($player); }else{ //- money $this->EconomyAPI::getInstance()->reduceMoney($player, 100); $sender->sendMessage("§aDu hast dir ein Jobticket gekauft!"); $this->IntroduceForm($player); return true; } } }else{ $player->sendMessage("task"); return true; } return true; }
Could you describe what happens and what is supposed to happen? Any error message? Which part "doesn't work"?
Is this so good ? Code: [05:04:42] [Server thread/CRITICAL]: #0 plugins/Job (69).phar/src/derc/code/Job(222): pocketmine\utils\Utils::errorExceptionHandler(integer 8, string[46] Undefined property: derc\code\Job::$EconomyAPI, string[65] phar:///home/gs-41714/plugins/Job (69).phar/src/derc/code/Job.php, integer 222, array[6]) [05:04:42] [Server thread/CRITICAL]: #1 src/pocketmine/command/PluginCommand(54): derc\code\Job->onCommand(object pocketmine\Player, object pocketmine\command\PluginCommand, string[3] job, array[0]) [05:04:42] [Server thread/CRITICAL]: #2 src/pocketmine/command/SimpleCommandMap(248): pocketmine\command\PluginCommand->execute(object pocketmine\Player, string[3] job, array[0]) [05:04:42] [Server thread/CRITICAL]: #3 src/pocketmine/Server(1811): pocketmine\command\SimpleCommandMap->dispatch(object pocketmine\Player, string[3] job) [05:04:42] [Server thread/CRITICAL]: #4 src/pocketmine/Player(2316): pocketmine\Server->dispatchCommand(object pocketmine\Player, string[3] job) [05:04:42] [Server thread/CRITICAL]: #5 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(244): pocketmine\Player->chat(string[4] /job) [05:04:42] [Server thread/CRITICAL]: #6 src/pocketmine/network/mcpe/protocol/CommandRequestPacket(54): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleCommandRequest(object pocketmine\network\mcpe\protocol\CommandRequestPacket) [05:04:42] [Server thread/CRITICAL]: #7 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(110): pocketmine\network\mcpe\protocol\CommandRequestPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [05:04:42] [Server thread/CRITICAL]: #8 src/pocketmine/network/mcpe/protocol/BatchPacket(127): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\CommandRequestPacket) [05:04:42] [Server thread/CRITICAL]: #9 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(110): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [05:04:42] [Server thread/CRITICAL]: #10 src/pocketmine/Player(3255): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [05:04:42] [Server thread/CRITICAL]: #11 src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [05:04:42] [Server thread/CRITICAL]: #12 vendor/pocketmine/raklib/src/server/ServerHandler(95): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[19] 46.114.109.10 51301, object raklib\protocol\EncapsulatedPacket, integer 0) [05:04:42] [Server thread/CRITICAL]: #13 src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket() [05:04:42] [Server thread/CRITICAL]: #14 src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process() [05:04:42] [Server thread/CRITICAL]: #15 vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe\{closure}() [05:04:42] [Server thread/CRITICAL]: #16 vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\snooze\SleeperHandler->processNotifications() [05:04:42] [Server thread/CRITICAL]: #17 src/pocketmine/Server(2157): pocketmine\snooze\SleeperHandler->sleepUntil(double 1601269482.2155) [05:04:42] [Server thread/CRITICAL]: #18 src/pocketmine/Server(1994): pocketmine\Server->tickProcessor() [05:04:42] [Server thread/CRITICAL]: #19 src/pocketmine/Server(1588): pocketmine\Server->start() [05:04:42] [Server thread/CRITICAL]: #20 src/pocketmine/PocketMine(273): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[15] /home/gs-41714/, string[23] /home/gs-41714/plugins/) [05:04:42] [Server thread/CRITICAL]: #21 src/pocketmine/PocketMine(304): pocketmine\server() [05:04:42] [Server thread/CRITICAL]: #22 (11): require(string[95] phar:///pro/bin/mcpe/pocketmine-stable-1.16.20/PocketMine-MP.phar/src/pocketmine) [05:04:42] [Server thread/INFO]: DerCooleVonDem left the game
Change PHP: $this->EconomyAPI::getInstance()->reduceMoney($player, 100); to PHP: EconomyAPI::getInstance()->reduceMoney($player, 100);
Doesn't work for me Code: [05:35:32] [Server thread/CRITICAL]: #0 plugins/Job (70).phar/src/derc/code/Job(222): pocketmine\utils\Utils::errorExceptionHandler(integer 2, string[103] Use of undefined constant ..100 - assumed '..100' (this will throw an Error in a, string[65] phar:///home/gs-41244/plugins/Job (70).phar/src/derc/code/Job.php, integer 222, array[6])
PHP: public function onCommand(CommandSender $player, Command $cmd, string $label, array $args) : bool{ if($cmd->getName() == "jobteleport"){ if($this->hasJob($player)){ $player->getServer()->getCommandMap()->dispatch($player, "warp Farmwelt"); $player->sendMessage("\n\n\n\n\n§aHier kannst du deinen Job Ausüben!"); $player->getLevel()->addSound(new EndermanTeleportSound($player)); }else{ $player->sendMessage("§cDu kannst diesen Befehl nur nutzen wenn du einen Job hast!"); } }elseif($cmd->getName() == "jobhilfe"){ $this->openUI($player); $player->getLevel()->addSound(new EndermanTeleportSound($player)); }elseif($cmd->getName() == "job"){ $eco = EconomyAPI::getInstance(); $buy = 100; if($player instanceof Player){ $player->getLevel()->addSound(new ClickSound($player)); if($this->hasJob($player)){ $this->JobManagerForm($player); }else{ //- money EconomyAPI::getInstance()->reduceMoney($player, 100); $player->sendMessage("§aDu hast dir ein Jobticket gekauft!"); $this->IntroduceForm($player); return true; } } }else{ $player->sendMessage("task"); return true; } return true; }
Im trying to resolve ur problem, while that, just add a check if the player has 100 money before removing him 100 money, that can cause errors, thats not the solve to ur problem i think, just a tip for u, im trying to resolve it rn