jetta Postado Junho 18, 2016 Denunciar Compartilhar Postado Junho 18, 2016 como eu faço um task pra cada player, quero cancelar o task apenas pra 1 player e nao o task todo em si. > se possivel algum exemplo Link para o comentário Compartilhar em outros sites More sharing options...
ElGaubinho Postado Junho 19, 2016 Denunciar Compartilhar Postado Junho 19, 2016 use o BukkitRunnablee para cancelar use o método cancel(); Link para o comentário Compartilhar em outros sites More sharing options...
jetta Postado Junho 19, 2016 Autor Denunciar Compartilhar Postado Junho 19, 2016 use o BukkitRunnable e para cancelar use o método cancel(); poderia dar um exemplo de código? :} Link para o comentário Compartilhar em outros sites More sharing options...
zMathi Postado Junho 19, 2016 Denunciar Compartilhar Postado Junho 19, 2016 Crie uma HashMap<String, BukkitRunnable>, quando criar uma task adicione os dois valores na hashmap, uma o nome do jogador e o outro a task, quando quiser cancelar a task do jogador, é só pegar ela pelo nome dele,e usar o método cancel();. Link para o comentário Compartilhar em outros sites More sharing options...
jetta Postado Junho 19, 2016 Autor Denunciar Compartilhar Postado Junho 19, 2016 Crie uma HashMap<String, BukkitRunnable>, quando criar uma task adicione os dois valores na hashmap, uma o nome do jogador e o outro a task, quando quiser cancelar a task do jogador, é só pegar ela pelo nome dele,e usar o método cancel();. eu posso colocar um runnable assim? > int task = new BukkitRunable(){ Link para o comentário Compartilhar em outros sites More sharing options...
ElGaubinho Postado Junho 19, 2016 Denunciar Compartilhar Postado Junho 19, 2016 poderia dar um exemplo de código? :} // Lista para armazenar os tasks private HashMap<String, BukkitRunnable> taskList = new HashMap<String, BukkitRunnable>(); // Cria um task void criarTask(Player p) { BukkitRunnable task = new BukkitRunnable() { // quando o task for chamado... @Override public void run() { Bukkit.broadCastMessage("O método run foi chamado!"); // execute aqui suas funções } }./*runTask... Agora você completa com a função que você quer. Se for para repetir use "runTaskTimer" senão use "runTaskLater"*/ taskList.put(p.getUniqueId().toString(), task); } void cancelarTask(Player p) { if (!taskList.containsKey(p.getUniqueId().toString()) return; // Recupera e cancela o task BukkitRunnable task = taskList.get(p.getUniqueId().toString()); task.cancel(); taskList.remove(p.getUniqueId().toString()); } 1 Link para o comentário Compartilhar em outros sites More sharing options...
jetta Postado Junho 19, 2016 Autor Denunciar Compartilhar Postado Junho 19, 2016 resolvido Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Junho 19, 2016 Denunciar Compartilhar Postado Junho 19, 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
jetta
como eu faço um task pra cada player, quero cancelar o task apenas pra 1 player e nao o task todo em si.
> se possivel algum exemplo
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados