gmoehra Postado Abril 30, 2018 Denunciar Compartilhar Postado Abril 30, 2018 Olá pessoas, seguinte estou criando um sistema de troca de itens no inventário para ser mais especifico um estilo de /hats . /gadgets Eu quero fazer a verificação se o item já equipado é o mesmo que está no menu e estou clicando. Exemplo: Eu equipei um Capacete com um certo encantamento, dai quando eu abro o meu de novo quando eu clicar no Capacete aparece uma mensagem ou qualquer coisa. No final é mais um tipo de verificação. Link para o comentário Compartilhar em outros sites More sharing options...
0 SnowRunescape Postado Abril 30, 2018 Denunciar Compartilhar Postado Abril 30, 2018 deixa eu ver se entendi... você não explicou muito bem... você quer saber como que faz um pl de /hat, pra equipar tem que usar esse comando, e se a pessoa abrir o inventario ela não consegue tirar o item? Link para o comentário Compartilhar em outros sites More sharing options...
0 VictorHeaven Postado Abril 30, 2018 Denunciar Compartilhar Postado Abril 30, 2018 (editado) @EventHandler public void InventoryClick2(InventoryClickEvent e) { if (e.getCurrentItem() != null) { Player p = (Player) e.getWhoClicked(); if (p.getInventory().getHelmet() != null && e.getCurrentItem() == p.getInventory().getHelmet()) { e.setCancelled(true); } } } Se entendi bem, é isso @edit Dps q tu comentou, percebi q deve ser isso kk @EventHandler public void InventoryClick2(InventoryClickEvent e) { if (e.getCurrentItem() != null && e.getInventory().getTitle().equals("Inventory Name")) { e.setCancelled(true); Player p = (Player) e.getWhoClicked(); if (p.getInventory().getHelmet() != null && e.getCurrentItem() == p.getInventory().getHelmet()) { p.sendMessage("§cVocê já está com este item equipado!"); p.closeInventory(); return; } p.getInventory().setHelmet(e.getCurrentItem()); p.sendMessage("§aItem equipado!"); p.closeInventory(); return; } } Editado Abril 30, 2018 por Victor696 Link para o comentário Compartilhar em outros sites More sharing options...
0 gmoehra Postado Abril 30, 2018 Autor Denunciar Compartilhar Postado Abril 30, 2018 deixa eu ver se entendi... você não explicou muito bem... você quer saber como que faz um pl de /hat, pra equipar tem que usar esse comando, e se a pessoa abrir o inventario ela não consegue tirar o item? Tipo, eu abri o menu de /hat dai quando eu equipar o Item, ele vei la e aparece na cabeça do jogador. Dai quando eu do /hat de novo, quando ele clicar no item que ele clicou antes aparecer uma Msg ou um Titulo dizendo que "O item ja se encontra equipado." Link para o comentário Compartilhar em outros sites More sharing options...
0 SnowRunescape Postado Abril 30, 2018 Denunciar Compartilhar Postado Abril 30, 2018 Tipo, eu abri o menu de /hat dai quando eu equipar o Item, ele vei la e aparece na cabeça do jogador. Dai quando eu do /hat de novo, quando ele clicar no item que ele clicou antes aparecer uma Msg ou um Titulo dizendo que "O item ja se encontra equipado." Verifica o id do que ta no slot do capacete.. se for o mesmo do que ele clicou manda a mensagem, e da return; e não esquece de cancelar o event do clique Link para o comentário Compartilhar em outros sites More sharing options...
0 gmoehra Postado Abril 30, 2018 Autor Denunciar Compartilhar Postado Abril 30, 2018 Verifica o id do que ta no slot do capacete.. se for o mesmo do que ele clicou manda a mensagem, e da return; e não esquece de cancelar o event do clique @EventHandler public void InventoryClick2(InventoryClickEvent e) { if (e.getCurrentItem() != null) { Player p = (Player) e.getWhoClicked(); if (p.getInventory().getHelmet() != null && e.getCurrentItem() == p.getInventory().getHelmet()) { e.setCancelled(true); } } } Se entendi bem, é isso @edit Dps q tu comentou, percebi q deve ser isso kk @EventHandler public void InventoryClick2(InventoryClickEvent e) { if (e.getCurrentItem() != null && e.getInventory().getTitle().equals("Inventory Name")) { e.setCancelled(true); Player p = (Player) e.getWhoClicked(); if (p.getInventory().getHelmet() != null && e.getCurrentItem() == p.getInventory().getHelmet()) { p.sendMessage("§cVocê já está com este item equipado!"); p.closeInventory(); return; } p.getInventory().setHelmet(e.getCurrentItem()); p.sendMessage("§aItem equipado!"); p.closeInventory(); return; } } Testei o teu código e mesmo assim n faz a verificão Estou usando este codigo para o InvetoryClickEvent @EventHandler public void onInventoryClickEvent(InventoryClickEvent e) { String Item_Equipado = "§eO item foi equipado com sucesso."; String Item_Ja_Equipado = "§cEste item já se encontra equipado."; Player p = (Player) e.getWhoClicked(); if (e.getInventory().getTitle().contains("§8Cosmeticos - Página §0#01")) { e.setCancelled(true); if (e.getSlot() == 10) { if (p.getInventory().getHelmet() != null && e.getCurrentItem() == p.getInventory().getHelmet()) { p.closeInventory(); p.sendMessage(Item_Ja_Equipado); return; } p.getInventory().setHelmet(new ItemBuilder(Material.DIAMOND_HELMET).enchant(Enchantment.DURABILITY, 1) .removeAttributes().build()); p.closeInventory(); p.sendMessage(Item_Equipado); return; } if (e.getSlot() == 49) { M_Pricipal.Menu(p); } } } Link para o comentário Compartilhar em outros sites More sharing options...
0 VictorHeaven Postado Abril 30, 2018 Denunciar Compartilhar Postado Abril 30, 2018 Testei o teu código e mesmo assim n faz a verificão Estou usando este codigo para o InvetoryClickEvent @EventHandler public void onInventoryClickEvent(InventoryClickEvent e) { String Item_Equipado = "§eO item foi equipado com sucesso."; String Item_Ja_Equipado = "§cEste item já se encontra equipado."; Player p = (Player) e.getWhoClicked(); if (e.getInventory().getTitle().contains("§8Cosmeticos - Página §0#01")) { e.setCancelled(true); if (e.getSlot() == 10) { if (p.getInventory().getHelmet() != null && e.getCurrentItem() == p.getInventory().getHelmet()) { p.closeInventory(); p.sendMessage(Item_Ja_Equipado); return; } p.getInventory().setHelmet(new ItemBuilder(Material.DIAMOND_HELMET).enchant(Enchantment.DURABILITY, 1) .removeAttributes().build()); p.closeInventory(); p.sendMessage(Item_Equipado); return; } if (e.getSlot() == 49) { M_Pricipal.Menu(p); } } } O item que está no inventário, é o mesmo que você está equipando na cabeça do jogador? Link para o comentário Compartilhar em outros sites More sharing options...
0 gmoehra Postado Abril 30, 2018 Autor Denunciar Compartilhar Postado Abril 30, 2018 O item que está no inventário, é o mesmo que você está equipando na cabeça do jogador? Sim é o mesmo, do jeito que esta ali no slot 10 é o mesmo que está no slot do HELMET detro do inventário do jogador Link para o comentário Compartilhar em outros sites More sharing options...
0 Atlvntis. Postado Abril 30, 2018 Denunciar Compartilhar Postado Abril 30, 2018 Testei o teu código e mesmo assim n faz a verificão Estou usando este codigo para o InvetoryClickEvent @EventHandler public void onInventoryClickEvent(InventoryClickEvent e) { String Item_Equipado = "§eO item foi equipado com sucesso."; String Item_Ja_Equipado = "§cEste item já se encontra equipado."; Player p = (Player) e.getWhoClicked(); if (e.getInventory().getTitle().contains("§8Cosmeticos - Página §0#01")) { e.setCancelled(true); if (e.getSlot() == 10) { if (p.getInventory().getHelmet() != null && e.getCurrentItem() == p.getInventory().getHelmet()) { p.closeInventory(); p.sendMessage(Item_Ja_Equipado); return; } p.getInventory().setHelmet(new ItemBuilder(Material.DIAMOND_HELMET).enchant(Enchantment.DURABILITY, 1) .removeAttributes().build()); p.closeInventory(); p.sendMessage(Item_Equipado); return; } if (e.getSlot() == 49) { M_Pricipal.Menu(p); } } } Tenta utilizar .equals ao invés de ==, pode ou não resolver C: Link para o comentário Compartilhar em outros sites More sharing options...
0 gmoehra Postado Abril 30, 2018 Autor Denunciar Compartilhar Postado Abril 30, 2018 Olá, Tava fazendo alguns testes agora pela manhã e deu certo o código abaixo. caso alguem ai esteja procurando tbm é tois e obrigado ai todos que tentaram ajudar if (e.getSlot() == 10) { if (p.getInventory().getHelmet() != null) { p.closeInventory(); p.sendMessage(Item_Ja_Equipado); return; } else { p.getInventory().setHelmet(new ItemBuilder(Material.DIAMOND_HELMET) .enchant(Enchantment.DURABILITY, 1).removeAttributes().build()); p.closeInventory(); p.sendMessage(Item_Equipado); return; } } Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas.Atenciosamente,Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
gmoehra
Olá pessoas, seguinte estou criando um sistema de troca de itens no inventário
para ser mais especifico um estilo de /hats . /gadgets
Eu quero fazer a verificação se o item já equipado é o mesmo que está no menu e estou clicando.
Exemplo:
Eu equipei um Capacete com um certo encantamento, dai quando eu abro o meu de novo
quando eu clicar no Capacete aparece uma mensagem ou qualquer coisa.
No final é mais um tipo de verificação.
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados