jetta Postado Julho 18, 2016 Denunciar Compartilhar Postado Julho 18, 2016 eu to fazendo um plugin e to precisando distribuir os players igualmente em times (4 times) eu to sem a miníma ideia de como fazer isso, dei uma olhada no google e não achei quase nada relacionado Link para o comentário Compartilhar em outros sites More sharing options...
minecraft0_0 Postado Julho 18, 2016 Denunciar Compartilhar Postado Julho 18, 2016 (editado) Ihhh, ~MatchMaking~ não é algo tão fácil, mas se você quiser ao menos um algorítimo ou sugestão, me manda um MP.Gostei da Dúvida. Editado Julho 18, 2016 por minecraft0_0 Link para o comentário Compartilhar em outros sites More sharing options...
Guest Fusquete Postado Julho 18, 2016 Denunciar Compartilhar Postado Julho 18, 2016 Vou explicar o sistema mas eu não posso fazer agora, se entender gg. Quando o jogador logar, existirão 4 times e 25% de chance de entrar em cada time. É basicamente isso... Link para o comentário Compartilhar em outros sites More sharing options...
Kami Postado Julho 18, 2016 Denunciar Compartilhar Postado Julho 18, 2016 Achei esse código na net, talvez possa te ajudar. ArrayList<UUID> players = new ArrayList<UUID>(); for(Player p:Bukkit.getOnlinePlayers()) players.add(p.getUniqueId()); Iterator<UUID> it = players.iterator(); for(int ind = 0;ind<(players.size()/8)+1;ind++) for(int i = 1;i<=8;i++) if(it.hasNext()){ //Add player to team using //Bukkit.getPlayer(it.next()); } Link para o comentário Compartilhar em outros sites More sharing options...
jetta Postado Julho 18, 2016 Autor Denunciar Compartilhar Postado Julho 18, 2016 Ihhh, ~MatchMaking~ não é algo tão fácil, mas se você quiser ao menos um algorítimo ou sugestão, me manda um MP. Gostei da Dúvida. mandei a mp Achei esse código na net, talvez possa te ajudar. ArrayList<UUID> players = new ArrayList<UUID>(); for(Player p:Bukkit.getOnlinePlayers()) players.add(p.getUniqueId()); Iterator<UUID> it = players.iterator(); for(int ind = 0;ind<(players.size()/8)+1;ind++) for(int i = 1;i<=8;i++) if(it.hasNext()){ //Add player to team using //Bukkit.getPlayer(it.next()); } blz vo ver Link para o comentário Compartilhar em outros sites More sharing options...
Lüigi! Postado Julho 18, 2016 Denunciar Compartilhar Postado Julho 18, 2016 (editado) Olha, andei pensando, não sei se botando em prática não vai da certo, mas tomai uma pequena teoria de como fazer isso: times = lista com todos os times (Uma arraylist?) Vou considerar como um arrayindice = 0 //um pequeno indice que vai percorrer a arraytimeAtual = 0 //0 = time1 | 1 = time2 e etc..while(indice < 4){for( int i = 0; i < 4; i++){se a quantidade de players do times for maior que a quantidade de players do times[timeAtual]: timeAtual = iindice++ } } Não sei se deu pra entender, então qualquer duvida avisa kk Editado Julho 18, 2016 por Lüigi! Link para o comentário Compartilhar em outros sites More sharing options...
jetta Postado Julho 18, 2016 Autor Denunciar Compartilhar Postado Julho 18, 2016 Olha, andei pensando, não sei se botando em prática não vai da certo, mas tomai uma pequena teoria de como fazer isso: times = lista com todos os times (Uma arraylist?) Vou considerar como um array indice = 0 //um pequeno indice que vai percorrer a array timeAtual = 0 //0 = time1 | 1 = time2 e etc.. while(indice < 4){ for( int i = 0; i < 4; i++){ se a quantidade de players do times for maior que a quantidade de players do times[timeAtual]: timeAtual = i indice++ } } Não sei se deu pra entender, então qualquer duvida avisa kk eu mais ou menos, porém o loop só vai rodar 4 jogadores? Link para o comentário Compartilhar em outros sites More sharing options...
TzMarcio Postado Julho 18, 2016 Denunciar Compartilhar Postado Julho 18, 2016 HasMap<Integer, List<String>> times;List<String> pls; int x = 1; for(String p : pls){ times.put(x, times.get(x).add(p)); x++; if(x == 4){ x = 1; } } Link para o comentário Compartilhar em outros sites More sharing options...
Lüigi! Postado Julho 18, 2016 Denunciar Compartilhar Postado Julho 18, 2016 eu mais ou menos, porém o loop só vai rodar 4 jogadores? Não, isso é para por UM jogador em UM time Faça uma array com seus times, e assim o loop vai passar por todos os times e identificar qual é o que tem vaga, o que tiver basta pegar o time da array e por o player Link para o comentário Compartilhar em outros sites More sharing options...
jetta Postado Julho 22, 2016 Autor Denunciar Compartilhar Postado Julho 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
jetta
eu to fazendo um plugin e to precisando distribuir os players igualmente em times (4 times)
eu to sem a miníma ideia de como fazer isso, dei uma olhada no google e não achei quase nada relacionado
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados