【Lv:5】
首先,我们需要很正常的use以下内容:
开始正篇!首先,一个服务器得有简单的反飞行!
检测权限的地方,我们可以用isOP来代替,因为中国大多数服务器是没有权限组这个插件的。
接下来,玩家可不能随意的切换模式!
PHP:
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\event\player\PlayerMoveEvent;
use pocketmine\event\player\PlayerToggleFlightEvent;
use pocketmine\event\player\PlayerGameModeChangeEvent;
use pocketmine\event\server\DataPacketReceiveEvent;
use pocketmine\Server;use pocketmine\Player;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\utils\Config;
use pocketmine\utils\TextFormat as Color;
PHP:
public function onFlying(PlayerToggleFlightEvent $event) {
//检测玩家飞行这个动作
$player = $event->getPlayer();
if ($event->isFlying()) {
if ($player->hasPermission("xx权限")) {
//如果有飞行这个动作,则判断玩家有没有飞行的权限
} else {
//如果没有,就踢出服务器
$player->kick(Color::RED . "这里写留给作弊玩家的话hh", false);
}
}
}
接下来,玩家可不能随意的切换模式!
PHP:
public function onGameModeChange(PlayerGameModeChangeEvent $event) {
//检测玩家是否有更改游戏模式动作,是的话,检测玩家有没有对应权限
$player = $event->getPlayer();
$gamemode = $event->getNewGameMode();
if ($player->hasPermission("xx权限")) {
} else {
//如果没有权限且玩家的游戏模式为1(创造模式)
if ($gamemode === 1) {
$player->kick("给作弊玩家写点什么hh", false);
}
}
}