Guest » MickCraft » xKizame » Postado Outubro 1, 2015 Denunciar Compartilhar Postado Outubro 1, 2015 Como eu faço para jogador usar o comando apenas se estiver X quantidade de dinheiro na conta? Eu sei remover e adicionar mas n sei fazer esse método. Link para o comentário Compartilhar em outros sites More sharing options...
zMathi Postado Outubro 1, 2015 Denunciar Compartilhar Postado Outubro 1, 2015 Crie uma classe chamada CommandCost.java: public class CommandCost { private final String command; private final double cost; public CommandCost(String command, double cost) { this.command = command; this.cost = cost; } public String getCommand() { return this.command; } public double getCost() { return this.cost; } } E um CommandCostManager.java public class CommandCostManager implements Listener { private final Economy economy; //Vault economy private final List<CommandCost> commandCostList; public CommandCostManager(Economy economy) { this.economy = economy; this.commandCostList = new ArrayList(); } public void addCommandCost(String command, double cost) { commandCostList.add(new CommandCost(command.toLowerCase(),cost)); } public CommandCost getCommandCost(String command) { for(CommandCost commandCost : commandCostList) { if(commandCost.getCommand().equals(command) { return commandCost; } } return null; } @EventHandler public void commandPreprocess(PlayerCommandPreprocessEvent event) { String command = event.getMessage().split(" ")[0].substring(1).toLowerCase(); //Não suporta aliases, então, tome cuidado '-' CommandCost commandCost = getCommandCost(command); if(commandCost == null) return; if(commandCost.getCost() > economy.getBalance(event.getPlayer().getName())) { event.setCancelled(true); event.getPlayer().sendMessage("§cVocê precisa ter " + commandCost.getCost() + " para executar este comando."); } } } CommandCostManager commandCostManager = new CommandCostManager(); Registra a listener commandCostManager e para adicionar um comando, use commandCostManager.addCommandCost("comando", valor); Desnecessário tudo isso '-' Como eu faço para jogador usar o comando apenas se estiver X quantidade de dinheiro na conta? Eu sei remover e adicionar mas n sei fazer esse método. int custo = 5000; if (economy.getBalance(p.getName()) >+ custo){ p.sendMessage("Você precisa ter 5000 coins ou mais para fazer isso."); } Link para o comentário Compartilhar em outros sites More sharing options...
Guest ~iNotLinduh. Postado Outubro 1, 2015 Denunciar Compartilhar Postado Outubro 1, 2015 (editado) De Uma Olhada... [ CLIQUE AQUI ] Esse Também [ VAULT-API ]Você Usa A Condição "if" Pra Verificar Se O Money Que O Player Tem É Maior-Igual A Uma Quantia...(Ou Menor-Igual, Da No Mesmo).Exemplo: Player p = (Player) sender;if(econ.getBalance(p.getName()) >= 1000) {p.sendMessage("§aVoce Tem:§f" +econ.getBalance(p.getName()));} else {p.sendMessage("§cVoce Tem Menos De 1K"); return true;}//Algo Deve Estar Errado, Fiz De Cabeça .-. Editado Outubro 1, 2015 por ~iNotLinduh. Link para o comentário Compartilhar em outros sites More sharing options...
Manolo8 Postado Outubro 1, 2015 Denunciar Compartilhar Postado Outubro 1, 2015 (editado) Crie uma classe chamada CommandCost.java: public class CommandCost { private final String command; private final double cost; public CommandCost(String command, double cost) { this.command = command; this.cost = cost; } public String getCommand() { return this.command; } public double getCost() { return this.cost; } } E um CommandCostManager.java public class CommandCostManager implements Listener { private final Economy economy; //Vault economy private final List<CommandCost> commandCostList; public CommandCostManager(Economy economy) { this.economy = economy; this.commandCostList = new ArrayList(); } public void addCommandCost(String command, double cost) { commandCostList.add(new CommandCost(command.toLowerCase(),cost)); } public CommandCost getCommandCost(String command) { for(CommandCost commandCost : commandCostList) { if(commandCost.getCommand().equals(command) { return commandCost; } } return null; } @EventHandler public void commandPreprocess(PlayerCommandPreprocessEvent event) { String command = event.getMessage().split(" ")[0].substring(1).toLowerCase(); //Não suporta aliases, então, tome cuidado '-' CommandCost commandCost = getCommandCost(command); if(commandCost == null) return; if(commandCost.getCost() > economy.getBalance(event.getPlayer().getName())) { event.setCancelled(true); event.getPlayer().sendMessage("§cVocê precisa ter " + commandCost.getCost() + " para executar este comando."); } } } CommandCostManager commandCostManager = new CommandCostManager(); Registra a listener commandCostManager e para adicionar um comando, use commandCostManager.addCommandCost("comando", valor); Editado Outubro 1, 2015 por Manolo8 Link para o comentário Compartilhar em outros sites More sharing options...
Manolo8 Postado Outubro 1, 2015 Denunciar Compartilhar Postado Outubro 1, 2015 Só fiz um sistema para o cara ter uma ideia, o cara podia pegar o que queria dali, mas já que nem leu, problema é dele. Tentei dar mais opções, e quando alguém faz isso, só se ferra... é a vida... Link para o comentário Compartilhar em outros sites More sharing options...
V1η1 Postado Outubro 1, 2015 Denunciar Compartilhar Postado Outubro 1, 2015 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board 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
Guest » MickCraft » xKizame »
Como eu faço para jogador usar o comando apenas se estiver X quantidade de dinheiro na conta?
Eu sei remover e adicionar mas n sei fazer esse método.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados