randomplayerfromparty
Пытаюсь параллельно делать выдачу итема рандомному человеку итема, но битый час пытаюсь уже, мозг не работает уже..
Party party = ((Player) killer).getParty(); if(party == null) { giveAdenaForPvp(pk); pk.setPvpKills(pk.getPvpKills() + 1); } else { List<Player> rewardedMembers = new ArrayList<Player>(); for(Player partyMember : party.getPartyMembers()) { if(partyMember.isDead() || !isInRangeZ(partyMember, Config.ALT_PARTY_DISTRIBUTION_RANGE)) continue; } }Суть в том, как вычислять рандомного человека из пати? |
Re: randomplayerfromparty
https://docs.oracle.com/javase/7/doc...calRandom.html
https://docs.oracle.com/javase/7/doc...il/Random.html Ну, а вообще. В оверах есть класс Rnd - так и называется. Можно сделать вот так. Player rndPlayer = Rnd.get(party.getPartyMembers()); Готовый рандомный игрок из пати(Ну конечно лидера тоже может захватить) |
Re: randomplayerfromparty
Так и должно быть вместе с лидером. Спасибо, попробую вечером.
|
Re: randomplayerfromparty
Party party = ((Player) killer).getParty(); if(party == null) { giveAdenaForPvp(pk); pk.setPvpKills(pk.getPvpKills() + 1); } else if(party != null) { List<Player> rewardedMembers = new ArrayList<Player>(); for(Player partyMember : party.getPartyMembers()) { Player rndPlayer = Rnd.get(party.getPartyMembers()); if(rndPlayer.isDead() || !isInRangeZ(rndPlayer, Config.ALT_PARTY_DISTRIBUTION_RANGE)) continue; giveAdenaForPvp(rndPlayer); rndPlayer.setPvpKills(rndPlayer.getPvpKills() + 1); } }Сделал так, как то совсем некорректно работает. |
Re: randomplayerfromparty
for(Player partyMember : party.getPartyMembers())
{ Зачем цикл ? Если нужно выбрать лишь одного игрока. |
Re: randomplayerfromparty
Цитата:
|
Re: randomplayerfromparty
Цитата:
|
Текущее время: 19:18. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot