Посмотрите видео ниже, чтобы узнать, как установить наш сайт в виде веб-приложения на главном экране.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
количество масок стало 39.Добый день, помогите плиз распарсить пакет npcInfo. Первый блок парсится нормально, авторой блок вообще не могу распарить. Хроники Orc Village.
да это я знаю. Но вот распарсить нормально пакет так и не выходитколичество масок стало 39.
да это я знаю. Но вот распарсить нормально пакет так и не выходит
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;
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);
это не полная инфа. Я вытащил эту инфу с сервака и опять же у меня не выходит распарсить нормально пакет даже имея эту инфу с сервака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 протокола не менялись.это не полная инфа. Я вытащил эту инфу с сервака и опять же у меня не выходит распарсить нормально пакет даже имея эту инфу с сервака
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);