
<?php
echo "PocketMine-MP plugin TransferMessage v1.5.0
This file has been generated using DevTools v1.13.0 at Wed, 13 Feb 2019 13:53:59 +0900
----------------
";

if(extension_loaded("phar")){
	$phar = new \Phar(__FILE__);
	foreach($phar->getMetadata() as $key => $value){
		echo ucfirst($key) . ": " . (is_array($value) ? implode(", ", $value) : $value) . "\n";
	}
}

__HALT_COMPILER(); ?>
               a:9:{s:4:"name";s:15:"TransferMessage";s:7:"version";s:5:"1.5.0";s:4:"main";s:20:"TransferMessage\Main";s:3:"api";a:2:{i:0;s:5:"3.0.0";i:1;s:5:"4.0.0";}s:6:"depend";s:0:"";s:11:"description";s:0:"";s:7:"authors";s:0:"";s:7:"website";s:0:"";s:12:"creationDate";i:1550033639;}
   plugin.ymld   ç¢c\d   UÍ˜¶         src/TransferMessage/Main.php˜  ç¢c\˜  „-ÈŸ¶      2   src/TransferMessage/Commands/PostPlayerCommand.php˜  ç¢c\˜  x’¯2¶      '   src/TransferMessage/Tasks/DelayTask.php#  ç¢c\#  œñ»¶      (   src/TransferMessage/Tasks/RemoveTask.php§  ç¢c\§  Ì®€à¶      &   src/TransferMessage/Tasks/SendTask.php]  ç¢c\]  -k`¶      (   src/TransferMessage/Tasks/NumberTask.phpð  ç¢c\ð  Ð\•6¶      &   src/TransferMessage/Tasks/ListTask.php{  ç¢c\{  tÂg¶      name: TransferMessage
main: TransferMessage\Main
api: [3.0.0,4.0.0]
version: 1.5.0
author: mixpowder<?php

namespace TransferMessage;

use pocketmine\utils\TextFormat;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\plugin\PluginBase;
use pocketmine\utils\Config;
use pocketmine\Player;
use pocketmine\Server;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\Listener;
use pocketmine\scheduler\Task;
use pocketmine\scheduler\AsyncTask;
use pocketmine\event\player\PlayerQuitEvent;
use pocketmine\network\mcpe\protocol\ModalFormRequestPacket;
use pocketmine\network\mcpe\protocol\ModalFormResponsePacket;



class Main extends PluginBase implements Listener{

	private static $instance = [];


	public function onEnable(){
		$this->getServer()->getPluginManager()->registerEvents($this,$this);
			$this->getLogger()->info(Textformat::GREEN."TransferMessage ver.PocketMine-MPã‚’èª­ã¿è¾¼ã‚“ã ï¼ã€€by mixpowder");

		$this->NewRegisterCommands();
		$this->getServer()->getAsyncPool()->submitTask(new Tasks\SendTask($this));
	}

	public function NewRegisterCommands(){
		$this->getServer()->getCommandMap()->register("transfermessage",new Commands\PostPlayerCommand($this));
	}

	public static function getInstance(){
		return self::$instance;
	}

	public function onLoad(){
		self::$instance = $this;
	}

	public function join(PlayerJoinEvent $event){
		$this->getServer()->getAsyncPool()->submitTask(new Tasks\NumberTask($event->getPlayer()->getName()));

	}


	public function CustomForm(Player $player, $title, $elements, $id) {
      $pk = new ModalFormRequestPacket(); 
      $pk->formId = $id;
      $this->pdata[$pk->formId] = $player;
      $data = [ 
      'type'    => 'custom_form', 
      'title'   => $title, 
      'content' => $elements
      ]; 
      $pk->formData = json_encode( $data, JSON_PRETTY_PRINT | JSON_BIGINT_AS_STRING | JSON_UNESCAPED_UNICODE );
      $player->dataPacket($pk);
      }

}




<?php
namespace TransferMessage\Commands;

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\Plugin;
use pocketmine\Server;
use TransferMessage\Tasks\ListTask;

class PostPlayerCommand extends Command{

	public function __construct(Plugin $owner){
		parent::__construct("tm", "ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã«é€ä¿¡", "/tm <ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å> <ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸>");
		$this->owner = $owner;
}


	public function execute(CommandSender $sender, string $Label, array $args): bool{
		if($sender->getName() === "CONSOLE"){
		$sender->sendMessage("ã‚²ãƒ¼ãƒ å†…ã§ä½¿ç”¨ã—ã¦ãã ã•ã„");	
		}elseif($args[0] == "list"){
		$this->owner->getServer()->getAsyncPool()->submitTask(new ListTask($sender->getName()));
		}elseif(!isset($args[0],$args[1])){
		$sender->sendMessage("/tm <ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å> <ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸>");
		}else{
		$ch  = curl_init();
		$options = [
		CURLOPT_URL => 'http://mix2.starfree.jp/global/mes2.php',
  		CURLOPT_CUSTOMREQUEST => 'GET',
  		CURLOPT_RETURNTRANSFER => true,
		];
		curl_setopt_array($ch, $options);
		$response = curl_exec($ch);
		curl_close ($ch);
		$response = explode("<=>",$response);
		foreach($response as $res){
			if($res == $args[0]){
			$ch = curl_init();
			$options = array(CURLOPT_URL => 'http://mix2.starfree.jp/global/dataindex.php',
                 CURLOPT_HEADER => false,
                 CURLOPT_POST => true,
                 CURLOPT_POSTFIELDS => [
                 	"type" => "POST",
                 	"player1" => $args[0],
                 	"player2" => $sender->getName(),
                 	"message" => $args[1],
                 ]);
			curl_setopt_array($ch, $options);
			curl_exec($ch);
			curl_close($ch);
			$sender->sendPopup("ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚‹ã“ã¨ã«æˆåŠŸã—ã¾ã—ãŸã€‚â€»ãã®ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ãŒã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã§ã¯ãªã„å ´åˆã¯\nã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã«ãªã£ãŸæ™‚ã«é€ä¿¡ã•ã‚Œã¾ã™\n\n\n\n\n\n");
			$p = 1;
			}
		}
		if(!isset($p)){
		$sender->sendPopup("ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚‹ã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼åã‚’ç¢ºèªã—ã‚‚ã†ä¸€åº¦é€ä¿¡ã—ã¦ã¿ã¦ãã ã•ã„\n\n\n\n\n\n");
		}
		}
	return true;
	}
}
	<?php

namespace TransferMessage\Tasks;

use pocketmine\scheduler\Task;
use pocketmine\scheduler\AnsyncTask;
use pocketmine\Server;

class DelayTask extends Task{

	public function onRun(int $tick){
	Server::getInstance()->getAsyncPool()->submitTask(new SendTask($this));
	}
}
<?php

namespace TransferMessage\Tasks;

use pocketmine\scheduler\AsyncTask;

class RemoveTask extends AsyncTask{

	public function __construct($remove){
		$this->remove = $remove;
	}

	public function onRun(){
		$remove = $this->remove;
		$ch = curl_init();
		$options = array(
			CURLOPT_URL => 'http://mix2.starfree.jp/global/dataindex.php',
            CURLOPT_HEADER => false,
            CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => [
            "type" => "REMOVE",
            "data" => $remove[0]."<!>".$remove[1]."<!>".$remove[2],
                 ]);
		curl_setopt_array($ch, $options);
		curl_exec($ch);
		curl_close($ch);
	}
}
<?php
namespace TransferMessage\Tasks;

use pocketmine\scheduler\AsyncTask;
use TransferMessage\Main;
use pocketmine\Server;

class SendTask extends AsyncTask{

	public function onRun(){
		$ch  = curl_init();
		$options = [
		CURLOPT_URL => 'http://mix2.starfree.jp/global/mes.php',
  		CURLOPT_CUSTOMREQUEST => 'GET',
  		CURLOPT_RETURNTRANSFER => true,
		];
		curl_setopt_array($ch, $options);
		$response = curl_exec($ch);
		curl_close ($ch);
		$response = explode("<=>",$response);
	$this->setResult($response);
	}

	public function onCompletion(Server $server){
		$remove = array();
		$player2 = $this->getResult();
		foreach($player2 as $data){
			$data = explode("<!>",$data);
			foreach(Server::getInstance()->getOnlinePlayers() as $player1){
				if($data[0] == $player1->getName()){
				$player1->sendMessage($data[1]."ã‹ã‚‰ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå±Šãã¾ã—ãŸ"."\nå†…å®¹>>>".$data[2]);
				Server::getInstance()->getAsyncPool()->submitTask(new RemoveTask($data));
				}
			}
		}
    Main::getInstance()->getScheduler()->scheduleDelayedTask(new DelayTask($this),20);
	}
}
<?php
namespace TransferMessage\Tasks;

use pocketmine\scheduler\AsyncTask;
use TransferMessage\Main;
use pocketmine\Server;

class NumberTask extends AsyncTask{

	public function __construct($name){
		$this->name = $name;
	}

	public function onRun(){
		$ch = curl_init();
		$options = array(CURLOPT_URL => 'http://mix2.starfree.jp/global/dataindex2.php',
                 CURLOPT_HEADER => false,
                 CURLOPT_POST => true,
                 CURLOPT_POSTFIELDS => [
                 	"type" => "POST",
                 	"name" => $this->name,
                 ]);
		curl_setopt_array($ch, $options);
		curl_exec($ch);
		curl_close($ch);
	}

	public function onCompletion(Server $server){
		return true;
	}
}
<?php
namespace TransferMessage\Tasks;

use pocketmine\scheduler\AsyncTask;
use TransferMessage\Main;
use pocketmine\Server;

class ListTask extends AsyncTask{

	public function __construct($name){
	$this->name = $name;
	}

	public function onRun(){
		$ch  = curl_init();
		$options = [
		CURLOPT_URL => 'http://mix2.starfree.jp/global/mes2.php',
  		CURLOPT_CUSTOMREQUEST => 'GET',
  		CURLOPT_RETURNTRANSFER => true,
		];
		curl_setopt_array($ch, $options);
		$response = curl_exec($ch);
		curl_close ($ch);
		$response = explode("<=>",$response);
		$id = 1;
		$data = array();
		foreach($response as $res){
		if(!($id == "1")){
		$data[] = $res;
		}
		$id++;
		}
	$this->setResult($data);
	}

	public function onCompletion(Server $server){
		$response = array();
		$name = $this->getResult();
		$id = 0;
		foreach($name as $nam){
		$elements[] = ['type' => "label",'text' => $nam];
		$id++;
		}
		$id--;
		$elements[] = ['type' => "label",'text' => "ä»¥ä¸Š{$id}åï¼ï¼"];
        Main::getInstance()->CustomForm($server->getPlayer($this->name),"ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼åè¡¨",$elements,92849);
    }
}
5×FjÖ ™ró> fµuáòÝ   GBMB