Ir para conteúdo
  • 0

[DUVIDA] Como faço se o jogador estiver no /v, não funcionar o LegendChat local


yLR111

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0
@EventHandler
public void onChat(ChatMessageEvent e){

    if ( /* checa se está com vanish */) {
        e.setCancelled(true);
        e.getSender().sendMessage("Você está oculto, não pode falar no chat.");
     }

}

Fiz este código aqui mesmo no tópico, então podem haver métodos errados, mas esta é a base.

 

Não funcionou fiz isso -> http://prntscr.com/jpm4y2

Link para o comentário
Compartilhar em outros sites

  • 0

Você quer que quando alguém fale perto de algém no modo vanish, mostre para quem enviou que este alguém não recebeu a mensagem, mas ele receba mesmo assim? Você pode tentar algo assim:

@EventHandler
public void onChat(ChatMessageEvent e) {
	if (e.getChannel().getName().equals("local")) { // Verifica se foi no chat local
		for (String player : va) { // Inicia um laço de repetição com os jogadores no modo vanish
                        if (e.getRecipients().contains(Bukkit.getPlayer(player)) { // Verifica se o jogador está na lista de quem receberá a mensagem
				e.getRecipients().remove(Bukkit.getPlayer(player()); // Remove o jogador da lista de quem receberá a mensagem
                                Bukkit.getPlayer(player).sendMessage(e.getSender().getName() + ": " + e.getMessage()); // Envia a mensagem
                        }
		}
	}
}
Editado por Out of Orbit
Link para o comentário
Compartilhar em outros sites

  • 0

 

Você quer que quando alguém fale perto de algém no modo vanish, mostre para quem enviou que este alguém não recebeu a mensagem, mas ele receba mesmo assim? Você pode tentar algo assim:

@EventHandler
public void onChat(ChatMessageEvent e) {
	if (e.getChannel().getName().equals("local")) { // Verifica se foi no chat local
		for (String player : va) { // Inicia um laço de repetição com os jogadores no modo vanish
                        if (e.getRecipients().contains(Bukkit.getPlayer(player)) { // Verifica se o jogador está na lista de quem receberá a mensagem
				e.getRecipients().remove(Bukkit.getPlayer(player()); // Remove o jogador da lista de quem receberá a mensagem
                                Bukkit.getPlayer(player).sendMessage(e.getSender().getName() + ": " + e.getMessage()); // Envia a mensagem
                        }
		}
	}
}

Está com erro - http://prntscr.com/jq00ey http://prntscr.com/jq00kr- codigo https://pastebin.com/URxh3LBi

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, foi mal. Pensei que sua ArrayList guardava strings. Só usar este código aqui então:

@EventHandler
public void onChat(ChatMessageEvent e) {
	if (e.getChannel().getName().equals("local")) {
		for (Player player : va) {
                        if (e.getRecipients().contains(player) {
				e.getRecipients().remove(player);
                                player.sendMessage(e.getSender().getName() + ": " + e.getMessage());
                        }
		}
	}
}
Link para o comentário
Compartilhar em outros sites

  • 0

 

Ah, foi mal. Pensei que sua ArrayList guardava strings. Só usar este código aqui então:

@EventHandler
public void onChat(ChatMessageEvent e) {
	if (e.getChannel().getName().equals("local")) {
		for (Player player : va) {
                        if (e.getRecipients().contains(player) {
				e.getRecipients().remove(player);
                                player.sendMessage(e.getSender().getName() + ": " + e.getMessage());
                        }
		}
	}
}

Vlw, funfou, tu sabe tbm pra cancelar o evento de enviar tell quem estiver de /v

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem está navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...