Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Аномальное поведение CreatureSay() (https://forum.zone-game.info/showthread.php?t=32863)

energy 07.12.2013 19:44

Аномальное поведение 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();
	}
Code: Java
Задача метода: когда осада закончилась и игрок бьет осадного НПС, то монстр отсылает сообщение всем кто у него в агросписке. Так вот:
команда pair.getKey().sendMessage("Осады закончились"); работает как и задумано, тоесть, текст видят только игроки из агролиста, но команда
pair.getKey().broadcastPacket(cs); отсылается всем игрокам, которые находятся рядом с НПС.

Что не так? l2jserver 2.5

Ashe 07.12.2013 19:49

Re: Аномальное поведение CreatureSay()
 
energy, смотрите реализацию метода "broadcastPacket", он ведь работает на все L2PcInstance-объекты в зоне видимости. Используйте "sendPacket".

energy 07.12.2013 19:59

Re: Аномальное поведение CreatureSay()
 
Ashe, спасибо Вам большое. Я уже думал, что схожу с ума.
Тема закрыта.


Текущее время: 17:11. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot