summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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)