hello I want edit the factions plugin. I want the members in their plot can't build, only leader and officer can. this is my attempt but do not work. PHP: public function factionBlockPlaceProtect(BlockPlaceEvent $event) { if($this->plugin->isInPlot($event->getPlayer())) { if($this->plugin->inOwnPlot($event->getPlayer())){ if(!($this->plugin->isLeader($event->getPlayer()) || $this->plugin->isOfficer($event->getPlayer()))){ return true; } else { $event->setCancelled(true); $event->getPlayer()->sendMessage($this->plugin->formatMessage("You can't break or place blocks here.")); return true; } } } }
PHP: public function factionBlockPlaceProtect(BlockPlaceEvent $event) {if($this->plugin->isInPlot($event->getPlayer())) {if($this->plugin->inOwnPlot($event->getPlayer())){if(!($this->plugin->isLeader($event->getPlayer()) || $this->plugin->isOfficer($event->getPlayer()) || $this->plugin->isMember($event->getPlayer()))){ //Search the function name self dont know maybe exists something like isMember()return true;} else {$event->setCancelled(true);$event->getPlayer()->sendMessage($this->plugin->formatMessage("You can't break or place blocks here."));return true;}}}}
Try this: PHP: public function factionBlockPlaceProtect(BlockPlaceEvent $event) { if($this->plugin->isInPlot($event->getPlayer())) { if($this->plugin->inOwnPlot($event->getPlayer())){ if(!($this->plugin->isLeader($event->getPlayer()) || $this->plugin->isOfficer($event->getPlayer()))){$event->setCancelled(true);$event->getPlayer()->sendMessage($this->plugin->formatMessage("You can't break or place blocks here.")); } } } } I never didn't used this plugin, sorry, if here will be error.
PHP: public function factionBlockPlaceProtect(BlockPlaceEvent $event) { if($this->plugin->isInPlot($event->getPlayer())) { if($this->plugin->inOwnPlot($event->getPlayer())){ if(!$this->plugin->isLeader($event->getPlayer() or !$this->plugin->isOfficer($event->getPlayer()){ $event->setCancelled(true); $event->getPlayer()->sendMessage($this->plugin->formatMessage("You can't break or place blocks here.")); } } } }
PHP: public function factionBlockPlaceProtect(BlockPlaceEvent $event) { if($this->plugin->isInPlot($event->getPlayer())) { if($this->plugin->inOwnPlot($event->getPlayer())){ if(!$this->plugin->isLeader($event->getPlayer() and !$this->plugin->isOfficer($event->getPlayer()){ $event->setCancelled(true); $event->getPlayer()->sendMessage($this->plugin->formatMessage("You can't break or place blocks here.")); } } }} oops, I left the if statement with an or instead of and
if(!$this->plugin->isLeader($event->getPlayer()) and !$this->plugin->isOfficer($event->getPlayer()){ Guys, correct me if I am wrong but doesn't all these FactionsPro functions accept the player "name" - (string) as a param instead of the player object PHP: $this->plugin->isLeader($event->getPlayer()->getName())
don't work and the console say this Notice: Undefined property: pocketmine\Player::$getName in C:\Users\Casa\Desktop\Genisys\plugins\Factions-master\src\FactionsPro\FactionListener.php on line 105
Is same error: All Players and owner of the plot can't break I want only Officer and Leader can break/place blocks. No other
Use PHP: $this->plugin->isLeader($event->getPlayer()->getName()) instead of PHP: $this->plugin->isLeader($event->getPlayer()->getName) You want the method, not a variable...