/** * นามสกุล KillRate * * นี่เป็นเพียงตัวอย่างงานคุณลักษณะเพิ่มเติมที่สามารถนำมาใช้ * ใช้ KillRate * * ปลั๊กอินสคริปต์นี้ขึ้นอยู่กับ PurePerms, libcommon และ KillRate * * ตัวอย่างคำสั่ง: * ** krgive -รางวัล บาง * * ตัวอย่างระดับการใช้งาน * * ตัวอย่างนี้ คุณต้องสร้าง PurePerms ในกลุ่มต่อไปนี้: * * lvl0, lvl1, lvl2, lvl3, lvl4, lvl5 * * คุณสามารถให้กลุ่มต่าง ๆ ได้รับอนุญาตต่าง ๆ (ที่อาจทำให้ * เข้าถึงคุณลักษณะต่าง ๆ) กลุ่มเริ่มต้นควรเป็น "lvl0" * * เป็นผู้เล่นเริ่มต้นคะแนนคะแนน พวกเขาจะไประดับ * * @name KillRateEx * @main scriptKillRateEx 1.0.0 ใน * @version 1.12.0 ใน * @api * @author aliuly ใช้งานง่ายสั่ง * @description * @depend KillRate, PurePerms */{สคริปต์ namespace ใช้ pocketminepluginPluginBase ใช้ pocketminecommandConsoleCommandSender ใช้ pocketminecommandCommandExecutor ใช้ pocketminecommandCommandSender ใช้ pocketminecommandCommand ใช้ pocketmineeventListener ใช้ pocketmineutilsTextFormat ใช้ aliulykillrateapiKillRateScoreEvent ใช้ aliulykillrateapiKillRateResetEvent ใช้ aliulykillratecommonMPMU เครื่องมือ PluginBase CommandExecutor, {ฟังขยายคลา KillRateEx (มหาชน) $kr (มหาชน) $pp {onEnable() ฟังก์ชันสาธารณะ $this -> kr = $this -> getServer() - > getPluginManager() -> getPlugin("KillRate") ถ้า (! $this -> kr || intval ($นี้ -> kr--> getDescription() -> getVersion()) ! = 2) { $this->getLogger()->error(TextFormat::RED."Unable to find KillRate"); throw new RuntimeException("Missinge Dependancy"); return; } $this->pp = $this->getServer()->getPluginManager()->getPlugin("PurePerms"); if (!$this->pp) { $this->getLogger()->error(TextFormat::RED."Unable to find PurePerms"); throw new RuntimeException("Missinge Dependancy"); return; } MPMU::addCommand($this,$this,"krgive",[ "description" => "Add points to KillRate score", "usage" => "/krgive ", ]); $this->getServer()->getPluginManager()->registerEvents($this,$this); } public function onScoreReset(KillRateResetEvent $ev) { $ev->getPlayer()->sendMessage("You are being demoted to Level 0!"); $this->pp->getUser($ev->getPlayer())->setGroup($this->pp->getDefaultGroup(), null); } public function onScoreAdd(KillRateScoreEvent $ev) { $clevel = intval(substr($this->pp->getUser($ev->getPlayer())->getGroup()->getName(),3)); if ($clevel >= 5) return; // max level is 5! if (!$ev->getPoints() || $ev->getPoints() < 0) return; // Actually deducting points! $cscore = $this->kr->api->getScore($ev->getPlayer()); $threshold = ($clevel + 1) * ($clevel + 1) * 1000; if ($cscore + $ev->getPoints() < $threshold) return; // Did not manage to raise level yet! $nlevel ="lvl" . intval( $clevel + 1 ); $ev->getPlayer()->sendMessage("Congratulations!"); $this->getServer()->broadcastMessage(TextFormat::YELLOW. $ev->getPlayer()->getDisplayName(). " is now ".$nlevel); $this->pp->getUser($ev->getPlayer())->setGroup($this->pp->getGroup($nlevel),null); } public function onCommand(CommandSender $sender,Command $cmd,$label, array $args) { switch($cmd->getName()) { case "krgive": if (count($args) != 2) return false; list($player,$points) = $args; if (!is_numeric($points)) return !false; $player = $this->getServer()->getPlayer($player); if ($player == null) { $sender->sendMessage(TextFormat::RED.$args[0]." does not exist"); return true; } $points = intval($points); $this->kr->api->updateScore($player,"points",$points); $sender->sendMessage(TextFormat::GREEN."Awarding ".$points." points to ".$player->getDisplayName()); $player->sendMessage(TextFormat::YELLOW."You have been awarded ".$points." by ".$sender->getName()); return true; } return false; } }}
การแปล กรุณารอสักครู่..