Breaking arrow - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 03.07.2012, 10:49   #1
Пользователь

Автор темы (Топик Стартер) Breaking arrow

Добрый день, в очередной раз обрашаюсь к вам за помошю перекинул аи фринтеззи себе в сборку, брал из фрозенов. всё настроил отличнно работает, но не работают стрелы, тоесть те которыми успокаивают фринтеззу, если отхожу на растояние по дальше пишет в чат The purpose is inaccessible на сколько понимаю ето типо слишком далеко от цели нахожусь, если подхожу поближе нажимая на итем воопше ничего не пишет и непроисходет. может у кого была такая проблема, буду благодарен за любую идею в решении проблемы
mar4ello24 вне форума Ответить с цитированием
Непрочитано 03.07.2012, 13:40   #2
Аватар для gorodetskiy
Олдфаг

По умолчанию Re: Breaking arrow

ковыряй сами итемы
__________________
СЕО Оптимизация сайтов
gorodetskiy вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 03.07.2012, 15:37   #3
Аватар для mazillka
Пользователь

По умолчанию Re: Breaking arrow

Цитата:
Сообщение от mar4ello24 Посмотреть сообщение
Добрый день, в очередной раз обрашаюсь к вам за помошю перекинул аи фринтеззи себе в сборку, брал из фрозенов. всё настроил отличнно работает, но не работают стрелы, тоесть те которыми успокаивают фринтеззу, если отхожу на растояние по дальше пишет в чат The purpose is inaccessible на сколько понимаю ето типо слишком далеко от цели нахожусь, если подхожу поближе нажимая на итем воопше ничего не пишет и непроисходет. может у кого была такая проблема, буду благодарен за любую идею в решении проблемы
а в итемхандлерах стрела прописана?
__________________
Lineage 2 Manuals
mazillka вне форума Отправить сообщение для mazillka с помощью ICQ Отправить сообщение для mazillka с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 03.07.2012, 17:42   #4
Пользователь

Автор темы (Топик Стартер) Re: Breaking arrow

да наверно разобрался, шяс буду пробовать компилить, небыло добавленно рефлект для фринтеззи от стрел

Добавлено через 2 часа 30 минут
не неполучилось, да в ядре есть сами стрелы, но не стреляют

Добавлено через 4 часа 54 минуты
собственно вот сам код:
Код:
public class BreakingArrow implements IItemHandler
{
	private static final int[] ITEM_IDS =
	{
		8192
	};

	//	private static final int INTERACTION_DISTANCE = 500; // Ненавижу ворнинги!!!

	public void useItem(L2PlayableInstance playable, L2ItemInstance item)
	{
		int itemId = item.getItemId();
		if(!(playable instanceof L2PcInstance))
			return;
		L2PcInstance activeChar = (L2PcInstance) playable;
		L2Object target = activeChar.getTarget();
		if(!(target instanceof L2GrandBossInstance) || target == null)
		{
			activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
			return;
		}
		L2GrandBossInstance Frintezza = (L2GrandBossInstance) target;
		if(!activeChar.isInsideRadius(Frintezza, 500, false, false))
		{
			activeChar.sendMessage("The purpose is inaccessible");
			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
			return;
		}
		if(itemId == 8192 && Frintezza.getObjectId() == 29045)
		{
			Frintezza.broadcastPacket(new SocialAction(Frintezza.getObjectId(), 2));
			playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
		}
	}

	public int[] getItemIds()
	{
		return ITEM_IDS;
	}
}
в итеминстанце тоже есть где ешё должно быть, может кто посмотрет как у вас устреонно, буду благодарен

скомпилил фрозенов, проверил и тут тоже не работает,( какие исходы взять что бы реализовать то?

Последний раз редактировалось mar4ello24; 03.07.2012 в 23:26. Причина: Добавлено сообщение
mar4ello24 вне форума Ответить с цитированием
Непрочитано 04.07.2012, 22:48   #5
Пользователь

Автор темы (Топик Стартер) Re: Breaking arrow

Up может кто проверял на фрозенах ети стрелы отпишите плз, я уже не знаю что делать все исходы перелопатил
mar4ello24 вне форума Ответить с цитированием
Непрочитано 05.07.2012, 17:42   #6
Пользователь

По умолчанию Re: Breaking arrow

Цитата:
Сообщение от mar4ello24 Посмотреть сообщение
да наверно разобрался, шяс буду пробовать компилить, небыло добавленно рефлект для фринтеззи от стрел

Добавлено через 2 часа 30 минут
не неполучилось, да в ядре есть сами стрелы, но не стреляют

Добавлено через 4 часа 54 минуты
собственно вот сам код:
Код:
public class BreakingArrow implements IItemHandler
{
	private static final int[] ITEM_IDS =
	{
		8192
	};

	//	private static final int INTERACTION_DISTANCE = 500; // Ненавижу ворнинги!!!

	public void useItem(L2PlayableInstance playable, L2ItemInstance item)
	{
		int itemId = item.getItemId();
		if(!(playable instanceof L2PcInstance))
			return;
		L2PcInstance activeChar = (L2PcInstance) playable;
		L2Object target = activeChar.getTarget();
		if(!(target instanceof L2GrandBossInstance) || target == null)
		{
			activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
			return;
		}
		L2GrandBossInstance Frintezza = (L2GrandBossInstance) target;
		if(!activeChar.isInsideRadius(Frintezza, 500, false, false))
		{
			activeChar.sendMessage("The purpose is inaccessible");
			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
			return;
		}
		if(itemId == 8192 && Frintezza.getObjectId() == 29045)
		{
			Frintezza.broadcastPacket(new SocialAction(Frintezza.getObjectId(), 2));
			playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
		}
	}

	public int[] getItemIds()
	{
		return ITEM_IDS;
	}
}
в итеминстанце тоже есть где ешё должно быть, может кто посмотрет как у вас устреонно, буду благодарен

скомпилил фрозенов, проверил и тут тоже не работает,( какие исходы взять что бы реализовать то?
Ну начнем с того, что скрипт у тебя запускается и этому свидетельствует это условие, значит все по идее не так уж и плохо.
if(!activeChar.isInsideRadius(Frintezza, 500, false, false))
{
activeChar.sendMessage("The purpose is inaccessible");
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
То есть, если ты находишся от фринтезы не в радиусе 500, тебе вылетает месаг.
Следующая проверка как видишь
if(itemId == 8192 && Frintezza.getObjectId() == 29045)
{
Frintezza.broadcastPacket(new SocialAction(Frintezza.getObjectId(), 2));
playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
}
SocialAction(Frintezza.getObjectId(), 2)); Смотри, что делает это действие в AI фринтезы. Может лажа какая то. И вообще ID твоей фринтезы 29045?
IwantPOJL вне форума Ответить с цитированием
Непрочитано 05.07.2012, 17:51   #7
Аватар для DiagoD

По умолчанию Re: Breaking arrow

Цитата:
Сообщение от mar4ello24 Посмотреть сообщение
да наверно разобрался, шяс буду пробовать компилить, небыло добавленно рефлект для фринтеззи от стрел

Добавлено через 2 часа 30 минут
не неполучилось, да в ядре есть сами стрелы, но не стреляют

Добавлено через 4 часа 54 минуты
собственно вот сам код:
Код:
public class BreakingArrow implements IItemHandler
{
	private static final int[] ITEM_IDS =
	{
		8192
	};

	//	private static final int INTERACTION_DISTANCE = 500; // Ненавижу ворнинги!!!

	public void useItem(L2PlayableInstance playable, L2ItemInstance item)
	{
		int itemId = item.getItemId();
		if(!(playable instanceof L2PcInstance))
			return;
		L2PcInstance activeChar = (L2PcInstance) playable;
		L2Object target = activeChar.getTarget();
		if(!(target instanceof L2GrandBossInstance) || target == null)
		{
			activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
			return;
		}
		L2GrandBossInstance Frintezza = (L2GrandBossInstance) target;
		if(!activeChar.isInsideRadius(Frintezza, 500, false, false))
		{
			activeChar.sendMessage("The purpose is inaccessible");
			activeChar.sendPacket(ActionFailed.STATIC_PACKET);
			return;
		}
		if(itemId == 8192 && Frintezza.getObjectId() == 29045)
		{
			Frintezza.broadcastPacket(new SocialAction(Frintezza.getObjectId(), 2));
			playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
		}
	}

	public int[] getItemIds()
	{
		return ITEM_IDS;
	}
}
в итеминстанце тоже есть где ешё должно быть, может кто посмотрет как у вас устреонно, буду благодарен

скомпилил фрозенов, проверил и тут тоже не работает,( какие исходы взять что бы реализовать то?
ошибка ваша вот в этом месте:

Цитата:
if(itemId == 8192 && Frintezza.getObjectId() == 29045)
вы берете ИДобьекта и сравниваете с ИД НПСа...
getObjectId замените на getNpcId и тогда будет все хорошо)
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 05.07.2012, 19:15   #8
Пользователь

По умолчанию Re: Breaking arrow

пусть будет всем хорошо
IwantPOJL вне форума Ответить с цитированием
Непрочитано 05.07.2012, 20:13   #9
Пользователь

Автор темы (Топик Стартер) Re: Breaking arrow

ааа ну мужик , use итема идёт, шяс буду крутить скилл и ефект выстрела спасибо тебе огромное выручил
mar4ello24 вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 11:03. Часовой пояс GMT +3.

Вверх