LuizB Postado Abril 20, 2016 Denunciar Compartilhar Postado Abril 20, 2016 Como faço pra colocar varios argumentos em um comando ?Exemplo /command bla bla bla = fa fa fao " bla bla bla" iria setar na string1 e o fa fa fa na string 2 Link para o comentário Compartilhar em outros sites More sharing options...
ElGaubinho Postado Abril 22, 2016 Denunciar Compartilhar Postado Abril 22, 2016 Nem Vi Tua Resposta. Sim só que se eu digitar /squiz qual O Nome do fórum ? = O Nome Do Forum é Gamersboard Como faço pra salvar o "O Nome Do Forum é Gamersboard" em uma String ? Fora do seu método de comando, use public static String quest; public static String answer; No método é só colocar então public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < args.length;i++){ buffer.append(args[i]); } String allArguments = buffer.toString(); if (allArguments.contains("=")) { String[] splitedArgs = allArguments.split("="); // Aqui você pode fazer oque quiser com os argumentos divididos // Eu só coloquei para imprimir no console cada um deles. // OBS: Pode tirar xD for (int i = 0; i < splitedArgs.length;i++){ System.out.println(splitedArgs[i] + "\n"); } quest = splitedArgs[0]; answer = splitedArgs[1]; } } Se quiser salvar em config basta setar as strings na config Se quiser salvar temporariamente utilize um HashMap<String, String> 1 Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Abril 20, 2016 Denunciar Compartilhar Postado Abril 20, 2016 (editado) https://hub.spigotmc.org/javadocs/spigot/org/bukkit/command/CommandExecutor.html#onCommand(org.bukkit.command.CommandSender,%20org.bukkit.command.Command,%20java.lang.String,%20java.lang.String[]) Por exemplo, /test arg1 arg2 boolean onCommand(CommandSender sender, Command command, String label, String[] args) { String argumento1 = args[0];// é o arg1 String argumento2 = args[1];// é o arg2 // ... lembre-se de checar se o índice do array existe pra evitar erros. return true; } Editado Abril 20, 2016 por leonardosc Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Abril 20, 2016 Autor Denunciar Compartilhar Postado Abril 20, 2016 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/command/CommandExecutor.html#onCommand(org.bukkit.command.CommandSender,%20org.bukkit.command.Command,%20java.lang.String,%20java.lang.String[]) Por exemplo, /test arg1 arg2 boolean onCommand(CommandSender sender, Command command, String label, String[] args) { String argumento1 = args[0];// é o arg1 String argumento2 = args[1];// é o arg2 // ... lembre-se de checar se o índice do array existe pra evitar erros. return true; } n leoo è tipo /iniciarqiuz Em Que Ano Estamos ? = Estamos em 2016 Preciso De varios argumentos Ai queria pegar mais args depois do = Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Abril 20, 2016 Denunciar Compartilhar Postado Abril 20, 2016 n leoo è tipo /iniciarqiuz Em Que Ano Estamos ? = Estamos em 2016 Preciso De varios argumentos Ai queria pegar mais args depois do = Ata String[] raw = String.join(" ", args).split("="); String pergunta = raw[0].trim(); String resposta = raw[1].trim(); Faz a verificação pra ver se contem o '=' pra evitar erros... Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Abril 20, 2016 Autor Denunciar Compartilhar Postado Abril 20, 2016 Ata String[] raw = String.join(" ", args).split("="); String pergunta = raw[0].trim(); String resposta = raw[1].trim(); Faz a verificação pra ver se contem o '=' pra evitar erros... Vish man preciso usar a string A String Pergunta e resposta em outra classe E n tem como deixar Global. Pelo menos eu acho Link para o comentário Compartilhar em outros sites More sharing options...
ExtraPlays Postado Abril 20, 2016 Denunciar Compartilhar Postado Abril 20, 2016 Vish man preciso usar a string A String Pergunta e resposta em outra classe E n tem como deixar Global. Pelo menos eu acho public static String pergunta = raw[0].trim(); public static String resposta = raw[1].trim(); ?? Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Abril 20, 2016 Autor Denunciar Compartilhar Postado Abril 20, 2016 public static String pergunta = raw[0].trim(); public static String resposta = raw[1].trim(); ?? já tentei assim mais n da Link para o comentário Compartilhar em outros sites More sharing options...
ElGaubinho Postado Abril 20, 2016 Denunciar Compartilhar Postado Abril 20, 2016 Isso? public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < args.length;i++){ buffer.append(args[i]); } String allArguments = buffer.toString(); if (allArguments.contains("=")) { String[] splitedArgs = allArguments.split("="); // Aqui você pode fazer oque quiser com os argumentos divididos // Eu só coloquei para imprimir no console cada um deles. // OBS: Pode tirar xD for (int i = 0; i < splitedArgs.length;i++){ System.out.println(splitedArgs[i] + "\n"); } } } 1 Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Abril 20, 2016 Denunciar Compartilhar Postado Abril 20, 2016 já tentei assim mais n da Claro que da cara, eu testei. Como que tu ta fazendo? mostra o código. Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Abril 20, 2016 Denunciar Compartilhar Postado Abril 20, 2016 Vish man preciso usar a string A String Pergunta e resposta em outra classe E n tem como deixar Global. Pelo menos eu acho Poh cara, cria uma lista e coloca sua pergunta e resposta. Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Abril 20, 2016 Autor Denunciar Compartilhar Postado Abril 20, 2016 (editado) Ok. Como faço pra checar se Os Argumentos que o Player colocou é igual a todos que esta na lista ?Exemplo /iniciarq Em que anos estamos ? = Estamos em 2016Se Um Player qualquer digitar /quizr Estamos em 2016, Ai Envia a msg pra ele vc acertou. Editado Abril 20, 2016 por Cuthmf Link para o comentário Compartilhar em outros sites More sharing options...
!Afonso Postado Abril 20, 2016 Denunciar Compartilhar Postado Abril 20, 2016 public static String pergunta = raw[0].trim(); public static String resposta = raw[1].trim(); Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Abril 20, 2016 Autor Denunciar Compartilhar Postado Abril 20, 2016 public static String pergunta = raw[0].trim(); public static String resposta = raw[1].trim(); não deu coloquei assim if (command.getName().equalsIgnoreCase("squiz")) { if (args.length <=1) { p.sendMessage("Use /squiz"); return true; } if (args.length >=2) { try { Integer.parseInt(args[0]); }catch (NumberFormatException e) { p.sendMessage("Numerooooooooooo"); return true; } if (!(Main.sqs == true)) { Main.sqs = true; Bukkit.getServer().broadcastMessage("Quiz Iniciado"); String[] raw = String.join(" ", args).split("="); public static String pergunta = raw[1].trim(); public static String resposta = raw[2].trim(); return true; Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Abril 21, 2016 Denunciar Compartilhar Postado Abril 21, 2016 não deu coloquei assim if (command.getName().equalsIgnoreCase("squiz")) { if (args.length <=1) { p.sendMessage("Use /squiz"); return true; } if (args.length >=2) { try { Integer.parseInt(args[0]); }catch (NumberFormatException e) { p.sendMessage("Numerooooooooooo"); return true; } if (!(Main.sqs == true)) { Main.sqs = true; Bukkit.getServer().broadcastMessage("Quiz Iniciado"); String[] raw = String.join(" ", args).split("="); public static String pergunta = raw[1].trim(); public static String resposta = raw[2].trim(); return true; Pq isso é uma variável local, não da pra usar modificadores de acesso em uma variavel local, o unico modificador que da é o final. Faz oq eu te disse. Link para o comentário Compartilhar em outros sites More sharing options...
MrSilkBr Postado Abril 21, 2016 Denunciar Compartilhar Postado Abril 21, 2016 StringBuilder sb = new StringBuilder(); for (int ArgumentoInicial = 0; i < args.length; ArgumentoInicial++){ sb.append(args[ArgumentoInicial]).append(" "); } String allArgs = sb.toString().trim(); Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Abril 21, 2016 Denunciar Compartilhar Postado Abril 21, 2016 StringBuilder sb = new StringBuilder(); for (int ArgumentoInicial = 0; i < args.length; ArgumentoInicial++){ sb.append(args[ArgumentoInicial]).append(" "); } String allArgs = sb.toString().trim(); Não é isso. Isso junta todos os argumentos. Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Abril 21, 2016 Autor Denunciar Compartilhar Postado Abril 21, 2016 só preciso deixar a String public e pronto. Só que n ta dando Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Abril 21, 2016 Denunciar Compartilhar Postado Abril 21, 2016 só preciso deixar a String public e pronto. Só que n ta dando Essa é uma maneira porca de fazer mas.... se tu quer.. Coloca fora do método onCommand public static String pergunta; public static String resposta; Ai quando executar o comando tu colocar pergunta = raw[1].trim(); resposta = raw[2].trim(); Ai pra usar em outra classe é só olocar NomeDaSuaClasse.pergunta NomeDaSuaClasse.resposta 1 Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Abril 22, 2016 Autor Denunciar Compartilhar Postado Abril 22, 2016 Isso? public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < args.length;i++){ buffer.append(args[i]); } String allArguments = buffer.toString(); if (allArguments.contains("=")) { String[] splitedArgs = allArguments.split("="); // Aqui você pode fazer oque quiser com os argumentos divididos // Eu só coloquei para imprimir no console cada um deles. // OBS: Pode tirar xD for (int i = 0; i < splitedArgs.length;i++){ System.out.println(splitedArgs[i] + "\n"); } } } Nem Vi Tua Resposta. Sim só que se eu digitar /squiz qual O Nome do fórum ? = O Nome Do Forum é Gamersboard Como faço pra salvar o "O Nome Do Forum é Gamersboard" em uma String ? Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Abril 22, 2016 Autor Denunciar Compartilhar Postado Abril 22, 2016 Fora do seu método de comando, use public static String quest; public static String answer; No método é só colocar então public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < args.length;i++){ buffer.append(args[i]); } String allArguments = buffer.toString(); if (allArguments.contains("=")) { String[] splitedArgs = allArguments.split("="); // Aqui você pode fazer oque quiser com os argumentos divididos // Eu só coloquei para imprimir no console cada um deles. // OBS: Pode tirar xD for (int i = 0; i < splitedArgs.length;i++){ System.out.println(splitedArgs[i] + "\n"); } quest = splitedArgs[0]; answer = splitedArgs[1]; } } Se quiser salvar em config basta setar as strings na config Se quiser salvar temporariamente utilize um HashMap<String, String> Ok Irie testar Link para o comentário Compartilhar em outros sites More sharing options...
Guest Piole_BR Postado Abril 22, 2016 Denunciar Compartilhar Postado Abril 22, 2016 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
LuizB
Como faço pra colocar varios argumentos em um comando ?
Exemplo /command bla bla bla = fa fa fa
o " bla bla bla" iria setar na string1 e o fa fa fa na string 2
Link para o comentário
Compartilhar em outros sites
21 respostass a esta questão
Posts Recomendados