Cassiano_14 Postado Agosto 28, 2018 Denunciar Compartilhar Postado Agosto 28, 2018 Olá, eu estou fazendo um plugin de sortear e gostaria de saber como faz para esperar 1 segundo entre envia uma mensagem e outra tipo: O sorteio irá começar em 5 segundos, 1 segundo depois O sorteio irá começar em 4 segundos assim segue alguem poderia me falar como fazer, ou enviar o código de exemplo 1 Link para o comentário Compartilhar em outros sites More sharing options...
SlayerFear Postado Agosto 28, 2018 Denunciar Compartilhar Postado Agosto 28, 2018 new BukkitRunnable() { @Override public void run() { Bukkit.broadcastMessage("Mensagem AKI"); } //delay periodo }.runTaskTimer(Main.getplugin, 20*2, 5); //tempo que ira mandar a mensagem Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Agosto 28, 2018 Autor Denunciar Compartilhar Postado Agosto 28, 2018 3 minutos atrás, MaxThon1365DEV disse: new BukkitRunnable() { @Override public void run() { Bukkit.broadcastMessage("Mensagem AKI"); } //delay periodo }.runTaskTimer(Main.getplugin, 20*2, 5); //tempo que ira mandar a mensagem Está gerando um flood no chat Link para o comentário Compartilhar em outros sites More sharing options...
SlayerFear Postado Agosto 28, 2018 Denunciar Compartilhar Postado Agosto 28, 2018 tente aumentar o tempo Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Agosto 28, 2018 Autor Denunciar Compartilhar Postado Agosto 28, 2018 Agora, MaxThon1365DEV disse: tente aumentar o tempo mas como eu mudo de mensagem tipo na mensagem 1 é em 5 segundos na mensagem 2 é em 4 segundos Link para o comentário Compartilhar em outros sites More sharing options...
SlayerFear Postado Agosto 28, 2018 Denunciar Compartilhar Postado Agosto 28, 2018 voce quer que fique mandando mensagem Tipo Evento Começa em 4 Segundos e vai Abaixando o tempo? Link para o comentário Compartilhar em outros sites More sharing options...
SlayerFear Postado Agosto 28, 2018 Denunciar Compartilhar Postado Agosto 28, 2018 pera vou tentar fazer um sistema aki se conseguir eu te mando Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Agosto 28, 2018 Autor Denunciar Compartilhar Postado Agosto 28, 2018 Agora, MaxThon1365DEV disse: pera vou tentar fazer um sistema aki se conseguir eu te mando Ta, tem discord? Link para o comentário Compartilhar em outros sites More sharing options...
SlayerFear Postado Agosto 28, 2018 Denunciar Compartilhar Postado Agosto 28, 2018 cara , meu discord n ta abrindo no meu pc , mas vou ver se consigo Link para o comentário Compartilhar em outros sites More sharing options...
SlayerFear Postado Agosto 28, 2018 Denunciar Compartilhar Postado Agosto 28, 2018 Tenta Ver este Tutorial Aki https://bukkit.org/threads/tutorial-easy-cooldown-with-messages-to-show-the-time-left.240447/ Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Agosto 28, 2018 Autor Denunciar Compartilhar Postado Agosto 28, 2018 1 hora atrás, MaxThon1365DEV disse: Tenta Ver este Tutorial Aki https://bukkit.org/threads/tutorial-easy-cooldown-with-messages-to-show-the-time-left.240447/ Cara olha o exemplo eu queria isso, (essas mensagens foram tudo ao mesmo tempo Link para o comentário Compartilhar em outros sites More sharing options...
Ygor Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 (editado) new BukkitRunnable() { int chamadas = 5; // Definindo a quantidade de chamadas, no caso em segundos. @Override public void run() { if(chamadas > 0) { // Conferindo se ainda restam chamadas a se fazer Bukkit.broadcastMessage("§aO sorteio começará em " + chamadas + " segundos"); // Mandando a mensagem do sorteio chamadas--; // Diminuindo uma chamada } if(chamadas == 0) { // Caso as chamadas tenham se encerrado (chegado a 0) this.cancel(); // Cancela o task, ou seja, não vai mais contar. // Aqui você pode colocar o método que será executado quando a contagem for encerrada } } }.runTaskTimer(Main.getPlugin(Main.class), 20, 20); Veja se funciona, fiz aqui pelo fórum mesmo. Qualquer erro contate-me Editado Setembro 2, 2018 por Ygor Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Setembro 2, 2018 Autor Denunciar Compartilhar Postado Setembro 2, 2018 2 minutos atrás, Ygor disse: new BukkitRunnable() { int chamadas = 5; @Override public void run() { if(chamadas > 0) { Bukkit.broadcastMessage("§aO sorteio começará em " + chamadas + " segundos"); chamadas--; } if(chamadas == 0) { this.cancel(); } } }.runTaskTimer(Main.getPlugin(Main.class), 20, 20); Veja se funciona, fiz aqui pelo fórum mesmo. Qualquer erro contate-me obrigado vou testar, mas agora no momento eu não posso testar, assim que eu puder eu te respondo Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Setembro 2, 2018 Autor Denunciar Compartilhar Postado Setembro 2, 2018 (editado) Consegui @EDIT 2 Mas quando vou executar novamente o comando ele não faz mais isso @EDIT 3 Tinha colocado no lugar errado, até agora tudo certo. 22 horas atrás, Ygor disse: new BukkitRunnable() { int chamadas = 5; // Definindo a quantidade de chamadas, no caso em segundos. @Override public void run() { if(chamadas > 0) { // Conferindo se ainda restam chamadas a se fazer Bukkit.broadcastMessage("§aO sorteio começará em " + chamadas + " segundos"); // Mandando a mensagem do sorteio chamadas--; // Diminuindo uma chamada } if(chamadas == 0) { // Caso as chamadas tenham se encerrado (chegado a 0) this.cancel(); // Cancela o task, ou seja, não vai mais contar. // Aqui você pode colocar o método que será executado quando a contagem for encerrada } } }.runTaskTimer(Main.getPlugin(Main.class), 20, 20); Veja se funciona, fiz aqui pelo fórum mesmo. Qualquer erro contate-me Só mais uma duvida, como eu coloco pra quando já estiver executando o delay ele não poder executar o comando novamente? @EDIT 5 Eu coloquei para dar 10 segundos e depois ir e depois aparecer o resto só que como a imagem mostra ele está parando nos 9 segundos Editado Setembro 2, 2018 por Cassiano_14 Ajuda Link para o comentário Compartilhar em outros sites More sharing options...
Ygor Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 1 hora atrás, Cassiano_14 disse: Consegui @EDIT 2 Mas quando vou executar novamente o comando ele não faz mais isso @EDIT 3 Tinha colocado no lugar errado, até agora tudo certo. Só mais uma duvida, como eu coloco pra quando já estiver executando o delay ele não poder executar o comando novamente? @EDIT 5 Eu coloquei para dar 10 segundos e depois ir e depois aparecer o resto só que como a imagem mostra ele está parando nos 9 segundos Posta o código aqui, por favor Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Setembro 2, 2018 Autor Denunciar Compartilhar Postado Setembro 2, 2018 (editado) 5 minutos atrás, Ygor disse: Posta o código aqui, por favor ta Spoiler Random r = new Random(); int num = r.nextInt(this.max - this.min + 1) + this.min; if (p.hasPermission("cassianoloteria.usar")) { if (args.length >= 0) { Bukkit.broadcastMessage(""); Bukkit.broadcastMessage("§aO Sorteio de " + num + " coins"); Bukkit.broadcastMessage("§aIrá começar em 10 segundos"); Bukkit.broadcastMessage(""); new BukkitRunnable() { int inicia = 1; int chamadas = 9; @Override public void run() { if (inicia > 0) { inicia--; } if (inicia == 0) { this.cancel(); if(chamadas > 0) { if(chamadas > 1) { Bukkit.broadcastMessage("§aO Sorteio de Dinheiro irá começar em " + chamadas + " segundos."); chamadas--; } if (chamadas == 1) { Bukkit.broadcastMessage("§aO Sorteio de Dinheiro irá começar em " + chamadas + " segundo."); chamadas--; } } if(chamadas == 0) { this.cancel(); Bukkit.broadcastMessage( "§aO Jogador " + rp.getName() + " foi o escolhido para"); Bukkit.broadcastMessage("§ao sorteio de " + num + " §acoins"); Bukkit.broadcastMessage("message"); } } } }.runTaskTimer(Main.getPlugin(Main.class), 20, 20); } Editado Setembro 2, 2018 por Cassiano_14 Link para o comentário Compartilhar em outros sites More sharing options...
Ygor Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 if (inicia > 0) { inicia--; } if (inicia == 0) { this.cancel(); if(chamadas > 0) { Você verifica se inicia é maior que 0, caso não for, você diminui um. Ele executa o código Já na próxima vez, a variável inicia vai ser -1, então não vai executar o método de chamadas. É aí que você está errando. Link para o comentário Compartilhar em outros sites More sharing options...
String Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 Em 28/08/2018 em 18:21, Cassiano_14 disse: Está gerando um flood no chat Pode criar um delayedTask. Bukkit.getServer().getScheduler().reapetingTask[...] Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Setembro 2, 2018 Autor Denunciar Compartilhar Postado Setembro 2, 2018 2 minutos atrás, Ygor disse: if (inicia > 0) { inicia--; } if (inicia == 0) { this.cancel(); if(chamadas > 0) { Você verifica se inicia é maior que 0, caso não for, você diminui um. Ele executa o código Já na próxima vez, a variável inicia vai ser -1, então não vai executar o método de chamadas. É aí que você está errando. Mas ele para no 9 Link para o comentário Compartilhar em outros sites More sharing options...
String Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 (editado) . Editado Setembro 2, 2018 por String Código errado ''=' Link para o comentário Compartilhar em outros sites More sharing options...
Ygor Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 (editado) 2 minutos atrás, Cassiano_14 disse: Mas ele para no 9 Exatamente, amigo. Você está cancelando o task quando o inicia é igual a zero. Então ele só roda uma vez, ou seja, só diminui um. Outra coisa, poderia me explicar para que serve o "inicia"? Tente retirar o this.cancel() do inicia. Editado Setembro 2, 2018 por Ygor Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Setembro 2, 2018 Autor Denunciar Compartilhar Postado Setembro 2, 2018 (editado) 5 minutos atrás, Ygor disse: Exatamente, amigo. Você está cancelando o task quando o inicia é igual a zero. Então ele só roda uma vez, ou seja, só diminui um. Outra coisa, poderia me explicar para que serve o "inicia"? É porque eu quero colocar assim Quero colocar esse espaço, e se não tiver isso sai O Sorteio de x coins Irá começar em 15 segundos depois Irá começar em 10 segundos sem espaço Mas eu quero que de um espaço entre o inicio e o fim da mensagem 5 minutos atrás, Ygor disse: Exatamente, amigo. Você está cancelando o task quando o inicia é igual a zero. Então ele só roda uma vez, ou seja, só diminui um. Outra coisa, poderia me explicar para que serve o "inicia"? Tente retirar o this.cancel() do inicia. Vlw funcionou Editado Setembro 2, 2018 por Cassiano_14 Link para o comentário Compartilhar em outros sites More sharing options...
Ygor Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 1 minuto atrás, Cassiano_14 disse: É porque eu quero colocar assim Quero colocar esse espaço, e se não tiver isso sai O Sorteio de x coins Irá começar em 15 segundos depois Irá começar em 10 segundos sem espaço Mas eu quero que de um espaço entre o inicio e o fim da mensagem Então você quer que só apareçam as mensagems do anúncio quando a contagem chegar em 15 e 10 segundos? É isto? Se for assim que faço um código que verifica e mando para você. Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Setembro 2, 2018 Autor Denunciar Compartilhar Postado Setembro 2, 2018 1 minuto atrás, Ygor disse: Então você quer que só apareçam as mensagems do anúncio quando a contagem chegar em 15 e 10 segundos? É isto? Se for assim que faço um código que verifica e mando para você. Já consegui, mais uma duvida, como colocar som no plugin? Link para o comentário Compartilhar em outros sites More sharing options...
Ygor Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 (editado) 6 minutos atrás, Cassiano_14 disse: Já consegui, mais uma duvida, como colocar som no plugin? player.playSound(player.getLocation(), Sound.SOM, 10, 10); Você pode usar CTRL + ESPAÇO no método para ver os sons. Abraço. Editado Setembro 2, 2018 por Ygor Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Setembro 2, 2018 Autor Denunciar Compartilhar Postado Setembro 2, 2018 (editado) 35 minutos atrás, Ygor disse: player.playSound(player.getLocation(), Sound.SOM, 10, 10); Você pode usar CTRL + ESPAÇO no método para ver os sons. Abraço. Eu consegui usando for (Player onp:Bukkit.getOnlinePlayers()) { onp.playSound(onp.getLocation(), Sound.ORB_PICKUP, 10, 10); mas vlw, Abraço. Editado Setembro 2, 2018 por Cassiano_14 Link para o comentário Compartilhar em outros sites More sharing options...
Ygor Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 25 minutos atrás, Cassiano_14 disse: Como eu coloco som para todos os players online? Faça um for for(Player all : Bukkit.getOnlinePlayers()) { all.playSound(all.getLocation(), Sound.SOM, 10, 10); } Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Setembro 2, 2018 Autor Denunciar Compartilhar Postado Setembro 2, 2018 (editado) 5 minutos atrás, Ygor disse: Faça um for for(Player all : Bukkit.getOnlinePlayers()) { all.playSound(all.getLocation(), Sound.SOM, 10, 10); } vlw, to com um erro não sei porque, mas ta dando 1 segundo e ja a mensagem juntas aqui http://prntscr.com/kpufec Editado Setembro 2, 2018 por Cassiano_14 Link para o comentário Compartilhar em outros sites More sharing options...
Ygor Postado Setembro 2, 2018 Denunciar Compartilhar Postado Setembro 2, 2018 1 minuto atrás, Cassiano_14 disse: vlw, to com um erro não sei porque, mas ta dando 1 segundo e ja a mensagem juntas Ao invés de SOM você substitui pelo o que você quer. Por exemplo: BLAZE_HIT Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano_14 Postado Setembro 2, 2018 Autor Denunciar Compartilhar Postado Setembro 2, 2018 (editado) 1 minuto atrás, Ygor disse: Ao invés de SOM você substitui pelo o que você quer. Por exemplo: BLAZE_HIT Nnn, é as mensagens que estão juntas, do som eu consegui Editado Setembro 2, 2018 por Cassiano_14 Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados