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

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

Ответ
Опции темы
Непрочитано 31.07.2013, 17:54   #1
Аватар для [Elite]
Пользователь

Автор темы (Топик Стартер) Баффер нпс

l2jserver

Подскажите, как правильно прописать, чтобы нпс бафал сразу несколько скилов, а не 1 скил. Прописан скил id 1077 (Фокусировка), а как сделать, чтобы допустим бафал еще и id 1040 (Щит)?

Цитата:
public class GiftOfVitality extends LongTimeEvent
{
// Reuse between buffs
private static final int HOURS = 1;
// NPC
private static final int JACK = 4306;

public GiftOfVitality(String name, String descr)
{
super(name, descr);
addStartNpc(JACK);
addFirstTalkId(JACK);
addTalkId(JACK);
}

@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
QuestState st = player.getQuestState(getName());

if (event.equalsIgnoreCase("vitality"))
{
long _reuse = 0;
String _streuse = st.get("reuse");
if (_streuse != null)
{
_reuse = Long.parseLong(_streuse);
}
if (_reuse > System.currentTimeMillis())
{
long remainingTime = (_reuse - System.currentTimeMillis()) / 1000;
int hours = (int) (remainingTime / 3600);
int minutes = (int) ((remainingTime % 3600) / 60);
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.AVA ILABLE_AFTER_S1_S2_HOURS_S3_MINUTES);
sm.addSkillName(1077);
sm.addNumber(hours);
sm.addNumber(minutes);
player.sendPacket(sm);
htmltext = "4306-notime.htm";
}
else
{
npc.setTarget(player);
// Gift of Vitality
npc.doCast(SkillTable.getInstance().getInfo(1077, 1));
st.setState(State.STARTED);
st.set("reuse", String.valueOf(System.currentTimeMillis() + (HOURS * 3600000)));
htmltext = "4306-okvitality.htm";


}
[Elite] вне форума Отправить сообщение для [Elite] с помощью ICQ Отправить сообщение для [Elite] с помощью Skype™ Ответить с цитированием
Непрочитано 31.07.2013, 18:21   #2
Аватар для APKO
Постоялец

По умолчанию Re: Баффер нпс

можно и логику включить, смотрим в скрипте есть строка
npc.doCast(SkillTable.getInstance().getInfo(1077, 1));

и проверяем что будет если добавить ету строку еще раз только с ид другого скила
APKO вне форума Ответить с цитированием
Непрочитано 31.07.2013, 19:24   #3
Аватар для Kenrix
Пользователь

По умолчанию Re: Баффер нпс

Код:
// Gift of Vitality
npc.doCast(SkillTable.getInstance().getInfo(1077, 1));
npc.doCast(SkillTable.getInstance().getInfo(ИД_СКИЛЛА, УРОВЕНЬ_СКИЛЛА));
st.setState(State.STARTED);
st.set("reuse", String.valueOf(System.currentTimeMillis() + (HOURS * 3600000)));
htmltext = "4306-okvitality.htm";
Kenrix вне форума Ответить с цитированием
Непрочитано 31.07.2013, 22:28   #4
Аватар для [Elite]
Пользователь

Автор темы (Топик Стартер) Re: Баффер нпс

Такой вариант пробовал, но бафает только один...
Возможно из за того, что инстанс?
Откат бафа 1 час стоит

// Reuse between buffs
private static final int HOURS = 1;
// NPC
private static final int JACK = 4306;

Как убрать правильно откат?
[Elite] вне форума Отправить сообщение для [Elite] с помощью ICQ Отправить сообщение для [Elite] с помощью Skype™ Ответить с цитированием
Непрочитано 31.07.2013, 23:19   #5
Аватар для APKO
Постоялец

По умолчанию Re: Баффер нпс

это откат не бафа, а возможности повторно бафнуть скил, насколько я понимаю. Время скила(бафа) менаем там где статы скилов.
APKO вне форума Ответить с цитированием
Непрочитано 01.08.2013, 06:41   #6
Аватар для [Elite]
Пользователь

Автор темы (Топик Стартер) Re: Баффер нпс

Цитата:
Сообщение от APKO Посмотреть сообщение
это откат не бафа, а возможности повторно бафнуть скил, насколько я понимаю. Время скила(бафа) менаем там где статы скилов.
ну, да, я имел ввиду откат повтора...
Вот как его убрать, подскажите...
[Elite] вне форума Отправить сообщение для [Elite] с помощью ICQ Отправить сообщение для [Elite] с помощью Skype™ Ответить с цитированием
Непрочитано 01.08.2013, 07:02   #7
Аватар для rage
Герой

По умолчанию Re: Баффер нпс

Цитата:
Сообщение от [Elite] Посмотреть сообщение
ну, да, я имел ввиду откат повтора...
Вот как его убрать, подскажите...
Это не поможет. У вас не бафает второй скилл потому, что первый еще не докаставался. Нужно либо делать задержку, либо использовать другой метод, просто накладывать эффект без каста.
rage вне форума Ответить с цитированием
Непрочитано 01.08.2013, 07:15   #8
Аватар для [Elite]
Пользователь

Автор темы (Топик Стартер) Re: Баффер нпс

А как прописать, чтобы эффект без каста был, на несколько баффов?
Пример текста если можно

Добавлю:
Полный текст нпс вот, вот те баффы, которые накладываются без каста, другие бафы, ну допустим бафф Ускорение - Путешественника, а обычные там не пропишешь, пробовал...
Другой вопрос, как прописать, чтобы нпс накладывал сразу несколько эффектов без каста, или в первом случае (там где 1 баф, любой можно скил ставить), или там где во втором случае (там где несколько баффом, но Путешественника, и убрать ограничение, чтобы не Путешественника бафал, а обычный баф)

Цитата:
}
else
{
npc.setTarget(player);
// Gift of Vitality
npc.doCast(SkillTable.getInstance().getInfo(23179, 1));
st.setState(State.STARTED);
st.set("reuse", String.valueOf(System.currentTimeMillis() + (HOURS * 3600000)));
htmltext = "4306-okvitality.htm";
}
}
else if (event.equalsIgnoreCase("memories_player"))
{
if (player.getLevel() < 1)
{
htmltext = "4306-nolevel.htm";
}
else
{
npc.setTarget(player);
npc.doCast(SkillTable.getInstance().getInfo(5627, 1)); // Wind Walk
npc.doCast(SkillTable.getInstance().getInfo(5628, 1)); // Shield
npc.doCast(SkillTable.getInstance().getInfo(5637, 1)); // Magic Barrier
if (player.isMageClass())
{
npc.doCast(SkillTable.getInstance().getInfo(5633, 1)); // Bless the Soul
npc.doCast(SkillTable.getInstance().getInfo(5634, 1)); // Acumen
npc.doCast(SkillTable.getInstance().getInfo(5635, 1)); // Concentration
npc.doCast(SkillTable.getInstance().getInfo(5636, 1)); // Empower
}
else
{
npc.doCast(SkillTable.getInstance().getInfo(5629, 1)); // Bless the Body
npc.doCast(SkillTable.getInstance().getInfo(5630, 1)); // Vampiric Rage
npc.doCast(SkillTable.getInstance().getInfo(5631, 1)); // Regeneration
npc.doCast(SkillTable.getInstance().getInfo(5632, 1)); // Haste
}
htmltext = "4306-okbuff.htm";
}
}
else if (event.equalsIgnoreCase("memories_summon"))
{
if (player.getLevel() < 1)
{
htmltext = "4306-nolevel.htm";
}
else if (!player.hasSummon() || !player.getSummon().isServitor())
{
htmltext = "4306-nosummon.htm";
}
else
{
npc.setTarget(player.getSummon());
npc.doCast(SkillTable.getInstance().getInfo(5627, 1)); // Wind Walk
npc.doCast(SkillTable.getInstance().getInfo(5628, 1)); // Shield
npc.doCast(SkillTable.getInstance().getInfo(5637, 1)); // Magic Barrier
npc.doCast(SkillTable.getInstance().getInfo(5629, 1)); // Bless the Body
npc.doCast(SkillTable.getInstance().getInfo(5633, 1)); // Bless the Soul
npc.doCast(SkillTable.getInstance().getInfo(5630, 1)); // Vampiric Rage
npc.doCast(SkillTable.getInstance().getInfo(5634, 1)); // Acumen
npc.doCast(SkillTable.getInstance().getInfo(5631, 1)); // Regeneration
npc.doCast(SkillTable.getInstance().getInfo(5635, 1)); // Concentration
npc.doCast(SkillTable.getInstance().getInfo(5632, 1)); // Haste
npc.doCast(SkillTable.getInstance().getInfo(5636, 1)); // Empower
htmltext = "4306-okbuff.htm";
[Elite] вне форума Отправить сообщение для [Elite] с помощью ICQ Отправить сообщение для [Elite] с помощью Skype™ Ответить с цитированием
Непрочитано 01.08.2013, 08:18   #9
Аватар для Ashtone Grey
ex-linedia keyboard manager

По умолчанию Re: Баффер нпс

Цитата:
Сообщение от [Elite] Посмотреть сообщение
(там где несколько баффом, но Путешественника, и убрать ограничение, чтобы не Путешественника бафал, а обычный баф)
А вставить Id бафов обычных, не путешественника, не пойдёт?
Ashtone Grey вне форума Отправить сообщение для Ashtone Grey с помощью Skype™ Ответить с цитированием
Непрочитано 01.08.2013, 09:36   #10
Аватар для [Elite]
Пользователь

Автор темы (Топик Стартер) Re: Баффер нпс

Пробовал, эффекты накладываются, но рандом, иногда кастует, и задержка мешает.

Последний раз редактировалось [Elite]; 01.08.2013 в 10:40.
[Elite] вне форума Отправить сообщение для [Elite] с помощью ICQ Отправить сообщение для [Elite] с помощью Skype™ Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Проблема] Не работает баффер Ra1[N] Lineage II 4 28.03.2013 21:59
Баффер в Теоне Pijonson Lineage II 9 20.07.2010 18:21
Баффер Дося Lineage II 4 27.03.2010 17:50
l2j-Scoria v3.5 Баффер True Lineage II 0 24.10.2009 09:14
Баффер, Baffer. PROGRAMMATOR Работа со скриптами 33 29.10.2008 04:32


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

Вверх