SMSG_TRADE_STATUS
Client Version 1.12
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/trade/smsg_trade_status.wowm:283
.
smsg SMSG_TRADE_STATUS = 0x0120 {
TradeStatus status;
if (status == BEGIN_TRADE) {
Guid unknown1;
}
else if (status == CLOSE_WINDOW) {
(u32)InventoryResult inventory_result;
Bool target_error;
u32 item_limit_category_id;
}
else if (status == ONLY_CONJURED
|| status == NOT_ON_TAPLIST) {
u8 slot;
}
}
Header
SMSG have a header of 4 bytes.
SMSG Header
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x04 | 4 / - | TradeStatus | status |
If status is equal to BEGIN_TRADE
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x08 | 8 / Little | Guid | unknown1 | Set to 0 in vmangos. |
Else If status is equal to CLOSE_WINDOW
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x10 | 4 / - | InventoryResult | inventory_result | |
0x14 | 1 / - | Bool | target_error | used for: EQUIP_ERR_BAG_FULL, EQUIP_ERR_CANT_CARRY_MORE_OF_THIS, EQUIP_ERR_MISSING_REAGENT, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED |
0x15 | 4 / Little | u32 | item_limit_category_id | ItemLimitCategory.dbc entry |
Else If status is equal to ONLY_CONJURED
or
is equal to NOT_ON_TAPLIST
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x19 | 1 / - | u8 | slot | Trade slot -1 here clears CGTradeInfo::m_tradeMoney |
Client Version 2.4.3
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/trade/smsg_trade_status.wowm:283
.
smsg SMSG_TRADE_STATUS = 0x0120 {
TradeStatus status;
if (status == BEGIN_TRADE) {
Guid unknown1;
}
else if (status == CLOSE_WINDOW) {
(u32)InventoryResult inventory_result;
Bool target_error;
u32 item_limit_category_id;
}
else if (status == ONLY_CONJURED
|| status == NOT_ON_TAPLIST) {
u8 slot;
}
}
Header
SMSG have a header of 4 bytes.
SMSG Header
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x04 | 4 / - | TradeStatus | status |
If status is equal to BEGIN_TRADE
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x08 | 8 / Little | Guid | unknown1 | Set to 0 in vmangos. |
Else If status is equal to CLOSE_WINDOW
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x10 | 4 / - | InventoryResult | inventory_result | |
0x14 | 1 / - | Bool | target_error | used for: EQUIP_ERR_BAG_FULL, EQUIP_ERR_CANT_CARRY_MORE_OF_THIS, EQUIP_ERR_MISSING_REAGENT, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED |
0x15 | 4 / Little | u32 | item_limit_category_id | ItemLimitCategory.dbc entry |
Else If status is equal to ONLY_CONJURED
or
is equal to NOT_ON_TAPLIST
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x19 | 1 / - | u8 | slot | Trade slot -1 here clears CGTradeInfo::m_tradeMoney |
Client Version 3.3.5
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/trade/smsg_trade_status.wowm:283
.
smsg SMSG_TRADE_STATUS = 0x0120 {
TradeStatus status;
if (status == BEGIN_TRADE) {
Guid unknown1;
}
else if (status == CLOSE_WINDOW) {
(u32)InventoryResult inventory_result;
Bool target_error;
u32 item_limit_category_id;
}
else if (status == ONLY_CONJURED
|| status == NOT_ON_TAPLIST) {
u8 slot;
}
}
Header
SMSG have a header of 4 bytes.
SMSG Header
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x00 | 2 OR 3 / Big | uint16 OR uint16+uint8 | size | Size of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2. |
- | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
- | 4 / - | TradeStatus | status |
If status is equal to BEGIN_TRADE
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
- | 8 / Little | Guid | unknown1 | Set to 0 in vmangos. |
Else If status is equal to CLOSE_WINDOW
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
- | 4 / - | InventoryResult | inventory_result | |
- | 1 / - | Bool | target_error | used for: EQUIP_ERR_BAG_FULL, EQUIP_ERR_CANT_CARRY_MORE_OF_THIS, EQUIP_ERR_MISSING_REAGENT, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED |
- | 4 / Little | u32 | item_limit_category_id | ItemLimitCategory.dbc entry |
Else If status is equal to ONLY_CONJURED
or
is equal to NOT_ON_TAPLIST
:
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
- | 1 / - | u8 | slot | Trade slot -1 here clears CGTradeInfo::m_tradeMoney |