diff options
author | Philipp Sehmisch <mana@crushnet.org> | 2010-12-27 21:57:25 +0100 |
---|---|---|
committer | Philipp Sehmisch <mana@crushnet.org> | 2010-12-27 21:57:25 +0100 |
commit | 4ead8e0b6af924132a6fb227325a868db0df335c (patch) | |
tree | 397cfe9e51960547b05d7f8d48e1663163ab92d4 /src | |
parent | d1ac4d5cd3b605526f2b1a3caa3339718962d415 (diff) | |
download | manaserv-4ead8e0b6af924132a6fb227325a868db0df335c.tar.gz manaserv-4ead8e0b6af924132a6fb227325a868db0df335c.tar.bz2 manaserv-4ead8e0b6af924132a6fb227325a868db0df335c.tar.xz manaserv-4ead8e0b6af924132a6fb227325a868db0df335c.zip |
Implemented @log and @logsay commands.
The @log command is the equivalent to tmwAthena's @l. It allows to log
a text as a transaction for documentation purpose.
The @logsay command works like @t on tmwAthena. It says something in
public chat while also logging it as a separate trasaction.
Reviewed-by: Thorbjorn
Diffstat (limited to 'src')
-rw-r--r-- | src/game-server/commandhandler.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/game-server/commandhandler.cpp b/src/game-server/commandhandler.cpp index ef0b6017..8e36c7ed 100644 --- a/src/game-server/commandhandler.cpp +++ b/src/game-server/commandhandler.cpp @@ -70,6 +70,8 @@ static void handleMute(Character*, std::string&); static void handleDie(Character*, std::string&); static void handleKill(Character*, std::string&); static void handleKick(Character*, std::string&); +static void handleLog(Character*, std::string&); +static void handleLogsay(Character*, std::string&); static CmdRef const cmdRef[] = { @@ -119,6 +121,10 @@ static CmdRef const cmdRef[] = "Kills the character.", &handleKill}, {"kick", "<character>", "Disconnects the client of character.", &handleKick}, + {"log", "<message>", + "Logs a message to the transaction log.", &handleLog}, + {"logsay", "<message>", + "Says something in public chat while logging it to the transaction log.", &handleLogsay}, {NULL, NULL, NULL, NULL} }; @@ -1189,6 +1195,42 @@ static void handleKick(Character *player, std::string &args) } +static void handleLog(Character *player, std::string &msg) +{ + if (msg == "") + { + say("Invalid number of arguments given.", player); + say("Usage: @log <message>", player); + return; + } + + // log transaction + std::string logmsg = "[silent] " + msg; + accountHandler->sendTransaction(player->getDatabaseID(), TRANS_CMD_LOG, logmsg); + + // send feedback + say("Message logged", player); +} + +static void handleLogsay(Character *player, std::string &msg) +{ + if (msg == "") + { + say("Invalid number of arguments given.", player); + say("Usage: @logsay <message>", player); + return; + } + + GameState::sayAround(player, msg); + + // log transaction + std::string logmsg = "[public] " + msg; + accountHandler->sendTransaction(player->getDatabaseID(), TRANS_CMD_LOG, logmsg); + + // send feedback + say("Message logged", player); +} + void CommandHandler::handleCommand(Character *player, const std::string &command) |