diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/adminhandler.cpp | 13 | ||||
-rw-r--r-- | src/net/eathena/adminhandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp index 2ec6919c2..c4b55def4 100644 --- a/src/net/eathena/adminhandler.cpp +++ b/src/net/eathena/adminhandler.cpp @@ -134,10 +134,17 @@ void AdminHandler::recallName(const std::string &name) const outMsg.writeString(name, 24, "name"); } -void AdminHandler::mute(const int playerId A_UNUSED, const int type A_UNUSED, - const int limit A_UNUSED) const +void AdminHandler::mute(const Being *const being, + const int type, + const int limit) const { - return; + if (!being) + return; + + MessageOut outMsg(CMSG_ADMIN_MUTE); + outMsg.writeInt32(being->getId(), "account id"); + outMsg.writeInt8(type, "type"); + outMsg.writeInt16(limit, "value"); } } // namespace EAthena diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h index 80357657f..54c06e02f 100644 --- a/src/net/eathena/adminhandler.h +++ b/src/net/eathena/adminhandler.h @@ -60,7 +60,7 @@ class AdminHandler final : public MessageHandler, public Ea::AdminHandler void recallName(const std::string &name) const override final; - void mute(const int playerId, + void mute(const Being *const being, const int type, const int limit) const override final; diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 4ee56c31d..b572f4958 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -305,6 +305,7 @@ #define CMSG_ADMIN_RESET_PLAYER 0x0197 #define CMSG_ADMIN_GOTO 0x01bb #define CMSG_ADMIN_RECALL 0x01bd +#define CMSG_ADMIN_MUTE 0x0149 #define CMSG_GUILD_CHECK_MASTER 0x014d #define CMSG_GUILD_REQUEST_INFO 0x014f |