CMSG_MESSAGECHAT

Client Version 1.12

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_messagechat.wowm:1.

cmsg CMSG_MESSAGECHAT = 0x0095 {
    (u32)ChatType chat_type;
    Language language;
    if (chat_type == WHISPER) {
        CString target_player;
    }
    else if (chat_type == CHANNEL) {
        CString channel;
    }
    CString message;
}

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -ChatTypechat_type
0x0A4 / -Languagelanguage

If chat_type is equal to WHISPER:

OffsetSize / EndiannessTypeNameComment
0x0E- / -CStringtarget_player

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel
-- / -CStringmessage

Examples

Example 1

Comment

Say message.

0, 35, // size
149, 0, 0, 0, // opcode (149)
0, 0, 0, 0, // chat_type: ChatType SAY (0x00)
7, 0, 0, 0, // language: Language COMMON (7)
84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 115, 97, 121, 32, 109, 101, 115, 115, 97, 103, 101, 46, 0, // message: CString

Client Version 2.4.3

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_messagechat.wowm:30.

cmsg CMSG_MESSAGECHAT = 0x0095 {
    (u32)ChatType chat_type;
    (u32)Language language;
    if (chat_type == WHISPER) {
        CString target_player;
    }
    else if (chat_type == CHANNEL) {
        CString channel;
    }
    CString message;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -ChatTypechat_type
0x0A4 / -Languagelanguage

If chat_type is equal to WHISPER:

OffsetSize / EndiannessTypeNameComment
0x0E- / -CStringtarget_player

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel
-- / -CStringmessage

Client Version 3.3.5

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/chat/cmsg_messagechat.wowm:44.

cmsg CMSG_MESSAGECHAT = 0x0095 {
    (u32)ChatType chat_type;
    (u32)Language language;
    if (chat_type == WHISPER) {
        CString target_player;
    }
    else if (chat_type == CHANNEL) {
        CString channel;
    }
    CString message;
}

Header

CMSG have a header of 6 bytes.

CMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x024 / Littleuint32opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x064 / -ChatTypechat_type
0x0A4 / -Languagelanguage

If chat_type is equal to WHISPER:

OffsetSize / EndiannessTypeNameComment
0x0E- / -CStringtarget_player

Else If chat_type is equal to CHANNEL:

OffsetSize / EndiannessTypeNameComment
-- / -CStringchannel
-- / -CStringmessage