zSnowReach Postado Abril 23, 2020 Denunciar Compartilhar Postado Abril 23, 2020 Seguinte, eu estou fazendo um plugin de "trocas" com NPC que quando você clica nele abre um Inventory. A questão é o seguinte, como eu faço pra quando o player clicar em certo item do menu, ser removido tantos itens do inventário do jogador? (Uma troca basicamente, ele compra algo e perder alguns itens do inventário) Eu consigo fazer isso usando p.getInventory.removeItem, mas eu queria remover um item com Amount específico, Displayname, lore e etc ( https://prnt.sc/s4owvw ) Link para o comentário Compartilhar em outros sites More sharing options...
rubenlousada11 Postado Abril 23, 2020 Denunciar Compartilhar Postado Abril 23, 2020 (editado) 10 minutos atrás, zSnowReach disse: Seguinte, eu estou fazendo um plugin de "trocas" com NPC que quando você clica nele abre um Inventory. A questão é o seguinte, como eu faço pra quando o player clicar em certo item do menu, ser removido tantos itens do inventário do jogador? (Uma troca basicamente, ele compra algo e perder alguns itens do inventário) Eu consigo fazer isso usando p.getInventory.removeItem, mas eu queria remover um item com Amount específico, Displayname, lore e etc ( https://prnt.sc/s4owvw ) int quantidade = 0; int a = 0; List<Integer> slots2 = new ArrayList<Integer>(); for (ItemStack item : e.getWhoClicked().getInventory()) { if (item != null) if (item.getType() == Material.RAW_FISH) { quantidade += item.getAmount(); slots2.add(a); } a++; } if (quantidade >= 500) { e.getWhoClicked().sendMessage("§aVocê completou a missão."); main.jogadores.get(e.getWhoClicked().getName()).put(String.valueOf(slots.indexOf(i) + 1), true); int quantidade2 = 0; for (int slot : slots2) { quantidade2 += e.getWhoClicked().getInventory().getItem(slot).getAmount(); if (quantidade2 >= 500) { e.getWhoClicked().getInventory().getItem(slot).setAmount(quantidade2 - 500); break; } else e.getWhoClicked().getInventory().setItem(slot, new ItemStack(Material.AIR)); } } else e.getWhoClicked().sendMessage("§cVocê não possui 500 peixes consigo."); Esse é o codigo que sei para meu plugin de missões! Ele esta a funcionar, eu acho kkkkk Não sei se ha melhor forma de fazer esse bagulho kkkk (Certeza que ha!) Editado Abril 23, 2020 por rubenlousada11 Link para o comentário Compartilhar em outros sites More sharing options...
zSnowReach Postado Abril 23, 2020 Autor Denunciar Compartilhar Postado Abril 23, 2020 6 minutos atrás, rubenlousada11 disse: int quantidade = 0; int a = 0; List<Integer> slots2 = new ArrayList<Integer>(); for (ItemStack item : e.getWhoClicked().getInventory()) { if (item != null) if (item.getType() == Material.RAW_FISH) { quantidade += item.getAmount(); slots2.add(a); } a++; } if (quantidade >= 500) { e.getWhoClicked().sendMessage("§aVocê completou a missão."); main.jogadores.get(e.getWhoClicked().getName()).put(String.valueOf(slots.indexOf(i) + 1), true); int quantidade2 = 0; for (int slot : slots2) { quantidade2 += e.getWhoClicked().getInventory().getItem(slot).getAmount(); if (quantidade2 >= 500) { e.getWhoClicked().getInventory().getItem(slot).setAmount(quantidade2 - 500); break; } else e.getWhoClicked().getInventory().setItem(slot, new ItemStack(Material.AIR)); } } else e.getWhoClicked().sendMessage("§cVocê não possui 500 peixes consigo."); Esse é o codigo que sei para meu plugin de missões! Ele esta a funcionar, eu acho kkkkk Não sei se ha melhor forma de fazer esse bagulho kkkk (Certeza que ha!) Obrigado, vou tentar fazer alguns testes Link para o comentário Compartilhar em outros sites More sharing options...
rubenlousada11 Postado Abril 23, 2020 Denunciar Compartilhar Postado Abril 23, 2020 12 minutos atrás, zSnowReach disse: Obrigado, vou tentar fazer alguns testes kkkkk de nada ? depois diga alguma coisa Link para o comentário Compartilhar em outros sites More sharing options...
zSnowReach Postado Abril 23, 2020 Autor Denunciar Compartilhar Postado Abril 23, 2020 13 minutos atrás, rubenlousada11 disse: kkkkk de nada ? depois diga alguma coisa Esse código não parece funcional para itens com Displayname e Lore ;( Link para o comentário Compartilhar em outros sites More sharing options...
rubenlousada11 Postado Abril 23, 2020 Denunciar Compartilhar Postado Abril 23, 2020 3 minutos atrás, zSnowReach disse: Esse código não parece funcional para itens com Displayname e Lore ;( da sim, so modificar os ifs no primeiro for Link para o comentário Compartilhar em outros sites More sharing options...
zSnowReach Postado Abril 23, 2020 Autor Denunciar Compartilhar Postado Abril 23, 2020 12 minutos atrás, rubenlousada11 disse: da sim, so modificar os ifs no primeiro for Eu realmente não consigo fazer isso, estou a alguns dias tentando já Link para o comentário Compartilhar em outros sites More sharing options...
rubenlousada11 Postado Abril 23, 2020 Denunciar Compartilhar Postado Abril 23, 2020 eu nao te vou dar o codigo todo, leia o codigo que lhe mandei e modifique se não desiste só Link para o comentário Compartilhar em outros sites More sharing options...
zSnowReach Postado Abril 23, 2020 Autor Denunciar Compartilhar Postado Abril 23, 2020 Já consegui Link para o comentário Compartilhar em outros sites More sharing options...
yDoom Postado Abril 23, 2020 Denunciar Compartilhar Postado Abril 23, 2020 Sua dúvida foi marcada como resolvida pela nossa equipe. Caso sua dúvida não tenha sido sanada, crie outro tópico. OBS: Essa mensagem é automática. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados