anonymous No title
No License PHP
2019年07月15日
Copy
logoHarigami
ログイン
 anonymous タイトルなし No License PHP
 コピー
<?php
namespace smo\WarnSystem;
use pocketmine\plugin\PluginBase;
use pocketmine\command\CommandSender;
use pocketmine\command\Command;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\Player;
use pocketmine\utils\Config;
class Main extends PluginBase implements Listener{
	/*
	 * Config保存の方法:
	 *
	 * ・N === 警告なし
	 * ・1 === 警告一個 (⚠)
	 * ・2 === 警告二個 (⚠⚠)
	 * ・3 === 警告三個 (⚠⚠⚠)
	 */
	private function setWarnTag(Player $player, WarnPoint $p) :void{
		switch($p){
			case 1:
			$player->setNameTag("§c⚠§r".$name);
			$player->setDisplayName("§c⚠§r".$name);
			$player->save();
			break;
			case 2:
			$player->setNameTag("§c⚠⚠§r".$name);
			$player->setDisplayName("§c⚠⚠§r".$name);
			$player->save();
			break;
			case 3:
			$player->setNameTag("§c⚠⚠⚠§r".$name);
			$player->setDisplayName("§c⚠⚠⚠§r".$name);
			$player->save();
			break;
		}
	}
	public function onEnable() :void{
		$this->getLogger()->notice("WarnSystemを読み込みました by smo");
		$this->getServer()->getPluginManager()->registerEvents($this, $this);
		if(!file_exists($this->getDataFolder())) @mkdir($this->getDataFolder(), 0744, true);
						$this->c = new Config($this->getDataFolder() . "config.yml", Config::YAML);
	}
	/**
 * @priority MONITOR
 */
	public function onJoin(PlayerJoinEvent $event) :void{
		$player = $event->getPlayer();
		$name = $event->getPlayer()->getName();
		if(!$this->c->exists($name)) {
			$this->c->set($name, "N");
			$this->c->save();
		}else{
			switch($this->c->get($name)){
				case "N":
				break;
				case "1":
				$this->setWarnTag($player, 1);
				break;
				case "2":
				$this->setWarnTag($player, 2);
				break;
				case "3":
				$this->setWarnTag($player, 3);
				break;
			}
		}
		public function onCommand(CommandSender $sender, Command $command, string $label, array $args) : bool{
			switch($label){
				case "checkwarn":
				if(!$sender instanceof Player){
					$sender->sendMessage("§6>>§cゲーム内で実行してください");
				}else{
					switch($this->c->get($sender->getName())){
						case "N":
						$sender->sendMessage("§6>>§aあなたは警告されていません");
						break;
						case "1":
						$sender->sendMessage("§6>>§cあなたな累積警告は§e1§cです");
						break;
						case "2":
						$sender->sendMessage("§6>>§cあなたな累積警告は§e2§cです");
						break;
						case "3":
						$sender->sendMessage("§6>>§cあなたな累積警告は§e3§cです");
						break;
					}
				}
				break;
				case "warn":
				if(!isset($args[0])) return false;
				if(!issrt($args[1])) return false;
				switch($args[0]){
					case "add":
					if(!$this->c->exists($args[1])){
						$sender->sendMessage("§6>>§e".$args[1]."§cのデータがありません");
					}elseif($this->c->get($args[1]) === "N"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e1§aにしました");
						$this->c->set($args[1], "1");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "1"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e2§aにしました");
						$this->c->set($args[1], "2");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "2"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e3§aにしました");
						$this->c->set($args[1], "3");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "3"){
						$sender->sendMessage("§6>>§e".$args[1]."§cの累積警告は既に最大値です");
					}
					break;
					case "remove":
					if(!$this->c->exists($args[1])){
						$sender->sendMessage("§6>>§e".$args[1]."§cのデータがありません");
					}elseif($this->c->get($args[1]) === "N"){
						$sender->sendMessage("§6>>§e".$args[1]."§cは警告されていません");
					}elseif($this->c->get($args[1]) === "1"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を取り消しました");
						$this->c->set($args[1], "N");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "2"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e1§aにしました");
						$this->c->set($args[1], "1");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "3"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e2§aにしました");
						$this->c->set($args[1], "2");
						$this->c->save();
					}
					break;
					case "check":
					if(!$this->c->exists($args[1])){
						$sender->sendMessage("§6>>§e".$args[1]."§cのデータがありません");
					}elseif($this->c->get($args[1]) === "N"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告:§eなし");
					}elseif($this->c->get($args[1]) === "1"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告:§e1");
					}elseif($this->c->get($args[1]) === "2"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告:§e2");
					}elseif($this->c->get($args[1]) === "3"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告:§e3");
					}
					break;
				}
				break;
			}
			return true;
		}
	}
}

logoHarigami
ログイン
 anonymous タイトルなし No License PHP
 コピー
<?php
namespace smo\WarnSystem;
use pocketmine\plugin\PluginBase;
use pocketmine\command\CommandSender;
use pocketmine\command\Command;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\Player;
use pocketmine\utils\Config;
class Main extends PluginBase implements Listener{
	/*
	 * Config保存の方法:
	 *
	 * ・N === 警告なし
	 * ・1 === 警告一個 (⚠)
	 * ・2 === 警告二個 (⚠⚠)
	 * ・3 === 警告三個 (⚠⚠⚠)
	 */
	private function setWarnTag(Player $player, WarnPoint $p) :void{
		switch($p){
			case 1:
			$player->setNameTag("§c⚠§r".$name);
			$player->setDisplayName("§c⚠§r".$name);
			$player->save();
			break;
			case 2:
			$player->setNameTag("§c⚠⚠§r".$name);
			$player->setDisplayName("§c⚠⚠§r".$name);
			$player->save();
			break;
			case 3:
			$player->setNameTag("§c⚠⚠⚠§r".$name);
			$player->setDisplayName("§c⚠⚠⚠§r".$name);
			$player->save();
			break;
		}
	}
	public function onEnable() :void{
		$this->getLogger()->notice("WarnSystemを読み込みました by smo");
		$this->getServer()->getPluginManager()->registerEvents($this, $this);
		if(!file_exists($this->getDataFolder())) @mkdir($this->getDataFolder(), 0744, true);
						$this->c = new Config($this->getDataFolder() . "config.yml", Config::YAML);
	}
	/**
 * @priority MONITOR
 */
	public function onJoin(PlayerJoinEvent $event) :void{
		$player = $event->getPlayer();
		$name = $event->getPlayer()->getName();
		if(!$this->c->exists($name)) {
			$this->c->set($name, "N");
			$this->c->save();
		}else{
			switch($this->c->get($name)){
				case "N":
				break;
				case "1":
				$this->setWarnTag($player, 1);
				break;
				case "2":
				$this->setWarnTag($player, 2);
				break;
				case "3":
				$this->setWarnTag($player, 3);
				break;
			}
		}
		public function onCommand(CommandSender $sender, Command $command, string $label, array $args) : bool{
			switch($label){
				case "checkwarn":
				if(!$sender instanceof Player){
					$sender->sendMessage("§6>>§cゲーム内で実行してください");
				}else{
					switch($this->c->get($sender->getName())){
						case "N":
						$sender->sendMessage("§6>>§aあなたは警告されていません");
						break;
						case "1":
						$sender->sendMessage("§6>>§cあなたな累積警告は§e1§cです");
						break;
						case "2":
						$sender->sendMessage("§6>>§cあなたな累積警告は§e2§cです");
						break;
						case "3":
						$sender->sendMessage("§6>>§cあなたな累積警告は§e3§cです");
						break;
					}
				}
				break;
				case "warn":
				if(!isset($args[0])) return false;
				if(!issrt($args[1])) return false;
				switch($args[0]){
					case "add":
					if(!$this->c->exists($args[1])){
						$sender->sendMessage("§6>>§e".$args[1]."§cのデータがありません");
					}elseif($this->c->get($args[1]) === "N"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e1§aにしました");
						$this->c->set($args[1], "1");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "1"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e2§aにしました");
						$this->c->set($args[1], "2");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "2"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e3§aにしました");
						$this->c->set($args[1], "3");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "3"){
						$sender->sendMessage("§6>>§e".$args[1]."§cの累積警告は既に最大値です");
					}
					break;
					case "remove":
					if(!$this->c->exists($args[1])){
						$sender->sendMessage("§6>>§e".$args[1]."§cのデータがありません");
					}elseif($this->c->get($args[1]) === "N"){
						$sender->sendMessage("§6>>§e".$args[1]."§cは警告されていません");
					}elseif($this->c->get($args[1]) === "1"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を取り消しました");
						$this->c->set($args[1], "N");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "2"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e1§aにしました");
						$this->c->set($args[1], "1");
						$this->c->save();
					}elseif($this->c->get($args[1]) === "3"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告を§e2§aにしました");
						$this->c->set($args[1], "2");
						$this->c->save();
					}
					break;
					case "check":
					if(!$this->c->exists($args[1])){
						$sender->sendMessage("§6>>§e".$args[1]."§cのデータがありません");
					}elseif($this->c->get($args[1]) === "N"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告:§eなし");
					}elseif($this->c->get($args[1]) === "1"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告:§e1");
					}elseif($this->c->get($args[1]) === "2"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告:§e2");
					}elseif($this->c->get($args[1]) === "3"){
						$sender->sendMessage("§6>>§e".$args[1]."§aの累積警告:§e3");
					}
					break;
				}
				break;
			}
			return true;
		}
	}
}


Output

Run
年末年始は機械学習・深層学習を勉強しませんか?
No one still commented. Please first comment.
年末年始は機械学習・深層学習を勉強しませんか?
広告
未経験から最短でエンジニアへの転職を目指すなら