Sousa42 Postado Novembro 3, 2018 Denunciar Compartilhar Postado Novembro 3, 2018 (editado) Estou desenvolvendo um plugin de StaffChat mas nao estou a ter sucesso O problema é o seguinte : o player sem permissão consegue ver o chat da staff Chat.java Spoiler package me.sousa42; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; public class Chat implements Listener { public main plugin; public Chat(main pl) { this.plugin = pl; } @EventHandler public void onChat(AsyncPlayerChatEvent e) { e.setCancelled(true); Player p = e.getPlayer(); String Prefix = ChatColor.translateAlternateColorCodes('&', "&8[&6Sc&8]"); String msg = e.getMessage(); if(Commands.Insc.contains(p)) { for(Player staff : Bukkit.getServer().getOnlinePlayers()) { if (p.hasPermission("Sousa42.ChatVer")) { staff.sendMessage(Prefix + " " + p.getDisplayName() + ChatColor.RED + " >> " + ChatColor.AQUA + msg); } } } } } Commands.java Spoiler package me.sousa42; import java.util.ArrayList; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class Commands implements CommandExecutor { public main plugin; public Commands(main pl) { this.plugin = pl; } public static ArrayList<Player> Insc = new ArrayList<Player>(); String Prefix = ChatColor.translateAlternateColorCodes('&', "&8[&2Sc&8] "); String Enabled = ChatColor.translateAlternateColorCodes('&', Prefix + "&6StaffChat foi &aAtivado"); String Disabled = ChatColor.translateAlternateColorCodes('&', Prefix + "&6StaffChat foi &cDesativado"); String NoPerm = ChatColor.translateAlternateColorCodes('&', "&cSem Permissão"); @Override public boolean onCommand(CommandSender sender, Command cmd, String arg2, String[] args) { if(cmd.getName().equalsIgnoreCase("sc")) { if(!(sender instanceof Player)) { sender.sendMessage("§cEste comando não pode ser executado pela console!"); return true; } Player p = (Player) sender; if(args.length == 0) { if(!(p.hasPermission("Sousa42.StaffChat"))) { p.sendMessage(NoPerm); return true; } if(Insc.contains(p)) { Insc.remove(p); p.sendMessage(Disabled); return true; } else Insc.add(p); p.sendMessage(Enabled); return true; } if(args.length >= 1) { p.sendMessage(Prefix + ChatColor.GRAY + "Usage /sc"); return true; } } return false; } } Editado Novembro 3, 2018 por Sousa42 Link para o comentário Compartilhar em outros sites More sharing options...
FabricioSouza Postado Novembro 3, 2018 Denunciar Compartilhar Postado Novembro 3, 2018 Você está criando isso no evento AsyncPlayerChatEvent Link para o comentário Compartilhar em outros sites More sharing options...
Sousa42 Postado Novembro 3, 2018 Autor Denunciar Compartilhar Postado Novembro 3, 2018 @close Link para o comentário Compartilhar em outros sites More sharing options...
NexusBr Postado Novembro 3, 2018 Denunciar Compartilhar Postado Novembro 3, 2018 42 minutos atrás, Sousa42 disse: for(Player staff : Bukkit.getServer().getOnlinePlayers()) { if (p.hasPermission("Sousa42.ChatVer")) { Tente usar: if(staff.hasPermission("Sousa") 1 Link para o comentário Compartilhar em outros sites More sharing options...
Sousa42 Postado Novembro 3, 2018 Autor Denunciar Compartilhar Postado Novembro 3, 2018 31 minutos atrás, NexusBr disse: Tente usar: if(staff.hasPermission("Sousa") Eu reparei no meu erro por isso que coloquei o @close Mas agradeço a ajuda! 1 Link para o comentário Compartilhar em outros sites More sharing options...
Reset Postado Dezembro 15, 2018 Denunciar Compartilhar Postado Dezembro 15, 2018 Seu tópico foi marcado como Inativo. Para reverter está ação, entre em contato com a equipe de Moderação. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados