50 lines
1.7 KiB
Plaintext
50 lines
1.7 KiB
Plaintext
0304
|
|
|
|
Size:32
|
|
Command:16 Channel:8 Garbage:8
|
|
DestLID:16 0:16
|
|
FromTypeID:32
|
|
FromGID:32
|
|
0:32
|
|
0:32
|
|
DestTypeID:32
|
|
DestGID:32
|
|
0:32
|
|
0:32
|
|
SourceTypeID:32
|
|
SourceGID:32
|
|
0:32
|
|
0:32
|
|
ChatType:8 ChatCutIn:8 ChatCutInAngle:8 ChatMessageLength:8
|
|
ChatChannel:8 ChatCharacterType:8 0:8 _UnknownH:8
|
|
FromName:512
|
|
ChatMessage:N
|
|
|
|
Size: depends on ChatMessage
|
|
Channel: 2, 3
|
|
DestLID: sometimes ffff guessing in counters
|
|
FromTypeID: 0 on channel 2; 00011300 on channel 3, this is the one for the player source, or leader if an NPC
|
|
FromGID: 0 on channel 2; GID of the player source, or leader if an NPC on channel 3
|
|
DestTypeID: 0 on channel 2; 00011300 on channel 3
|
|
DestGID: 0 on channel 2; GID on channel 3
|
|
channel 2:
|
|
SourceTypeID: 00000000 (? found twice in the logs) or 00001200 (player) or 00001d00 (npc)
|
|
SourceGID: can be 00000000 too? found twice in the logs too; otherwise player or npc GID
|
|
channel 3:
|
|
SourceTypeID: 00001200 (player) or 00001d00 (npc); never 00000000 like on channel 2
|
|
SourceGID: player or npc GID; never 00000000 like on channel 2
|
|
ChatType: 0=normal 1=shout 2=whisper
|
|
ChatCutIn: 0=none 1=laugh 2=smile 3=wry_smile 4=surprised 5=confused 6=disappointed 7=deep_in_thought 8=sneer 9=dissatisfied 10=angry
|
|
ChatCutInAngle: 0=default 1=(down 1 time) 2=(down 2 times) 3=(down 3 times)
|
|
ChatMessageLength: a rounding happens, probably a good idea to check its validity
|
|
a 2 (D = len of a + 1)
|
|
hi 4 (D = len of hi + 2)
|
|
lol 4 (D = len of lol + 1)
|
|
lolo 6 (D = len of lolo + 2)
|
|
So probably string + \0\0 rounded below at a number multiple of 2.
|
|
ChatChannel: 0=public 1=private
|
|
ChatCharacterType: 0 2; probably 0 for a normal player, 2 for an NPC
|
|
_UnknownH: from 0 to 255
|
|
FromName: not available in v2.0
|
|
ChatMessage: variable length, finishes by a double \0
|