В данном коде, лидера нужно телепортировать в последнюю очередь, т.к. вы телертируете его, а следующий индекс листа это мембер пати... Пати лидер улетел далеко, верно ? Верно же! ^_^ Ну, и тут мы обрабатываем
PHP код:
else if(!partyMember.isInRange(player, 2000) || partyMember.isDead())
{
partyMember.sendMessage("Необходимо всем членам группы стоять у путеводителя и быть живыми.");
player.sendActionFailed();
partyMember.sendActionFailed();
[COLOR="Red"]return;[/COLOR]
}
Ну, и это важно... В данном коде есть море ошибок, если есть 5 мемберов, первые 2 мембера из листа подходят по условиям радиуса от пати лидера, мы их тпшним, НО! Ну конечно есть НО, если какой то мудак, ушел далеко, и условия не прошли,
делаете выход их функции.. Соответственно из-за какого то мудака в середине листа, остальные игроков не сможет тпшнуть, потому-что мы вышли из функции.
PHP код:
if(command.equalsIgnoreCase("teleport"))
{
if (player.getParty() == null) {
player.sendMessage("Вам нужна группа для охоты на титанов.");
player.sendActionFailed();
return;
}
if (player.getParty().getPartyLeader() == player) {
for (Player partyMember : player.getParty().getPartyMembers()) {
if(partyMember == player)
continue;
if(player.isHero() || partyMember.isHero())
{
player.sendMessage("Лидерам фракции нельзя находится на землях титанов.");
player.sendActionFailed();
continue;
}
if (partyMember.isInRangeZ(player, 2000) && !partyMember.isDead())
{
if (player.getFactionId() == 1) {
partyMember.teleToLocation(Location.findPointToStay(-24776, 253208, -3024, 100, 150, 1));
partyMember.stopMove();
} else if (player.getFactionId() == 2) {
partyMember.teleToLocation(Location.findPointToStay(-4344, 256504, -3128, 100, 150, 1));
}
}
else if(!partyMember.isInRange(player, 2000) || partyMember.isDead())
{
partyMember.sendMessage("Необходимо всем членам группы стоять у путеводителя и быть живыми.");
player.sendActionFailed();
partyMember.sendActionFailed();
continue;
}
}
if (player.getFactionId() == 1) {
player.teleToLocation(Location.findPointToStay(-24776, 253208, -3024, 100, 150, 1));
}
else if (player.getFactionId() == 2) {
player.teleToLocation(Location.findPointToStay(-4344, 256504, -3128, 100, 150, 1));
}
}
else if (player.getParty().getPartyLeader() != player)
{
player.sendMessage("Только лидер группы может призвать на земли титанов.");
player.sendActionFailed();
continue;
}
}
Можно вот так заговнокодитьнаскоруюрукувнотпаде.