Показать сообщение отдельно
Непрочитано 18.12.2013, 16:58   #150
Аватар для Bonux
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 6)

Цитата:
Сообщение от 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 неизвестных байт.
		}
А что с одеванием сета не ясно?
Bonux вне форума Отправить сообщение для Bonux с помощью ICQ Отправить сообщение для Bonux с помощью Skype™