MilkBR Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 Olá, estou fazendo um plugin de fly, e gostaria de saber como fazer que o console possa executar o comado, ex: "fly MilkBR" se estiver com o fly ativado ele vai desativar, e quando estiver desativado ele vai ativar, mas o console que fara isso. Print: Link para o comentário Compartilhar em outros sites More sharing options...
pnxt Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 Bukkit.dispatchCommand("fly " + p.getName()); Mais acho melhor você tentar um outro jeito Link para o comentário Compartilhar em outros sites More sharing options...
ImPedro Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 (editado) Cara é melhor fazer de outra forma o outro disse ali acima, se precisar de ajuda add skype: o.sr.da.batata.bem.azulzinha hu.hu boa sorte com a programing ae Editado Outubro 18, 2015 por VeryStyle Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 Assim: @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (sender instanceof Player) {//Ve se o sender e player Player p = (Player)sender; if (label.equalsIgnoreCase("fly")) { if (p.hasPermission("vua")) { if (p.isFlying()) { p.setFlying(false); p.sendMessage("§cFly desativado!"); } else { p.setFlying(true); p.sendMessage("§cFly ativado!"); } } else { p.sendMessage("§cSem permissão!"); return true; } } } return false; } 1 Link para o comentário Compartilhar em outros sites More sharing options...
Guest S4ckb0yy Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 (editado) private static boolean fly = false; // .... @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (sender instanceof Player) { Player p = (Player)sender; if(this.fly) { p.setAllowFlight() p.setFlying(); } if (label.equalsIgnoreCase("fly")) { this.fly = !this.fly; } } return false; } editei do kra acima Editado Outubro 18, 2015 por S4ckb0yy Link para o comentário Compartilhar em outros sites More sharing options...
MilkBR Postado Outubro 18, 2015 Autor Denunciar Compartilhar Postado Outubro 18, 2015 Assim: @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (sender instanceof Player) {//Ve se o sender e player Player p = (Player)sender; if (label.equalsIgnoreCase("fly")) { if (p.hasPermission("vua")) { if (p.isFlying()) { p.setFlying(false); p.sendMessage("§cFly desativado!"); } else { p.setFlying(true); p.sendMessage("§cFly ativado!"); } } else { p.sendMessage("§cSem permissão!"); return true; } } } return false; } Da um erro no console e quando eu dou o comando Link para o comentário Compartilhar em outros sites More sharing options...
Guest ichy-wayland Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 Da um erro no console erro.jpg e quando eu dou o comando erro2.jpg O Primeiro erro diz que o arquivo config.yml não foi achado em Fly.jar O Segundo diz que tem uma unhandled exception no seu código, tente botar um try/catch Link para o comentário Compartilhar em outros sites More sharing options...
Guest S4ckb0yy Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 (editado) le o meu codigo, n vai dar erro o erro era porque você seta o jogador para voar, sem ter a permissão de voar (AllowFlight) Editado Outubro 18, 2015 por S4ckb0yy Link para o comentário Compartilhar em outros sites More sharing options...
MilkBR Postado Outubro 18, 2015 Autor Denunciar Compartilhar Postado Outubro 18, 2015 le o meu codigo, n vai dar erro o erro era porque você seta o jogador para voar, sem ter a permissão de voar (AllowFlight) Não da Link para o comentário Compartilhar em outros sites More sharing options...
Guest S4ckb0yy Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 Não da não funcionou o codigo que te passei? qual erro deu? Link para o comentário Compartilhar em outros sites More sharing options...
MilkBR Postado Outubro 18, 2015 Autor Denunciar Compartilhar Postado Outubro 18, 2015 não funcionou o codigo que te passei? qual erro deu? http://pastebin.com/FJ1umyRv esse é com o código do stalker122 , como que ficaria? Link para o comentário Compartilhar em outros sites More sharing options...
Guest LukasDev_ Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 Player p = (Player)sender; if(cmd.getName().equalsIgnoreCase("fly")); p.sendMessage("FLY OFF!") p.setFlying(false); } else { p.sendMessage("Fly ON!") p.setFlying(true); Se não colocou as msg da config naquele erro, sugiro você colocar as mensagens pelo eclipse mesmo! Link para o comentário Compartilhar em outros sites More sharing options...
Guest S4ckb0yy Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 http://pastebin.com/FJ1umyRv esse é com o código do stalker122 , como que ficaria? Tenta usar a que eu te passei então. o private static boolean fly = false; você coloca no inicio do codigo Link para o comentário Compartilhar em outros sites More sharing options...
MilkBR Postado Outubro 18, 2015 Autor Denunciar Compartilhar Postado Outubro 18, 2015 Tenta usar a que eu te passei então. o private static boolean fly = false; você coloca no inicio do codigo Se der para você passar no pastebin, fica melhor Link para o comentário Compartilhar em outros sites More sharing options...
ImPedro Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 Oe, ainda bem que lembrou ja ia me esquecer de por no meu plugin heuehue. Fiz um subcomando no meu e só adptei aqui. http://pastebin.com/3RVzwY3m obs. Troque no meu código label por cmd.getName() Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Outubro 18, 2015 Denunciar Compartilhar Postado Outubro 18, 2015 Só taca isso onde ta pra desligar o fly p.setAllowFlight(false); e pra ligar p.setAllowFlight(true); Tenta usar a que eu te passei então. o private static boolean fly = false; você coloca no inicio do codigo Isso seria para todos, se um ativar vai ativar pra todos... NO MEU CODE LÁ Link para o comentário Compartilhar em outros sites More sharing options...
MilkBR Postado Outubro 19, 2015 Autor Denunciar Compartilhar Postado Outubro 19, 2015 Só taca isso onde ta pra desligar o fly p.setAllowFlight(false); e pra ligar p.setAllowFlight(true); Isso seria para todos, se um ativar vai ativar pra todos... NO MEU CODE LÁ Passa no pastebin, ajuda muito na minha vida Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 (editado) Só taca isso onde ta pra desligar o fly p.setAllowFlight(false); e pra ligar p.setAllowFlight(true); Isso seria para todos, se um ativar vai ativar pra todos... NO MEU CODE LÁ O caceta, ai eu te pergunto, o console e player? Pq diaxo tu passa o cod pra ele pega player p, e ele quer fazer executar pelo console, tira esse instanceof, quando chegar em casa de nao tiver resolvido, eu faço o cor, to pelo celular. @Edit if(command.getName().equalsIgnoreCase("fly")){ boolean isPlayer = false; Player p = null; if(sender instanceof Player){ isPlayer = true; p = (Player)sender; } if(args.length == 0 ){ if(!isPlayer){ sender.sendMessage("§cUtilize §f/fly {Player}"); return true; } if(p.isFlying()){ p.setFlying(false); sender.sendMessage("§aFly Desativado"); }else{ p.setFlying(true); sender.sendMessage("§aFly Ativado"); } return true; } if(args.length == 1){ if(isPlayer){ if(!sender.hasPermission("fly.outros")){ sender.sendMessage("§cVoce nao possui permissao"); return true; } } Player alvo = Bukkit.getPlayer(args[0]); if(alvo == null){ sender.sendMessage("§c" + args[0] + " esta offline"); return true; } if(!alvo.isOnline()){ sender.sendMessage("§c" + args[0] + " esta offline"); return true; } if(alvo.isFlying()){ alvo.setFlying(false); sender.sendMessage("§aVoce desativou o fly de " + args[0]); }else{ alvo.setFlying(true); sender.sendMessage("§aVoce ativou o fly de " + args[0]); } return true; } } Tecnicamente é para funcionar no console :c Editado Outubro 19, 2015 por kaway Link para o comentário Compartilhar em outros sites More sharing options...
MilkBR Postado Outubro 19, 2015 Autor Denunciar Compartilhar Postado Outubro 19, 2015 (editado) O caceta, ai eu te pergunto, o console e player? Pq diaxo tu passa o cod pra ele pega player p, e ele quer fazer executar pelo console, tira esse instanceof, quando chegar em casa de nao tiver resolvido, eu faço o cor, to pelo celular. @Edit if(command.getName().equalsIgnoreCase("fly")){ boolean isPlayer = false; Player p = null; if(sender instanceof Player){ isPlayer = true; p = (Player)sender; } if(args.length == 0 ){ if(!isPlayer){ sender.sendMessage("§cUtilize §f/fly {Player}"); return true; } if(p.isFlying()){ p.setFlying(false); sender.sendMessage("§aFly Desativado"); }else{ p.setFlying(true); sender.sendMessage("§aFly Ativado"); } return true; } if(args.length == 1){ if(isPlayer){ if(!sender.hasPermission("fly.outros")){ sender.sendMessage("§cVoce nao possui permissao"); return true; } } Player alvo = Bukkit.getPlayer(args[0]); if(alvo == null){ sender.sendMessage("§c" + args[0] + " esta offline"); return true; } if(!alvo.isOnline()){ sender.sendMessage("§c" + args[0] + " esta offline"); return true; } if(alvo.isFlying()){ alvo.setFlying(false); sender.sendMessage("§aVoce desativou o fly de " + args[0]); }else{ alvo.setFlying(true); sender.sendMessage("§aVoce ativou o fly de " + args[0]); } return true; } } Tecnicamente é para funcionar no console :c O cod esta desse jeito, http://pastebin.com/FJ1umyRv Tem como você me passa no pastebin, fica mais facil para mim... Editado Outubro 19, 2015 por MilkBR Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 O cod esta desse jeito, http://pastebin.com/FJ1umyRv Tem como você me passa no pastebin, fica mais facil para mim... eu te passei o código já, só saber onde colocar, se é um comando, pq você não está definindo o comando? Não irei passar o projeto pronto não, eu já fiz foi muito passando o código, geralmente dou o caminho, e você que encontra, só saber onde colocar agora. Link para o comentário Compartilhar em outros sites More sharing options...
Herobrinedobem Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 https://github.com/GabrielButarelo/HFly/tree/master/src/me/herobrinedobem/hfly Link para o comentário Compartilhar em outros sites More sharing options...
Guest S4ckb0yy Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 (editado) Isso seria para todos, se um ativar vai ativar pra todos... NO MEU CODE LÁ temos um "desenvolvedor" tao lixo nesse forum ok vamos la no meu codigo novamente: private static boolean fly = false; // .... @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (sender instanceof Player) { Player p = (Player)sender; if(this.fly) { p.setAllowFlight() p.setFlying(); } if (label.equalsIgnoreCase("fly")) { this.fly = !this.fly; } } return false; } Se p = o jogador que mandou o comando, como que o fly ativaria pra todos os players? vc tem demencia? Editado Outubro 19, 2015 por S4ckb0yy Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 (editado) temos um "desenvolvedor" tao lixo nesse forum ok vamos la no meu codigo novamente: private static boolean fly = false; // .... @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (sender instanceof Player) { Player p = (Player)sender; if(this.fly) { p.setAllowFlight() p.setFlying(); } if (label.equalsIgnoreCase("fly")) { this.fly = !this.fly; } } return false; } Se p = o jogador que mandou o comando, como que o fly ativaria pra todos os players? vc tem demencia? Essa boolean esta pra todos, agr so tem 1 player no sv? ¬¬ Lixão HashMap<Player, Boolean> d = new HashMap<>(); d.put(p, true); Editado Outubro 19, 2015 por stalker112 Link para o comentário Compartilhar em outros sites More sharing options...
Guest S4ckb0yy Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 wtf??????????w le isso: Player p = (Player)sender; SENDER É O COMMAND SENDER, OU SEJA, SO VAI DAR FLY PRA ELE Link para o comentário Compartilhar em outros sites More sharing options...
Langsdorf Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 wtf??????????w le isso: Player p = (Player)sender; SENDER É O COMMAND SENDER, OU SEJA, SO VAI DAR FLY PRA ELE ENTÃO, E SE OUTRO PLAYER DE /FLY??? A BOOLEAN N VAI TAR TRUE? ENTÃO ¬¬ Link para o comentário Compartilhar em outros sites More sharing options...
champS Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 (editado) Cara, só acho que você não setou o comando.. Após setar o comando na plugin.yml da seguinte forma: commands: (2 espaços) fly: (mais 2 espaços) description: descrição Seta na Main. getCommand("fly").setExecutor(new NomeDaClassDoComando()); Editado Outubro 19, 2015 por GHOST Link para o comentário Compartilhar em outros sites More sharing options...
MilkBR Postado Outubro 19, 2015 Autor Denunciar Compartilhar Postado Outubro 19, 2015 Resolvido! Boladexziinho me ajudou =) Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 (editado) wtf??????????w le isso: Player p = (Player)sender; SENDER É O COMMAND SENDER, OU SEJA, SO VAI DAR FLY PRA ELE Só pra informar, estes boolean está estático que é inútil, e fora que ele está para QUALQUER 1 QUE EXECUTAR O COMANDO, não vem com essa de "olha, é só o commandsender" pra mim, leia seu código, não venha querendo chegar desmerecendo um usuário, para que a boolean funcione somente para o player do modo que está usando, utilize pelo menos boolean isFlying = p.isFlying() onde retornará a boolean, que no caso foi o que fiz, e coloque dentro do comando, não fora e ainda mais estático. E não sei se você sabe ler, ele pediu para o console executar o comando, neste caso, não tem que colocar para executar o comando somente para Players (sender instanceof Player ), pois se o console executar o comando, não irá funcionar nada. Editado Outubro 19, 2015 por kaway Link para o comentário Compartilhar em outros sites More sharing options...
zMathi Postado Outubro 19, 2015 Denunciar Compartilhar Postado Outubro 19, 2015 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
MilkBR
Olá, estou fazendo um plugin de fly, e gostaria de saber como fazer que o console possa executar o comado, ex: "fly MilkBR" se estiver com o fly ativado ele vai desativar, e quando estiver desativado ele vai ativar, mas o console que fara isso.
Print:
Link para o comentário
Compartilhar em outros sites
28 respostass a esta questão
Posts Recomendados