Перейти к содержанию
Авторизация  
BBMAXI

[manual] Реализация Скилла Anti Buff

Рекомендуемые сообщения

В этой теме покажу как сделать скилл Block Buff.

 

Для начала добавим в какой-либо конфиг-файл такие строчки:

 

# ID скилла, который блокирует наложение баффов - Block Buff
IDBlockBuff=9999

 

Далее добавим этот же конфиг в ядро - Config.java:

*объявляем

 

public static int ID_BLOCK_BUFF;

 

*инициализируем

 

ID_BLOCK_BUFF = Integer.parseInt(Имя_конфига.getProperty("IDBlockBuff", "9999"));

 

Далее, переходим в net\sf\l2j\gameserver\model\L2Character.java (net\sf\l2j может отличаться в зависимости от сборки). Находим кусок кода:

 

	public final void addEffect(L2Effect newEffect)
{
	if(newEffect == null) return;

 

и преобразовываем его так:

 

	public final void addEffect(L2Effect newEffect)
{
	if(newEffect == null) return;

	if (this.getFirstEffect(Config.ID_BLOCK_BUFF) != null)
	{
		if (newEffect.getSkill().getSkillType() == L2Skill.SkillType.BUFF)
		{
			return;
		}
	}

 

Сохраняем, компилируем. Осталось прикрутить скилл в датапаке. Как вариант, вместо скилла Lucky:

 

<skill id="194" levels="1" name="BlockBuff">
<table name="#mpConsume_Init"> 0 </table>
<set name="mpInitialConsume" val="#mpConsume_Init"/>
<set name="power" val="0.0"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="CONT"/>
<set name="operateType" val="OP_TOGGLE"/>
<set name="castRange" val="-1"/>
<set name="effectRange" val="-1"/>
<for>
<effect count="0x7fffffff" name="ManaDamOverTime" time="1" val="#mpConsume_Init">
</effect>
</for>
</skill>

 

Не забудьте только в конфиге поставить число 194 и изменить в клиенте сам скилл Lucky (сделать его аурой).

 

Вот вроде бы и все. Хочу сказать, что это только один из способов создания блок баффа: можно его также реализовать непосредственно написав отдельный эффект, но это уже другая история

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...