Как сделать чтобы под SURVIVAIL показывал онлайн этого сервера
КОД
Код
<?php
namespace NPC;
use pocketmine\nbt\tag\StringTag;
use pocketmine\entity\Human;
use pocketmine\entity\Entity;
use pocketmine\{Player, Server};
use pocketmine\event\Listener;
use pocketmine\plugin\PluginBase;
use pocketmine\command\{Command, CommandSender, ConsoleCommandSender};
use pocketmine\network\mcpe\protocol\MobEquipmentPacket;
use pocketmine\network\mcpe\protocol\types\InventoryNetworkIds;
use pocketmine\network\mcpe\protocol\protocolInfo;
use pocketmine\network\mcpe\protocol\UpdateBlockPacket;
use pocketmine\network\mcpe\protocol\ContainerOpenPacket;
use pocketmine\network\mcpe\protocol\BlockEntityDataPacket;
use pocketmine\network\mcpe\protocol\ContainerClosePacket;
use pocketmine\network\mcpe\protocol\ContainerSetSlotPacket;
use pocketmine\network\mcpe\protocol\INVENTORY_ACTION_PACKET;
use pocketmine\network\mcpe\protocol\ContainerSetContentPacket;
use pocketmine\nbt\tag\{CompoundTag, FloatTag, ListTag, DoubleTag};
use pocketmine\event\player\{PlayerChatEvent, PlayerCommandPreprocessEvent};
use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\event\entity\EntityDamageByEntityEvent;
use pocketmine\scheduler\CallbackTask;
class Main extends PluginBase implements Listener {
public function onEnable() {
$this->getServer()->getPluginManager()->registerEvents($this, $this);
$this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask(array($this, "sizenpc")), 20 * 3);
}
public function handlePlayerChat(PlayerChatEvent $event){
$player = $event->getPlayer();
if(!$player->isOp()){
return;
}
if($event->getMessage() == '.setnpc'){
$nbt = new CompoundTag("", ["Pos" => new ListTag("Pos", [new DoubleTag("", $player->x), new DoubleTag("", $player->y), new DoubleTag("", $player->z)]), "Motion" => new ListTag("Motion", [new DoubleTag("", 0), new DoubleTag("", 0), new DoubleTag("", 0)]), "Rotation" => new ListTag("Rotation", [new DoubleTag("", $player->yaw), new DoubleTag("", $player->pitch)]), "Skin" => new CompoundTag("Skin", ["Data" => new StringTag("Data", $player->getSkinData()), "Name" => new StringTag("Name", $player->getSkinId())])]);
$npc = new Human($player->level, $nbt);
$npc->setNameTag("§l§aSURVIVAIL");
$npc->setNameTagVisible(true);
$npc->setNameTagAlwaysVisible(true);
$npc->SpawnToAll();
$player->sendMessage('§e➤ §7Вы успешно создали NPC §eТелепортации!');
}
if($event->getMessage() == '.setnpc1'){
$nbt = new CompoundTag("", ["Pos" => new ListTag("Pos", [new DoubleTag("", $player->x), new DoubleTag("", $player->y), new DoubleTag("", $player->z)]), "Motion" => new ListTag("Motion", [new DoubleTag("", 0), new DoubleTag("", 0), new DoubleTag("", 0)]), "Rotation" => new ListTag("Rotation", [new DoubleTag("", $player->yaw), new DoubleTag("", $player->pitch)]), "Skin" => new CompoundTag("Skin", ["Data" => new StringTag("Data", $player->getSkinData()), "Name" => new StringTag("Name", $player->getSkinId())])]);
$npc = new Human($player->level, $nbt);
$npc->setNameTag("Телепортация 2");
$npc->setNameTagVisible(true);
$npc->setNameTagAlwaysVisible(true);
$npc->SpawnToAll();
$player->sendMessage('§e➤ §7Вы успешно создали NPC §eТелепортации');
}
}
public function onDamage(EntityDamageEvent $e) {
if($e instanceof EntityDamageByEntityEvent) {
$player = $e->getDamager();
$nick = strtolower($player->getName());
$entity = $e->getEntity();
if($player instanceof Player && $entity instanceof Human && $entity->getNameTag() == "§l§aSURVIVAIL") {
$e->setCancelled();
$player->transfer("deadmine.ru", 19132);
}
if($player instanceof Player && $entity instanceof Human && $entity->getNameTag() == "Телепортация 2") {
$e->setCancelled();
$player->transfer("айпи", 19132);
}
}
}
function sizenpc(){
foreach(\pocketmine\Server::getInstance()->getLevels() as $level){
foreach($level->getEntities() as $entity){
if($entity->getNameTag() == "§l§aSURVIVAIL"){
$entity->setDataProperty(Entity::DATA_SCALE, Entity::DATA_TYPE_FLOAT, 1.50);
}
if($entity->getNameTag() == "Телепортация 2"){
$entity->setDataProperty(Entity::DATA_SCALE, Entity::DATA_TYPE_FLOAT, 1.50);
}
}
}
}

