Пакет AbnormalStatusUpdate

nesss

Путник
Участник
Сообщения
128
Розыгрыши
0
Решения
3
Репутация
-2
Реакции
14
Баллы
85
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
Собственная
Всем привет, занялся эффектами, опишите пожалуйста данный пакет. Из чего состоит ?
 
ты так и будешь про каждый пакет спрашивать, вместо того чтобы взять любую интерлюд сборку с исходниками и посмотреть там структуры? :)
 
ты так и будешь про каждый пакет спрашивать, вместо того чтобы взять любую интерлюд сборку с исходниками и посмотреть там структуры? :)

может дружно форумом сделать гайд по пакетке?)) прям весь список и содержимое.
 
Та не, если б я по каждому спрашивал, уже точно был бы форум не ядро, а пакетка, я спрашиваю конкретно по пакету, который у меня вызывает вопросы, конечно у меня есть сборка где есть вся пакетка, но иногда там такого написано, что ужас, так вот, меня интересует конкретно содержимое пакета, не больше не меньше, если сюда нельзя задавать такие вопросы, ну ок, это будет мой последний вопрос, просто думал этот форум для такого и создан, что-бы помогать новичкам. А если почитать все ответы мне от BladeRunner , то там больше остроумия, и реально по делу не одного ответа. Спасибо за понимание.
 
Там ИНТ пишется, который отвечает за отображения одного из Н абнормал еффектов.
Есть похожий пакет, который выполняет ту же задачу, но с другим пулом (списком) АВЕ ид.
В ХФ появился еще 3-й пакет для этого дела, который так же имел третий пул идшников.

Как ИДшники искать - а фиг его знает. На последних хрониках их можно попробовать в ДАТ файлах собрать, а на хрониках ниже - можно с ПТС вытянуть :\
 
Там ИНТ пишется, который отвечает за отображения одного из Н абнормал еффектов.
Есть похожий пакет, который выполняет ту же задачу, но с другим пулом (списком) АВЕ ид.
В ХФ появился еще 3-й пакет для этого дела, который так же имел третий пул идшников.

Как ИДшники искать - а фиг его знает. На последних хрониках их можно попробовать в ДАТ файлах собрать, а на хрониках ниже - можно с ПТС вытянуть :\
Java:
    NULL("null", 0x0),
    BLEEDING("bleeding", 0x000001),
    POISON("poison", 0x000002),
    REDCIRCLE("redcircle", 0x000004),
    ICE("ice", 0x000008),
    WIND("wind", 0x000010),
    FEAR("fear", 0x000020),
    STUN("stun", 0x000040),
    SLEEP("sleep", 0x000080),
    MUTED("mute", 0x000100),
    ROOT("root", 0x000200),
    HOLD_1("hold1", 0x000400),
    HOLD_2("hold2", 0x000800),
    UNKNOWN_13("unknown13", 0x001000),
    BIG_HEAD("bighead", 0x002000),
    FLAME("flame", 0x004000),
    CHANGE_TEXTURE("changetexture", 0x008000),
    GROW("grow", 0x010000),
    FLOATING_ROOT("floatroot", 0x020000),
    DANCE_STUNNED("dancestun", 0x040000),
    FIREROOT_STUN("firerootstun", 0x080000),
    STEALTH("stealth", 0x100000),
    IMPRISIONING_1("imprison1", 0x200000),
    IMPRISIONING_2("imprison2", 0x400000),
    MAGIC_CIRCLE("magiccircle", 0x800000);

Ну вот это типо?
 
Там ИНТ пишется, который отвечает за отображения одного из Н абнормал еффектов.
Есть похожий пакет, который выполняет ту же задачу, но с другим пулом (списком) АВЕ ид.
В ХФ появился еще 3-й пакет для этого дела, который так же имел третий пул идшников.

Как ИДшники искать - а фиг его знает. На последних хрониках их можно попробовать в ДАТ файлах собрать, а на хрониках ниже - можно с ПТС вытянуть :\
чейта ты попутал :)
AbnormalStatusUpdate служит для показа списка баффов/дебаффов на чаре.
а для авешек в интерлюде отдельных пакетов не было - это все там слалось в составе UserInfo/CharInfo/NpcInfo в виде битовой маски.
 
Java:
    NULL("null", 0x0),
    BLEEDING("bleeding", 0x000001),
    POISON("poison", 0x000002),
    REDCIRCLE("redcircle", 0x000004),
    ICE("ice", 0x000008),
    WIND("wind", 0x000010),
    FEAR("fear", 0x000020),
    STUN("stun", 0x000040),
    SLEEP("sleep", 0x000080),
    MUTED("mute", 0x000100),
    ROOT("root", 0x000200),
    HOLD_1("hold1", 0x000400),
    HOLD_2("hold2", 0x000800),
    UNKNOWN_13("unknown13", 0x001000),
    BIG_HEAD("bighead", 0x002000),
    FLAME("flame", 0x004000),
    CHANGE_TEXTURE("changetexture", 0x008000),
    GROW("grow", 0x010000),
    FLOATING_ROOT("floatroot", 0x020000),
    DANCE_STUNNED("dancestun", 0x040000),
    FIREROOT_STUN("firerootstun", 0x080000),
    STEALTH("stealth", 0x100000),
    IMPRISIONING_1("imprison1", 0x200000),
    IMPRISIONING_2("imprison2", 0x400000),
    MAGIC_CIRCLE("magiccircle", 0x800000);

Ну вот это типо?
Для ИЛ не скажу, могу для HF дать список.
Маска - номер бита в BitSet(32). Итоговое число передается в клиент

Код:
    ave_none(0, EAbnormalVisualEffectType.NONE),

    ave_dot_bleeding(0, EAbnormalVisualEffectType.NORMAL),
    ave_dot_poison(1, EAbnormalVisualEffectType.NORMAL),
    ave_dot_fire(2, EAbnormalVisualEffectType.NORMAL),
    ave_dot_water(3, EAbnormalVisualEffectType.NORMAL),
    ave_dot_wind(4, EAbnormalVisualEffectType.NORMAL),
    ave_dot_soil(5, EAbnormalVisualEffectType.NORMAL),
    ave_stun(6, EAbnormalVisualEffectType.NORMAL),
    ave_sleep(7, EAbnormalVisualEffectType.NORMAL),
    ave_silence(8, EAbnormalVisualEffectType.NORMAL),
    ave_root(9, EAbnormalVisualEffectType.NORMAL),
    ave_paralyze(10, EAbnormalVisualEffectType.NORMAL),
    ave_flesh_stone(11, EAbnormalVisualEffectType.NORMAL),
    ave_dot_mp(12, EAbnormalVisualEffectType.NORMAL),
    ave_big_head(13, EAbnormalVisualEffectType.NORMAL),
    ave_dot_fire_area(14, EAbnormalVisualEffectType.NORMAL),
    ave_change_texture(15, EAbnormalVisualEffectType.NORMAL),
    ave_big_body(16, EAbnormalVisualEffectType.NORMAL),
    ave_floating_root(17, EAbnormalVisualEffectType.NORMAL),
    ave_dance_root(18, EAbnormalVisualEffectType.NORMAL),
    ave_ghost_stun(19, EAbnormalVisualEffectType.NORMAL),
    ave_stealth(20, EAbnormalVisualEffectType.NORMAL),
    ave_seizure1(21, EAbnormalVisualEffectType.NORMAL),
    ave_seizure2(22, EAbnormalVisualEffectType.NORMAL),
    ave_magic_square(23, EAbnormalVisualEffectType.NORMAL),
    ave_freezing(24, EAbnormalVisualEffectType.NORMAL),
    ave_shake(25, EAbnormalVisualEffectType.NORMAL),
    ave_blind(26, EAbnormalVisualEffectType.NORMAL),
    ave_ultimate_defence(27, EAbnormalVisualEffectType.NORMAL),
    ave_vp_up(28, EAbnormalVisualEffectType.NORMAL),
    ave_real_target(29, EAbnormalVisualEffectType.NORMAL),
    ave_death_mark(30, EAbnormalVisualEffectType.NORMAL),
    ave_turn_flee(31, EAbnormalVisualEffectType.NORMAL),

    ave_invincibility(0, EAbnormalVisualEffectType.SPECIAL),
    ave_air_battle_slow(1, EAbnormalVisualEffectType.SPECIAL),
    ave_air_battle_root(2, EAbnormalVisualEffectType.SPECIAL),
    ave_change_wp(3, EAbnormalVisualEffectType.SPECIAL),
    ave_change_hair_g(4, EAbnormalVisualEffectType.SPECIAL),
    ave_change_hair_p(5, EAbnormalVisualEffectType.SPECIAL),
    ave_change_hair_b(6, EAbnormalVisualEffectType.SPECIAL),
    ave_stigma_of_silen(8, EAbnormalVisualEffectType.SPECIAL),
    ave_speed_down(9, EAbnormalVisualEffectType.SPECIAL),
    ave_frozen_pillar(10, EAbnormalVisualEffectType.SPECIAL),
    ave_change_ves_s(11, EAbnormalVisualEffectType.SPECIAL),
    ave_change_ves_c(12, EAbnormalVisualEffectType.SPECIAL),
    ave_change_ves_d(13, EAbnormalVisualEffectType.SPECIAL),
    ave_time_bomb(14, EAbnormalVisualEffectType.SPECIAL), // High Five
    ave_mp_shield(15, EAbnormalVisualEffectType.SPECIAL), // High Five
    ave_navit_advent(16, EAbnormalVisualEffectType.SPECIAL), // High Five
    ave_vp_keep(17, EAbnormalVisualEffectType.SPECIAL),
    ave_change_7anniversary(18, EAbnormalVisualEffectType.SPECIAL),

    br_ave_afro_normal(0, EAbnormalVisualEffectType.EVENT),
    br_ave_afro_pink(1, EAbnormalVisualEffectType.EVENT),
    br_ave_afro_gold(2, EAbnormalVisualEffectType.EVENT),
    br_ave_power_of_eva(3, EAbnormalVisualEffectType.EVENT),
    br_ave_headphone(4, EAbnormalVisualEffectType.EVENT),
    br_ave_vesper1(5, EAbnormalVisualEffectType.EVENT),
    br_ave_vesper2(6, EAbnormalVisualEffectType.EVENT),
    br_ave_vesper3(7, EAbnormalVisualEffectType.EVENT),
    br_ave_soul_avatar(8, EAbnormalVisualEffectType.EVENT);
 
ты так и будешь про каждый пакет спрашивать, вместо того чтобы взять любую интерлюд сборку с исходниками и посмотреть там структуры? :)
Ты чего такой грубый стал?
Помощи человек просит, не будь злюкой, ты по ПТСу шаришь йобнутся, помог бы 🙂
 
Java:
    NULL("null", 0x0),
    BLEEDING("bleeding", 0x000001),
    POISON("poison", 0x000002),
    REDCIRCLE("redcircle", 0x000004),
    ICE("ice", 0x000008),
    WIND("wind", 0x000010),
    FEAR("fear", 0x000020),
    STUN("stun", 0x000040),
    SLEEP("sleep", 0x000080),
    MUTED("mute", 0x000100),
    ROOT("root", 0x000200),
    HOLD_1("hold1", 0x000400),
    HOLD_2("hold2", 0x000800),
    UNKNOWN_13("unknown13", 0x001000),
    BIG_HEAD("bighead", 0x002000),
    FLAME("flame", 0x004000),
    CHANGE_TEXTURE("changetexture", 0x008000),
    GROW("grow", 0x010000),
    FLOATING_ROOT("floatroot", 0x020000),
    DANCE_STUNNED("dancestun", 0x040000),
    FIREROOT_STUN("firerootstun", 0x080000),
    STEALTH("stealth", 0x100000),
    IMPRISIONING_1("imprison1", 0x200000),
    IMPRISIONING_2("imprison2", 0x400000),
    MAGIC_CIRCLE("magiccircle", 0x800000);

Ну вот это типо?
Эти значения для AbnormalEffect , который передается в пакетах CharInfo, PetInfo, UserInfo ну и NpcInfo.

AbnormalStatusUpdate пакет передает баффы/де-баффы у npc или игрока. То есть никаких эффектов там не присутствует. Только показываются скилл id, level и оставшееся время в секундах (или значение -1 для тогглов )

Вот пакет в описании (у Acis там сначала передают все баффы а потом тогглы, тогглы сортируются по скилл id ) :
Код:
writeC(0x7f);
writeH(effects.size());
for (effect : effects) {
    writeD(effect.getSkillId());
    writeH(effect.getSkillLevel());
    writeD((effect.getRemainingDurationМs() == -1) ? -1 : holder.getRemainingDurationМs() / 1000);
}

Длинна пакета вычисляется по формуле: 3 + (effects.size() * 10)
То есть для одного еффекта пакет будет длинной в 13 байтов, а для десяти еффектов уже 103 байтов
 
Назад
Сверху Снизу