From 8d3bbab79c733c7f8c5a685e8243889a250d64c8 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 14 Apr 2016 20:21:19 +0300 Subject: For tmwa server version >= 0x100408 not send nick in chat message. --- src/net/tmwa/chathandler.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/net') diff --git a/src/net/tmwa/chathandler.cpp b/src/net/tmwa/chathandler.cpp index 514b339c8..6ab94b792 100644 --- a/src/net/tmwa/chathandler.cpp +++ b/src/net/tmwa/chathandler.cpp @@ -39,6 +39,7 @@ #include "debug.h" extern Net::ChatHandler *chatHandler; +extern unsigned int tmwServerVersion; namespace TmwAthena { @@ -55,13 +56,23 @@ void ChatHandler::talk(const std::string &restrict text, if (!localPlayer) return; - const std::string mes = std::string(localPlayer->getName()).append( - " : ").append(text); + if (tmwServerVersion >= 0x100408) + { + createOutPacket(CMSG_CHAT_MESSAGE); + // Added + 1 in order to let eAthena parse admin commands correctly + outMsg.writeInt16(CAST_S16(text.length() + 4 + 1), "len"); + outMsg.writeString(text, CAST_S32(text.length() + 1), "message"); + } + else + { + const std::string mes = std::string(localPlayer->getName()).append( + " : ").append(text); - createOutPacket(CMSG_CHAT_MESSAGE); - // Added + 1 in order to let eAthena parse admin commands correctly - outMsg.writeInt16(CAST_S16(mes.length() + 4 + 1), "len"); - outMsg.writeString(mes, CAST_S32(mes.length() + 1), "message"); + createOutPacket(CMSG_CHAT_MESSAGE); + // Added + 1 in order to let eAthena parse admin commands correctly + outMsg.writeInt16(CAST_S16(mes.length() + 4 + 1), "len"); + outMsg.writeString(mes, CAST_S32(mes.length() + 1), "message"); + } } void ChatHandler::talkRaw(const std::string &mes) const -- cgit v1.2.3-70-g09d2