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

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 19.06.2011, 15:53   #1
Пользователь

Автор темы (Топик Стартер) Эффект от умения(магии) * закончился

Такой вопрос. Кто может скинуть кусок скрипта метода protected void addEffectFromQueue(L2Effect newEffect)
Код:
*L2Effect*
--------------------------------------

	protected void addEffectFromQueue(L2Effect newEffect)
	{
		if (newEffect == null) return;

		L2Skill newSkill = newEffect.getSkill();

		if (newSkill.isDebuff())
		{
			if (_debuffs == null) _debuffs = new FastList<L2Effect>().shared();
			for (L2Effect e : _debuffs)
			{
				if (e != null
						&& e.getSkill().getId() == newEffect.getSkill().getId()
						&& e.getEffectType() == newEffect.getEffectType()
						&& e.getStackOrder() == newEffect.getStackOrder()
						&& e.getStackType().equals(newEffect.getStackType()))
				{
					// Started scheduled timer needs to be canceled.
					newEffect.exit(true);
					return; 
				}
			}
			_debuffs.addLast(newEffect);
		}
		else
		{
			if (_buffs == null) _buffs = new FastList<L2Effect>().shared();

			for (L2Effect e : _buffs)
			{
				if (e != null
						&& e.getSkill().getId() == newEffect.getSkill().getId()
						&& e.getEffectType() == newEffect.getEffectType()
						&& e.getStackOrder() == newEffect.getStackOrder()
						&& e.getStackType().equals(newEffect.getStackType()))
				{
					e.exit(true);
				}
			}

			// if max buffs, no herb effects are used, even if they would replace one old
			if (newEffect.isHerbEffect() && getBuffCount() >= _owner.getMaxBuffCount())
			{ 
				newEffect.stopEffectTask(); 
				return; 
			}

			// Remove first buff when buff list is full
			if (!doesStack(newSkill) && !newSkill.is7Signs())
			{
				int effectsToRemove;
				if (newSkill.isDance())
				{
					effectsToRemove = getDanceCount() - Config.DANCES_MAX_AMOUNT;
					if (effectsToRemove >= 0)
					{
						for (L2Effect e : _buffs)
						{
							if (e == null || !e.getSkill().isDance())
								continue;
							
							// get first dance
							e.exit(true);
							effectsToRemove--;
							if (effectsToRemove < 0)
								break;
						}
					}
				}
				else
				{
					effectsToRemove = getBuffCount() - _owner.getMaxBuffCount();
					if (effectsToRemove >= 0)
					{
						switch (newSkill.getSkillType())
						{
							case BUFF:
							case REFLECT:
							case HEAL_PERCENT:
							case MANAHEAL_PERCENT:
								for (L2Effect e : _buffs)
								{
									if (e == null || e.getSkill().isDance())
										continue;

									switch (e.getSkill().getSkillType())
									{
										case BUFF:
										case REFLECT:
										case HEAL_PERCENT:
										case MANAHEAL_PERCENT:
											e.exit(true);
											effectsToRemove--;
											break; // break switch()
										default:
											continue; // continue for()
									}
									if (effectsToRemove < 0)
										break; // break for()
								}
						}
					}
				}
			}
У меня такая прабла. Если скил стакающийся(стак ордер != null) и я его перебиваю другим скилом. То через некоторое время (когда 1ый скил который был, заканчивается) выскакивает табличка что скил закончился. Мне надо это убрать...



__________________
nikitawasa вне форума Ответить с цитированием
Непрочитано 22.06.2011, 22:24   #2
Аватар для m095
Заинтересовавшийся

По умолчанию Re: Эффект от умения(магии) * закончился

ковыряйте метод отмены эффекта, у меня это.
Код:
public final void removeEffect(L2Effect effect)
а в выложенном вами коде нет того что вам нужно
m095 вне форума Отправить сообщение для m095 с помощью ICQ Ответить с цитированием
Сказали спасибо:
Непрочитано 26.06.2011, 16:20   #3
Изгнанные

По умолчанию Re: Эффект от умения(магии) * закончился

Офтоп
Скинь сайтег плиз свой я хочю с играть)
В лс)

Последний раз редактировалось extend; 26.06.2011 в 16:58.
extend вне форума Ответить с цитированием
Непрочитано 28.06.2011, 15:29   #4
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: Эффект от умения(магии) * закончился

Вам нужно не добавление в эффект лист, а наоброт удаление из него.
Класс CharEffectList.java, нужное выделил:

Код:
// Remove the active skill L2effect from _effects of the L2Character
		if (effectList.remove(effect) && _owner instanceof L2PcInstance && effect.getShowIcon())
		{
			SystemMessage sm;
			if (effect.getSkill().isToggle())
				sm = new SystemMessage(SystemMessageId.S1_HAS_BEEN_ABORTED);
			else if (wornOff)
				sm = new SystemMessage(SystemMessageId.S1_HAS_WORN_OFF);
			else
				sm = new SystemMessage(SystemMessageId.EFFECT_S1_DISAPPEARED);

			sm.addSkillName(effect);
			_owner.sendPacket(sm);
		}
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™ Ответить с цитированием
Непрочитано 04.07.2011, 16:56   #5
Аватар для Astend
Пользователь

По умолчанию Re: Эффект от умения(магии) * закончился

BSFG уже давно все забили чувак!
Astend вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание magic book (замена текстуры + эффект шейдера) Allexus Обучающие статьи 5 22.04.2012 15:20
Атака,сила магии. Blueray Документация 0 26.03.2011 12:13
Эффект от бафов Karat Серверная часть 2 23.03.2010 23:41
Умения игрока sergeyboss Серверная часть 7 17.01.2010 15:51
Одновременное использование магии и бутылок Stema Lineage II 0 02.12.2008 00:27


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

Вверх