Ir para conteúdo
  • 0

[Resolvido] Evento de quando um player troca de armadura.


Krash0 is Alive

Pergunta

9 respostass a esta questão

Posts Recomendados

Já tentei assim, mais tem um problema, o player pode usar uma armadura clicando com o lado direito do mouser msm com o inventário fechado.

Usa o PlayerInteractEvent e checa se o click é com o botão direito do mouse e se ele esta segundo uma armadura...

	@EventHandler
	private void onPlayerInteract(PlayerInteractEvent e)
	{
		if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK)
		{
			if (e.getPlayer().getItemInHand().getType() == Material.DIAMOND_HELMET /* ... */)
			{
				e.getPlayer().sendMessage("Abra o inventario para mudar a armadura.");
			}
		}
	}

A titulo de curiosidade, o que você está tentando fazer?

Editado por leonardosci
Link para o comentário
Compartilhar em outros sites

Não existe, mas tem o InventoryClickEvent, ele tem um método chamado getSlotType() que retorna o tipo de slot que ele clicou... exemplo


	@EventHandler
	public void onInventoryClick(InventoryClickEvent e)
	{
		if (e.getWhoClicked() instanceof Player)
		{
			Player player = (Player)e.getWhoClicked();
		
			if (e.getSlotType() == SlotType.ARMOR)
			{
				player.sendMessage("Voce clicou na armadura.");
			}
		}
	}
Link para o comentário
Compartilhar em outros sites

 

Não existe, mas tem o InventoryClickEvent, ele tem um método chamado getSlotType() que retorna o tipo de slot que ele clicou... exemplo


	@EventHandler
	public void onInventoryClick(InventoryClickEvent e)
	{
		if (e.getWhoClicked() instanceof Player)
		{
			Player player = (Player)e.getWhoClicked();
		
			if (e.getSlotType() == SlotType.ARMOR)
			{
				player.sendMessage("Voce clicou na armadura.");
			}
		}
	}

 

Já tentei assim, mais tem um problema, o player pode usar uma armadura clicando com o lado direito do mouser msm com o inventário fechado.

Link para o comentário
Compartilhar em outros sites

Usa o PlayerInteractEvent e checa se o click é com o botão direito do mouse e se ele esta segundo uma armadura...

	@EventHandler
	private void onPlayerInteract(PlayerInteractEvent e)
	{
		if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK)
		{
			if (e.getPlayer().getItemInHand().getType() == Material.DIAMOND_HELMET /* ... */)
			{
				e.getPlayer().sendMessage("Abra o inventario para mudar a armadura.");
			}
		}
	}

A titulo de curiosidade, o que você está tentando fazer?

Vlw leonardo, tava precisando desse code também, fazendo colete a prova de balas para meu sv de dayz! haha

Ai só vai poder usar com um certo nivel/XP ;)

Link para o comentário
Compartilhar em outros sites

Usa o PlayerInteractEvent e checa se o click é com o botão direito do mouse e se ele esta segundo uma armadura...

	@EventHandler
	private void onPlayerInteract(PlayerInteractEvent e)
	{
		if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK)
		{
			if (e.getPlayer().getItemInHand().getType() == Material.DIAMOND_HELMET /* ... */)
			{
				e.getPlayer().sendMessage("Abra o inventario para mudar a armadura.");
			}
		}
	}

A titulo de curiosidade, o que você está tentando fazer?

 

Estou tentando fzr um sistema de armaduras com Defesa e LvL q o player precisa para poder usar a armadura, essa parte ai eu sabia fzr...

Mas estou com outro problema, vou criar outro tópico e se poder ajudar eu agradeço.

Link para o comentário
Compartilhar em outros sites

Estou tentando fzr um sistema de armaduras com Defesa e LvL q o player precisa para poder usar a armadura, essa parte ai eu sabia fzr...

Mas estou com outro problema, vou criar outro tópico e se poder ajudar eu agradeço.

ok

Editado por leonardosci
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...