пакет npcInfo

mouzy724

Путник
Пользователь
Сообщения
7
Розыгрыши
0
Репутация
0
Реакции
0
Баллы
83
Добый день, помогите плиз распарсить пакет npcInfo. Первый блок парсится нормально, авторой блок вообще не могу распарить. Хроники Orc Village.
 
количество масок стало 39.
 
да это я знаю. Но вот распарсить нормально пакет так и не выходит
Java:
        if (containsMask(NpcInfoType.CLAN))
        {
            packetWriter.writeD(_clanId);
            packetWriter.writeD(_clanCrestId);
            packetWriter.writeD(_largeClanCrestId);
            packetWriter.writeD(_allyId);
            packetWriter.writeD(_allyCrestId);
        }

        if (containsMask(NpcInfoType.COMBAT_MODE) || containsMask(NpcInfoType.DEAD) || containsMask(NpcInfoType.TARGET_ABLE))
        {
            packetWriter.writeC(_statusMask);
        }

        if (containsMask(NpcInfoType.NAMED))
        {
            packetWriter.writeC(_showName ? 1 : 0);
        }

        if(containsMask(NpcInfoType.SERVER_ID))
        {
            packetWriter.writeD(Config.REQUEST_ID);
        }

        if (containsMask(NpcInfoType.MASTER_ID))
        {
            packetWriter.writeD(_masterId);
        }
       
        if(containsMask(NpcInfoType.ABNORMALS))
        {
            packetWriter.writeH(_AbnormalVisualEffects.length);
            for(AbnormalVisualEffect abnormal : _AbnormalVisualEffects)
                packetWriter.writeH(abnormal == null ? 0 : abnormal.getId());
        }
        return true;

Java:
public enum NpcInfoType implements IUpdateTypeComponent
{
    // 0
    ID(0x00, 4),
    ATTACKABLE(0x01, 1),
    RELATIONS(0x02, 8),
    NAME(0x03, 2),
    POSITION(0x04, (3 * 4)),
    HEADING(0x05, 4),
    VEHICLE_ID(0x06, 4),
    ATK_CAST_SPEED(0x07, (2 * 4)),

    // 1
    SPEED_MULTIPLIER(0x08, (2 * 4)),
    EQUIPPED(0x09, (3 * 4)),
    ALIVE(0x0A, 1),
    RUNNING(0x0B, 1),
    COMBAT_MODE(0x0C, 0),
    DEAD(0x0D, 0),
    SWIM_OR_FLY(0x0E, 1),
    TEAM(0x0F, 1),

    // 2
    ENCHANT(0x10, 4),
    FLYING(0x11, 4),
    CLONE(0x12, 4),
    COLOR_EFFECT(0x13, 4),
    TARGET_ABLE(0x14, 0),
    NAMED(0x15, 1),
    DISPLAY_EFFECT(0x16, 4),
    TRANSFORMATION(0x17, 4),

    // 3
    CURRENT_HP(0x18, 8),
    CURRENT_MP(0x19, 4),
    MAX_HP(0x1A, 8),
    MAX_MP(0x1B, 4),
    SUMMONED(0x1C, 1),
    UNKNOWN12(0x1D, (2 * 4)),
    TITLE(0x1E, 2),
    NAME_NPCSTRINGID(0x1F, 4),

    // 4
    TITLE_NPCSTRINGID(0x20, 4),
    PVP_FLAG(0x21, 1),
    REPUTATION(0x22, 4),
    CLAN(0x23, (5 * 4)),
    ABNORMALS(0x24, 0),
    SERVER_ID(0x25, 4),
    MASTER_ID(0x26, 4);

с вас 5тыщ
 
это не полная инфа. Я вытащил эту инфу с сервака и опять же у меня не выходит распарсить нормально пакет даже имея эту инфу с сервака
 
остальные данные с 447 или 464 или 474 протокола не менялись.

Тогда только поменялись

Java:
        if (containsMask(NpcInfoType.CURRENT_HP))
            packetWriter.writeQ(_currentHP);

        if (containsMask(NpcInfoType.CURRENT_MP))
            packetWriter.writeD(_currentMP);

        if (containsMask(NpcInfoType.MAX_HP))
            packetWriter.writeQ(_maxHP);

        if (containsMask(NpcInfoType.MAX_MP))
            packetWriter.writeD(_maxMP);
 
Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше…