summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPhilipp Sehmisch <mana@crushnet.org>2010-12-27 21:57:25 +0100
committerPhilipp Sehmisch <mana@crushnet.org>2010-12-27 21:57:25 +0100
commit4ead8e0b6af924132a6fb227325a868db0df335c (patch)
tree397cfe9e51960547b05d7f8d48e1663163ab92d4 /src
parentd1ac4d5cd3b605526f2b1a3caa3339718962d415 (diff)
downloadmanaserv-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.cpp42
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)