diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-10-11 23:36:41 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-10-11 23:36:41 +0300 |
commit | 12bc5f140a15f28ea57e8904a3858ba633d22b6d (patch) | |
tree | b8137d40b90548aab4780c94919d14ad18eb744b | |
parent | f43e19ac76dd70bc362d7f498e095c56ab649b61 (diff) | |
download | manaplus-12bc5f140a15f28ea57e8904a3858ba633d22b6d.tar.gz manaplus-12bc5f140a15f28ea57e8904a3858ba633d22b6d.tar.bz2 manaplus-12bc5f140a15f28ea57e8904a3858ba633d22b6d.tar.xz manaplus-12bc5f140a15f28ea57e8904a3858ba633d22b6d.zip |
add /talkraw chat command for special use.
-rw-r--r-- | src/commands.cpp | 5 | ||||
-rw-r--r-- | src/commands.h | 3 | ||||
-rw-r--r-- | src/net/eathena/chathandler.cpp | 5 | ||||
-rw-r--r-- | src/net/tmwa/chathandler.cpp | 5 |
4 files changed, 12 insertions, 6 deletions
diff --git a/src/commands.cpp b/src/commands.cpp index 2119bdb50..3dd4175eb 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -1243,6 +1243,11 @@ impHandler0(createItems) dialog->sort(); } +impHandler1(talkRaw) +{ + Net::getChatHandler()->talkRaw(args); +} + impHandler0(testsdlfont) { #if defined USE_OPENGL && defined DEBUG_SDLFONT diff --git a/src/commands.h b/src/commands.h index 6825159c4..851789282 100644 --- a/src/commands.h +++ b/src/commands.h @@ -126,6 +126,7 @@ namespace Commands decHandler(enableAway); decHandler(testParticle); decHandler(createItems); + decHandler(talkRaw); void replaceVars(std::string &str); } // namespace Commands @@ -219,6 +220,7 @@ enum COMMAND_MAGICATTACK, COMMAND_TEST_PARTICLE, COMMAND_CREATEITEMS, + COMMAND_TALKRAW, COMMAND_HACK, END_COMMANDS }; @@ -312,6 +314,7 @@ static const CommandInfo commands[] = {"magicattack", nullptr, Input::KEY_MAGIC_ATTACK, false}, {"testparticle", &Commands::testParticle, -1, true}, {"createitems", &Commands::createItems, -1, false}, + {"talkraw", &Commands::talkRaw, -1, true}, {"hack", &Commands::hack, -1, true} }; diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp index 0f247f66e..d8b75bfe6 100644 --- a/src/net/eathena/chathandler.cpp +++ b/src/net/eathena/chathandler.cpp @@ -113,9 +113,8 @@ void ChatHandler::talk(const std::string &text, void ChatHandler::talkRaw(const std::string &mes) const { MessageOut outMsg(CMSG_CHAT_MESSAGE); - // Added + 1 in order to let eAthena parse admin commands correctly - outMsg.writeInt16(static_cast<int16_t>(mes.length() + 4 + 1)); - outMsg.writeString(mes, static_cast<int>(mes.length() + 1)); + outMsg.writeInt16(static_cast<int16_t>(mes.length() + 4)); + outMsg.writeString(mes, static_cast<int>(mes.length())); } void ChatHandler::privateMessage(const std::string &recipient, diff --git a/src/net/tmwa/chathandler.cpp b/src/net/tmwa/chathandler.cpp index 8f269542c..833e8d4b7 100644 --- a/src/net/tmwa/chathandler.cpp +++ b/src/net/tmwa/chathandler.cpp @@ -141,9 +141,8 @@ void ChatHandler::talk(const std::string &text, void ChatHandler::talkRaw(const std::string &mes) const { MessageOut outMsg(CMSG_CHAT_MESSAGE); - // Added + 1 in order to let eAthena parse admin commands correctly - outMsg.writeInt16(static_cast<int16_t>(mes.length() + 4 + 1)); - outMsg.writeString(mes, static_cast<int>(mes.length() + 1)); + outMsg.writeInt16(static_cast<int16_t>(mes.length() + 4)); + outMsg.writeString(mes, static_cast<int>(mes.length())); } void ChatHandler::privateMessage(const std::string &recipient, |