Аномальное поведение CreatureSay()
По сабжу вот код:
public void endSiegeSay() { CreatureSay cs = new CreatureSay(getObjectId(), Say2.TELL, _thisName, "Осада закончилась"); for(Map.Entry<L2Character, AggroInfo> pair : getAggroList().entrySet()) { if (pair.getKey() instanceof L2PcInstance) { pair.getKey().sendMessage("Осады закончились"); pair.getKey().broadcastPacket(cs); } } getAggroList().clear(); }Задача метода: когда осада закончилась и игрок бьет осадного НПС, то монстр отсылает сообщение всем кто у него в агросписке. Так вот: команда pair.getKey().sendMessage("Осады закончились"); работает как и задумано, тоесть, текст видят только игроки из агролиста, но команда pair.getKey().broadcastPacket(cs); отсылается всем игрокам, которые находятся рядом с НПС. Что не так? l2jserver 2.5 |
Re: Аномальное поведение CreatureSay()
energy, смотрите реализацию метода "broadcastPacket", он ведь работает на все L2PcInstance-объекты в зоне видимости. Используйте "sendPacket".
|
Re: Аномальное поведение CreatureSay()
Ashe, спасибо Вам большое. Я уже думал, что схожу с ума.
Тема закрыта. |
Текущее время: 17:11. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot