Вопрос по Essence Crusade от MOBIUS

Статус
В этой теме нельзя размещать новые ответы.

ilidann5

Путник
Пользователь
Сообщения
14
Розыгрыши
0
Решения
1
Репутация
0
Реакции
1
Баллы
43
Хроники
  1. Ertheia / Dimensional Strangers
  2. Infinite Odyssey
  3. Helios
  4. Grand Cursade
  5. Salvation
  6. Fafurion
  7. Shadow of the Kamael
Исходники
Присутствуют
Сборка
L2J_Mobius_Essence_6.3_Crusader
У меня вопрос:

1. Кто знает ID всех баффов в данной сборке танцы, песни и.т.д?
2. Как отредоктировать в CommunityBoard GM-Shop?
3. Как продлить время баффов типа с 20 минут до 2 чс?

CommunityAvailableBuffs =

Название данной сборки L2J_Mobius_Essence_6.3_Crusader
 
Кто знает ID всех баффов в данной сборке танцы, песни и.т.д?
В: "И шо мне с этим делать?"
О: Наводим на скилл и смотрим его ссылку или открываем в новом окне. 437 - ИД \ 4 - уровень \ 0 - уровень модификации (sublevel)
1708172291892.webp
2. Как отредоктировать в CommunityBoard GM-Shop?
а что он та забыл? Он же был в админке, а это мелкое окно НПС.
Та и вообще - если ГМ - то в чате пишется какое окно открывается. Идем в датапак открываем его и видим там какой-то HTML файл.
Если там кнопка "multisell" - data/multisells
Если там кнопка "buylist" - data/buylist
Предупреждая вопрос - "а как искать их" - то там есть рядышком идентификтор.
Условно "npc_%object_id%_multisell_2222"
3. Как продлить время баффов типа с 20 минут до 2 чс?
Ну есть 2 стула:
1. Пойти в датапак и поменять всем бафам время с 20 минут до 2 часов
2. Написать скрипт, в котором указать все бафы (массивом, чем угодно) и отслеживать наложение эффектов на персонажа. Если эффект находится в списке бафов (выше о массиве что-то писал) - то берем его BuffInfo и устанавливаем AbnormalTime, не забыв отправить AbnormalList (не перепутать с AbnormalVisualEffect)

Условно на ОБТ баффере я делал что-то такое:
Java:
        if (event.startsWith("EFFECT_SKILL_"))
        {
            final int skillID = Integer.parseInt(event.replace("EFFECT_SKILL_", ""));
            SkillHolder skillHolder = new SkillHolder(skillID, 1);
            player.removeTimeStamp(skillHolder.getSkill());
            player.doCast(skillHolder.getSkill());
            startQuestTimer("SKILL_UPDATE_" + skillID,  5000, npc, player);
            return null;
        }
                else if (event.startsWith("SKILL_UPDATE_"))
        {
            final int skillID = Integer.parseInt(event.replace("SKILL_UPDATE_", ""));
            if (player.isCastingNow())
            {
                startQuestTimer("SKILL_UPDATE_" + skillID,  5000, npc, player);
                return null;
            }
            BuffInfo buff = player.getEffectList().getBuffInfoBySkillId(skillID);
            if (buff == null)
            {
                return null;
            }
            buff.resetAbnormalTime(86_400);
            final AbnormalStatusUpdate asu = new AbnormalStatusUpdate();
            player.getEffectList().getEffects().forEach(asu::addSkill);
            player.getEffectList().getDebuffs().forEach(asu::addSkill);
            player.sendPacket(asu);
            return npc.getId() + ".htm";
        }
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу