Стало скучно, можете просить какие-нибудь плагины, напишу и солью (за слишком сложное или долгое браться не буду). PM3, PM4, GenisysPro и форки.
1 лайк
GenisysPro форk pmmp, Nukkit форk пммп напиши на нем глобальный и лоkaльный чат
Вооо было бы не плохо
1 лайк
<?php
namespace MyPlugin;
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerChatEvent;
use pocketmine\Player;
use pocketmine\Server;
class MyPlugin extends PluginBase implements Listener{
public function onEnable(){
$this->getServer()->getPluginManager()->registerEvents($this, $this);
}
public function onChat(PlayerChatEvent $event){
$player = $event->getPlayer();
$message = $event->getMessage();
$chatMode = $this->getChatMode($message);
if($chatMode == "global"){
$event->setCancelled();
foreach(Server::getInstance()->getOnlinePlayers() as $p){
$p->sendMessage("[" . $player->getName() . "]: " . $message);
}
}elseif($chatMode == "local"){
$event->setCancelled();
$radius = 10; // Радиус локального чата
foreach(Server::getInstance()->getOnlinePlayers() as $p){
if($p->distance($player) <= $radius){
$p->sendMessage("[" . $player->getName() . "]: " . $message);
}
}
}
}
private function getChatMode($message){
if(substr($message, 0, 1) === "!"){ // Если сообщение начинается с "!"
if(substr($message, 1, 6) === "global"){ // Если за "!" следует "global"
return "global";
}elseif(substr($message, 1, 5) === "local"){ // Если за "!" следует "local"
return "local";
}
}
return false;
}
}
гкод?
я недавно писал плагин на глобальный / локальный чат на Nukkit, он кстати совместим с любым плагином на форматирование чата, чем не могут похвастаться некоторые другие такие плагины
1 лайк
А не проще просто $message[0]
?
Зачем запрещать сообщение в глобальном чате? Не проще ли использовать setFormat()
?
я конечно не шарю в пхп, но если между “!” и сообщением не будет пробела, он разве не вернет тебе “!сообщение”, вместо “!”?
просто гкод нашёл забей
понял
Чел, на Nukkit
Скорее всего да, кто то забыл ии обучать.