RedPT Postado Novembro 1, 2018 Denunciar Compartilhar Postado Novembro 1, 2018 Ola pessoal entao , eu estou tentando fazer um comando tipo assim : /rptm modificar linha1 <texto> Nao sei porque , mas como eu tenho nao esta dando! Alguem me pode ajudar? Obrigado. Spoiler if (args.length > 0) { if (args[0].equalsIgnoreCase("modificar")){ // modificar if (args.length == 1) { sender.sendMessage("§c/rptm modificar <linha1,linha2,linha3,linha4"); return true; } if (args[1].equalsIgnoreCase("linha1")) { if (args.length == 2) sender.sendMessage("/rptm modificar linha1 (texto)"); return true; } StringBuilder str = new StringBuilder(); for (int i = 3; i < args.length; i++) { str.append(args + " "); } String linha1 = str.toString(); getConfig().set("Mensagem.Linha1", linha1); saveConfig(); linha1 = linha1.replaceAll("%player%", sender.getName()); sender.sendMessage(" "); sender.sendMessage("§7Linha1 setada para " + linha1); sender.sendMessage(" "); return true; Link para o comentário Compartilhar em outros sites More sharing options...
FabioKrakauer Postado Novembro 1, 2018 Denunciar Compartilhar Postado Novembro 1, 2018 (editado) Dentro de um array, que é o args, quando você usa o args.lenght ele retorna a quantidade de itens que tem, ou seja, se for 0, é por que ele digitou somente o nome do comando, mas para acessar o array a primeira posição é 0, que no lenght seria 1, logo o seus argumentos estão respectivamente na ordem: args[0] = modificar args[1] = linha1 args[2] = texto no seu for você utilizou o numero 3 para iniciar, logo ele só iria começar a contar tudo pelo args[3] e seu texto começa no args[2] Logo seu for() deveria ficar assim: String msg = ""; for(int i = 2; i<args.lenght; i++){ msg += args + " "; } Espero ter ajudado. Qualquer ajuda extra que precisar, pode me chamar no discord: Fabiaum#2151 Se puder retornar o feedback, agradeço! Editado Novembro 1, 2018 por FabioPvP_ 1 Link para o comentário Compartilhar em outros sites More sharing options...
RedPT Postado Novembro 1, 2018 Autor Denunciar Compartilhar Postado Novembro 1, 2018 23 minutos atrás, FabioPvP_ disse: Dentro de um array, que é o args, quando você usa o args.lenght ele retorna a quantidade de itens que tem, ou seja, se for 0, é por que ele digitou somente o nome do comando, mas para acessar o array a primeira posição é 0, que no lenght seria 1, logo o seus argumentos estão respectivamente na ordem: args[0] = modificar args[1] = linha1 args[2] = texto no seu for você utilizou o numero 3 para iniciar, logo ele só iria começar a contar tudo pelo args[3] e seu texto começa no args[2] Logo seu for() deveria ficar assim: String msg = ""; for(int i = 2; i<args.lenght; i++){ msg += args + " "; } Espero ter ajudado. Qualquer ajuda extra que precisar, pode me chamar no discord: Fabiaum#2151 Se puder retornar o feedback, agradeço! Aee mano vlw pela ajuda! era isso mesmo! Link para o comentário Compartilhar em outros sites More sharing options...
FabioKrakauer Postado Novembro 1, 2018 Denunciar Compartilhar Postado Novembro 1, 2018 23 minutos atrás, RedPT disse: Aee mano vlw pela ajuda! era isso mesmo! Ainda bem que pudi ajudar ? Link para o comentário Compartilhar em outros sites More sharing options...
Reset Postado Dezembro 15, 2018 Denunciar Compartilhar Postado Dezembro 15, 2018 Seu tópico foi marcado como Inativo. Para reverter está ação, entre em contato com a equipe de Moderação. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados