diff options
-rw-r--r-- | src/net/eathena/chatrecv.cpp | 11 | ||||
-rw-r--r-- | src/net/eathena/chatrecv.h | 1 | ||||
-rw-r--r-- | src/net/eathena/packetsin.inc | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/net/eathena/chatrecv.cpp b/src/net/eathena/chatrecv.cpp index f4c41d120..318fe7c30 100644 --- a/src/net/eathena/chatrecv.cpp +++ b/src/net/eathena/chatrecv.cpp @@ -822,4 +822,15 @@ void ChatRecv::processScriptMessage(Net::MessageIn &msg) TryRemoveColors_true); } +void ChatRecv::processServiceMessageColor(Net::MessageIn &msg) +{ + const int sz = msg.readInt16("len") - 8; + msg.readInt32("color"); + const std::string message = msg.readString(sz, "message"); + localChatTab->chatLog(message, + ChatMsgType::BY_SERVER, + IgnoreRecord_false, + TryRemoveColors_true); +} + } // namespace EAthena diff --git a/src/net/eathena/chatrecv.h b/src/net/eathena/chatrecv.h index c304ce912..19d93f198 100644 --- a/src/net/eathena/chatrecv.h +++ b/src/net/eathena/chatrecv.h @@ -74,6 +74,7 @@ namespace EAthena void processChatTalkieBox(Net::MessageIn &msg); void processBattleChatMessage(Net::MessageIn &msg); void processScriptMessage(Net::MessageIn &msg); + void processServiceMessageColor(Net::MessageIn &msg); extern std::string mChatRoom; } // namespace ChatRecv } // namespace EAthena diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc index 5e2b3eb5d..6417c251c 100644 --- a/src/net/eathena/packetsin.inc +++ b/src/net/eathena/packetsin.inc @@ -1181,6 +1181,7 @@ if (packetVersionMain >= 20170726) // 20170830 packet(SMSG_PLAYER_STAT_UPDATE_7, 0x0acb, 12, &PlayerRecv::processPlayerStatUpdate7, 20170830); packet(SMSG_PLAYER_GET_EXP2, 0x0acc, 18, &PlayerRecv::processPlayerGetExp2, 20170830); +packet(SMSG_SERVICE_MESSAGE_COLOR, 0x0adb, -1, &ChatRecv::processServiceMessageColor, 20170830); // zero 20171018 if (packets_zero == true) |