zToodi Postado Novembro 23, 2018 Denunciar Compartilhar Postado Novembro 23, 2018 Estou com uma duvida! Quando eu digitar o comando /valor o plugin vai mandar no chat "Digite o valor no chat necessario" e quando eu digitar um valor no chat (Numero) vai acontecer algo. Porém se eu digitar um valor no chat sem ter digitado o /valor não vai acontecer nada. Como faço esse sistema? Link para o comentário Compartilhar em outros sites More sharing options...
mabazi Postado Novembro 23, 2018 Denunciar Compartilhar Postado Novembro 23, 2018 vc esta programando, skriptando ou usando plugins como my-command? Link para o comentário Compartilhar em outros sites More sharing options...
zToodi Postado Novembro 23, 2018 Autor Denunciar Compartilhar Postado Novembro 23, 2018 7 minutos atrás, mabazi disse: vc esta programando, skriptando ou usando plugins como my-command? Programando Link para o comentário Compartilhar em outros sites More sharing options...
mabazi Postado Novembro 23, 2018 Denunciar Compartilhar Postado Novembro 23, 2018 Eu usaria um ArrayList e um runtasklater para definir o tempo //nao vou colocar os public void e bla bla bla, so o basico pra entender onCommand(){ Player player = (player)sender; if(command.getName().equals("valor"){ player.sendMessage("digite o valor no chat"); usaramComando.add(player);//add o player a lista de pessoas que usaram comando mas nao disseram o numero new bukkitrunnable( //Timer de 30s para caso o jogador nao digite nada //nao lembro oque vem dentro run(){ if(usaramComando.contains(player){ //depois dos 30s ele verifica se o jogador ja digitou o numero, se nao ele expira usaramComando.remove(player); player.sendMessage("Tempo esgotado"); } } }}.runTaskLater(this, 20*30);//20*30 = (20ticks/1s) totaliza 30s } private ArrayList<Player> usaramComando = new ArrayList<>(); //lista de todos que usaram /valor mas nao disseram o numero ainda event(AsyncPlayerChatEvent e){ //evento de msg no chat if(!usaramComando.contains(e.getPlayer()) return; //verifica se esta esperando o jogador dizer o numero String msg = e.getMessage(); //msg enviada no chat int valor = null; try{ valor = Integer.parseInt(msg); //verifica se é um numero valido }catch(){ //nao é um numero inteiro (pode ser letras) //msg de nao é um numero vai aqui usaramComando.remove(e.getPlayer()); } if(valor != null){ //player digitou um valor valido usaramComando.remove(e.getPlayer); e.setCancelled(true); //impede que o numero apareça no chat } } Link para o comentário Compartilhar em outros sites More sharing options...
zToodi Postado Novembro 24, 2018 Autor Denunciar Compartilhar Postado Novembro 24, 2018 11 horas atrás, mabazi disse: Eu usaria um ArrayList e um runtasklater para definir o tempo //nao vou colocar os public void e bla bla bla, so o basico pra entender onCommand(){ Player player = (player)sender; if(command.getName().equals("valor"){ player.sendMessage("digite o valor no chat"); usaramComando.add(player);//add o player a lista de pessoas que usaram comando mas nao disseram o numero new bukkitrunnable( //Timer de 30s para caso o jogador nao digite nada //nao lembro oque vem dentro run(){ if(usaramComando.contains(player){ //depois dos 30s ele verifica se o jogador ja digitou o numero, se nao ele expira usaramComando.remove(player); player.sendMessage("Tempo esgotado"); } } }}.runTaskLater(this, 20*30);//20*30 = (20ticks/1s) totaliza 30s } private ArrayList<Player> usaramComando = new ArrayList<>(); //lista de todos que usaram /valor mas nao disseram o numero ainda event(AsyncPlayerChatEvent e){ //evento de msg no chat if(!usaramComando.contains(e.getPlayer()) return; //verifica se esta esperando o jogador dizer o numero String msg = e.getMessage(); //msg enviada no chat int valor = null; try{ valor = Integer.parseInt(msg); //verifica se é um numero valido }catch(){ //nao é um numero inteiro (pode ser letras) //msg de nao é um numero vai aqui usaramComando.remove(e.getPlayer()); } if(valor != null){ //player digitou um valor valido usaramComando.remove(e.getPlayer); e.setCancelled(true); //impede que o numero apareça no chat } } da esse erro -> Link para o comentário Compartilhar em outros sites More sharing options...
mabazi Postado Novembro 24, 2018 Denunciar Compartilhar Postado Novembro 24, 2018 19 minutos atrás, zToodi disse: da esse erro -> erro meu, int nunca sera null, ele muda pra 0 boolean isInt = false; try{ valor = Integer.parseInt(msg); //verifica se é um numero valido isInt = true; }catch(){ //nao é um numero inteiro (pode ser letras) //msg de nao é um numero vai aqui usaramComando.remove(e.getPlayer()); } if(isInt){ //player digitou um valor valido usaramComando.remove(e.getPlayer); e.setCancelled(true); //impede que o numero apareça no chat } só add um boolean de verificação que inicia com false e se o jogador digitar um numero valido muda pra true e executa as ordens Link para o comentário Compartilhar em outros sites More sharing options...
zToodi Postado Novembro 24, 2018 Autor Denunciar Compartilhar Postado Novembro 24, 2018 1 hora atrás, mabazi disse: erro meu, int nunca sera null, ele muda pra 0 boolean isInt = false; try{ valor = Integer.parseInt(msg); //verifica se é um numero valido isInt = true; }catch(){ //nao é um numero inteiro (pode ser letras) //msg de nao é um numero vai aqui usaramComando.remove(e.getPlayer()); } if(isInt){ //player digitou um valor valido usaramComando.remove(e.getPlayer); e.setCancelled(true); //impede que o numero apareça no chat } só add um boolean de verificação que inicia com false e se o jogador digitar um numero valido muda pra true e executa as ordens Link para o comentário Compartilhar em outros sites More sharing options...
mabazi Postado Novembro 24, 2018 Denunciar Compartilhar Postado Novembro 24, 2018 4 horas atrás, zToodi disse: int valor = null; ainda tem que estar la acima do boolean isInt Link para o comentário Compartilhar em outros sites More sharing options...
zToodi Postado Novembro 24, 2018 Autor Denunciar Compartilhar Postado Novembro 24, 2018 4 horas atrás, mabazi disse: int valor = null; ainda tem que estar la acima do boolean isInt só add o cast? Link para o comentário Compartilhar em outros sites More sharing options...
zToodi Postado Novembro 24, 2018 Autor Denunciar Compartilhar Postado Novembro 24, 2018 Consegui já vlw! troquei o int por Object 1 Link para o comentário Compartilhar em outros sites More sharing options...
InVinicius Postado Dezembro 22, 2018 Denunciar Compartilhar Postado Dezembro 22, 2018 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