Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Аномальное поведение CreatureSay()
#1
По сабжу вот код:
[SRC="java"] 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();
}[/SRC]
Задача метода: когда осада закончилась и игрок бьет осадного НПС, то монстр отсылает сообщение всем кто у него в агросписке. Так вот:
команда pair.getKey().sendMessage("Осады закончились"); работает как и задумано, тоесть, текст видят только игроки из агролиста, но команда
pair.getKey().broadcastPacket(cs); отсылается всем игрокам, которые находятся рядом с НПС.

Что не так? l2jserver 2.5
Я не волшебник... Я, пока, учусь. L2Jserver CT2.5
Ответ
#2
energy, смотрите реализацию метода "broadcastPacket", он ведь работает на все L2PcInstance-объекты в зоне видимости. Используйте "sendPacket".
Fortuna - non penis, in manus non recipe.
Ответ
#3
Ashe, спасибо Вам большое. Я уже думал, что схожу с ума.
Тема закрыта.
Я не волшебник... Я, пока, учусь. L2Jserver CT2.5
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)