Цитата:
Сообщение от BoneBreaker
С UserInfo я вроде доразобрался, а вот с Npc застопорился.
получилось как то так, но это бредятина
Код:
D - obj
C - unk
H - кол-во блоков
C
C
C
C
C
C - блок с титулом
C - isAtack
D unk
S - title
H - unk
H - block
D - npcId
D - x
D - y
D - z
D - h
D - unk
D - matkspd
D - patkspd
F
F
C - nameAbove
C - run
C - combat
C - dead
C - spawn
C - unk
C - unk
D - unk
D - hp
D - mp
C - unk
H - unk
А вот кстати с визуальным одеванием сета трабла неясна.
|
Пока то что мне удалось разобрать... Надеюсь поможет.
Код:
writeEx(0x167);
writeD(_npcObjId);
writeC(0x00); // UNK
writeH(37);
writeB(new byte[]{(byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF});
writeC(7 + _title.length() * 2);
writeC(_isAttackable ? 1 : 0);
writeD(0x00); // UNK
writeCutS(_title);
writeH(0x00); // UNK
if(_isLoading)
{
writeH(143);
writeD(_npcId + 1000000); // npctype id c4
writeD(_loc.x);
writeD(_loc.y);
writeD(_loc.z + Config.CLIENT_Z_SHIFT);
writeD(_loc.h);
writeD(0x00); //UNK
writeD(_mAtkSpd);
writeD(_pAtkSpd);
writeF(_runSpdMul);
writeF(_atkSpdMul);
writeC(dead);
writeC(running);
writeC(isFlying ? 2 : 0); // C2
writeC(isFlying ? 1 : 0); // C2
// Неизвестный формат. Забываем длину пакета. START
writeD(0x01); //UNK
writeD(0x00); //UNK
writeD(0x00); //UNK
writeD(0x00); //UNK
writeD(0x00); //UNK
writeD(0x00); //UNK
writeD(0x00); //UNK
// Неизвестный формат. Забываем длину пакета. END
writeD(_currentHP);
writeD(_currentMP);
writeD(_maxHP);
writeD(_maxMP);
// Далее идет еще 47 неизвестных байт.
}
А что с одеванием сета не ясно?