Шаг 1
Skilldata.txt 1)Не ленимся и делаем клоны всех бафов которые вы будите засовывать.(на новые ID)
2)Не забываем в клонах наших скилов убирать условия - типо требование спирит оре,дуалов для дансов итд
(т.е. наши скилы кастить можно без всего с любых пух)
3)Меняем настройки скила на следующие: target_type=target affect_scope=single affect_limit={0;0} - наш скил будет каститься как любой обычный баф ПП - пати требоваться не будет, на пати чела баф не распостраниться.
Шаг 2
Skillpch.txt
Генерируем прогой, запоминаем номера
Шаг 3
Html
В нашей Html-ке вывов бафа будет выглядеть так:
Wind Walk
Главное не ошибитесь в числе после reply - это должен быть номер вашего бафа в Pch , "Wind Walk" это надпись на которую игрок будет тыкать
AI.obj
Пишем простейший хендлер:
Code
class buff : default_npc
{
parameter:
string fnHi = "buff.htm";
string fnNotEnoughAdena = "nobuff.htm";
int ItemBuff = 57;
int Amount = 0;
EventHandler MENU_SELECTED(talker,ask,reply)
{
if( ask == -201 && myself->OwnItemCount(talker,ItemBuff) >= Amount )
{
myself->DeleteItem1(talker,ItemBuff,Amount);
myself->AddUseSkillDesire(talker,reply,1,0,1000000);
myself->ShowPage(talker,fnHi);
}
else
{
myself->ShowPage(talker,fnNotEnoughAdena);
}
}
По данному AI бафер будет бафать ВСЕ бафы линейки, если конечно они были написаны по правилам указанным в шаге 1.
Кстати в данном варианте все бафы бесплатны, если хотите можите указать -
int ItemBuff = ID вещи за которую баф
int Amount = кол-во этих вещей.