Показать сообщение отдельно
Непрочитано 20.11.2015, 12:06   #9
Аватар для Donatte
Герой

По умолчанию Re: Радиус захвата цели

KnownList любого из списка атакующих содержит все инстансы которым необходимо отправить сообщение. Поэтому берём knownList киллера и спамим о том, что РБ успешно заовнен. Что может быть легче? Зачем придумывать сложные структуры для элементарных механизмов?

Код:
Broadcast.toKnownPlayers(killer, new CreatureSay(0, SystemChatChannelId.Chat_Announce, "", "Congratulations!!! Raid Boss was owned!"));
Если в Broadcast нет такого метода, то добавляем
Код:
	public static void toKnownPlayers(L2Character character, L2GameServerPacket mov)
	{
		for (L2PcInstance player : character.getKnownList().getKnownType(L2PcInstance.class))
			player.sendPacket(mov);
	}
Да и вообще, зачем проверять на статус инстанса? Пакет шлётся клиенту. И если у инстанса клиента нет - getClient() == null (NO CARRIER или OFFLINE TRADE), то отсылка пакета игнорится (в нормальных L2J форках). Хотя, опять же, я не имею понятия как реализовано это в вашем коде сервера. Может быть, всё гораздо тоскливо и проверки необходимы во избежание NPE при отправке пакетов.
__________________
Родился, живу и когда-нибудь умру.
Donatte вне форума Ответить с цитированием