mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-05 20:22:28 +00:00
Validated channel messages
This commit is contained in:
parent
1d47611b24
commit
ffc912b2f6
@ -389,8 +389,7 @@ namespace TOB
|
||||
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, emu->sender);
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, emu->targetname);
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint64, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, emu->language);
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, emu->chan_num);
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, 0); // Unknown
|
||||
@ -398,11 +397,13 @@ namespace TOB
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, emu->skill_in_language);
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message.c_str());
|
||||
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint16, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint8, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint8, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, 0);// Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, 0);// Unknown
|
||||
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, "");
|
||||
VARSTRUCT_ENCODE_TYPE(uint8, OutBuffer, 0); // Unknown
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, 0);// Unknown
|
||||
|
||||
delete[] __emu_buffer;
|
||||
dest->FastQueuePacket(&in, ack_req);
|
||||
@ -3640,10 +3641,13 @@ namespace TOB
|
||||
|
||||
uint32 Skill = VARSTRUCT_DECODE_TYPE(uint32, InBuffer);
|
||||
|
||||
// this has a size limit of 11k in the client
|
||||
std::string old_message = InBuffer;
|
||||
std::string new_message;
|
||||
TOBToServerConvertLinks(new_message, old_message);
|
||||
|
||||
// there are 15 bytes after this, part of which is an unk string, check the ENCODE for the layout
|
||||
|
||||
__packet->size = sizeof(ChannelMessage_Struct) + new_message.length() + 1;
|
||||
__packet->pBuffer = new unsigned char[__packet->size];
|
||||
ChannelMessage_Struct* emu = (ChannelMessage_Struct*)__packet->pBuffer;
|
||||
|
||||
@ -81,7 +81,7 @@ Below is a status list for the 450 opcodes we currently use on the server for th
|
||||
| `OP_CashReward` | 🟡 Unverified | | |
|
||||
| `OP_CastSpell` | 🟢 Verified | | |
|
||||
| `OP_ChangeSize` | 🟢 Verified | | |
|
||||
| `OP_ChannelMessage` | 🟡 Unverified | | |
|
||||
| `OP_ChannelMessage` | 🟢 Verified | | |
|
||||
| `OP_ChangePetName` | 🔴 Not-Set | | |
|
||||
| `OP_CharacterCreate` | 🟢 Verified | Sends heroic type, can be used for something? | |
|
||||
| `OP_CharacterCreateRequest` | 🟢 Verified | | |
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user