Прикрутил к парсеру разбор SWITCH CASE. Сделал расшифровку серверных пакетов для packetsFreya.ini
delphi Код:
44=ShortCutRegister:d(type:switch.2.6)d(slot page*12)d(id скилла или object id вещи)_(TYPE_ITEM:case.1.6)d(неизвестно, если не 1, то черный квадрат)d(если больше чем -1, то показывать реюз)d(оставшееся время реюза в секундах)d(реюз в секундах)h(0)h(0)_(TYPE_SKILL:case.2.3)d(level)c(0)d(1)_(TYPE_ACTION:case.3.1)d(1)_(TYPE_MACRO:case.4.1)d(1)_(TYPE_RECIPE:case.5.1)d(1)_(TYPE_UNKNOWN:case.6.1)d(1)
45=ShortCutInit:d(size:Loop.1.1)d(type:switch.2.6)d(slot page*12)d(id скилла или object id вещи)_(TYPE_ITEM:case.1.6)d(неизвестно, если не 1, то черный квадрат)d(если больше чем -1, то показывать реюз)d(оставшееся время реюза в секундах)d(реюз в секундах)h(0)h(0)_(TYPE_SKILL:case.2.3)d(level)c(0)d(1)_(TYPE_ACTION:case.3.1)d(1)_(TYPE_MACRO:case.4.1)d(1)_(TYPE_RECIPE:case.5.1)d(1)_(TYPE_UNKNOWN:case.6.1)d(1)
62=SystemMessage:d(_messageId:Get.MsgID)d(size:Loop.1.1)d(type:switch.0.13)_(TYPE_TEXT:case.0.1)s(String)_(TYPE_NUMBER:case.1.1)d(Number)_(TYPE_NPC_NAME:case.2.1)d(Number:Get.NpcID)_(TYPE_ITEM_NAME:case.3.1)d(ItemID:Get.Func01)_(TYPE_SKILL_NAME:case.4.2)d(skill_id:Get.SkillID)d(skill_level)_(TYPE_UNKNOWN_5:case.5.1)d(Number)_(TYPE_LONG:case.6.1)q(Long)_(TYPE_ZONE_NAME:case.7.3)d(coord.x)d(coord.y)d(coord.z)_(TYPE_UNKNOWN_8:case.8.3)d(ItemID:Get.Func01)h(Number)h(Number)_(TYPE_UNKNOWN_9:case.9.1)d(Number)_(TYPE_UNKNOWN_10:case.10.1)d(Number)_(TYPE_UNKNOWN_11:case.11.1)d(Number)_(TYPE_UNKNOWN_12:case.12.1)s(String)
F3=ConfirmDlg:d(_messageId)d(size:Loop.1.1)d(t:switch.0.8)_(TYPE_TEXT:case.0.1)s(String)_(TYPE_NUMBER:case.1.1)d(t1)_(TYPE_NPC_NAME:case.2.1)d(t1:Get.NpcID)_(TYPE_ITEM_NAME:case.3.1)d(ItemID:Get.Func01)_(TYPE_UNKNOWN_5:case.5.1)d(t1)_(TYPE_SKILL_NAME:case.4.2)d(skill_id:Get.SkillID)d(skill_level)_(TYPE_LONG:case.6.1)q(t1)_(TYPE_ZONE_NAME:case.7.3)d(coord.x)d(coord.y)d(coord.z)d(_Time)d(_requestId)
Так теперь выглядит SystemMessage
delphi Код:
Тип: 0x62 (SystemMessage)
Размер: 43+2
Время прихода: 01:51:27:031
0002 d _messageId: $c1 наносит цели $c2 $s3 урона. ID:2261 (0x08D5)
0006 d size: 3 (0x00000003)
[Начало повторяющегося блока 1/3]
0010 d type: 12 (0x0000000C)
0014 s String: ЯнеБот
[Конец повторяющегося блока 1/3]
[Начало повторяющегося блока 2/3]
0028 d type: 2 (0x00000002)
0032 d Number: Гремлин ID:1018342 (0xF89E6)
[Конец повторяющегося блока 2/3]
[Начало повторяющегося блока 3/3]
0036 d type: 1 (0x00000001)
0040 d Number: 12 (0x0000000C)
[Конец повторяющегося блока 3/3]
PS: дайте кто нибудь логи от AION, чтобы можно было ошибки с разбором пакетов поправить.