diff options
-rw-r--r-- | src/actions/commands.cpp | 3 | ||||
-rw-r--r-- | src/net/ea/adminhandler.cpp | 24 | ||||
-rw-r--r-- | src/net/eathena/adminhandler.cpp | 70 | ||||
-rw-r--r-- | src/net/tmwa/adminhandler.cpp | 13 | ||||
-rw-r--r-- | src/net/tmwa/chathandler.cpp | 3 | ||||
-rw-r--r-- | src/utils/gmfunctions.cpp | 29 | ||||
-rw-r--r-- | src/utils/gmfunctions.h | 5 |
7 files changed, 76 insertions, 71 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index cdb1fa69c..ebb472130 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -69,6 +69,7 @@ #include "utils/chatutils.h" #include "utils/gettext.h" +#include "utils/gmfunctions.h" #include "utils/process.h" #include "debug.h" @@ -805,7 +806,7 @@ impHandler(gm) { if (chatHandler) { - chatHandler->talk("@wgm " + event.args, GENERAL_CHANNEL); + Gm::runCommand("wgm", event.args); return true; } return false; diff --git a/src/net/ea/adminhandler.cpp b/src/net/ea/adminhandler.cpp index d209cc47f..a45cb2d4c 100644 --- a/src/net/ea/adminhandler.cpp +++ b/src/net/ea/adminhandler.cpp @@ -24,11 +24,9 @@ #include "game.h" -#include "const/gui/chat.h" - -#include "net/chathandler.h" #include "net/serverfeatures.h" +#include "utils/gmfunctions.h" #include "utils/stringutils.h" #include "debug.h" @@ -38,7 +36,7 @@ namespace Ea void AdminHandler::kickName(const std::string &name) const { - chatHandler->talk("@kick " + name, GENERAL_CHANNEL); + Gm::runCommand("kick", name); } void AdminHandler::ban(const int playerId A_UNUSED) const @@ -48,7 +46,7 @@ void AdminHandler::ban(const int playerId A_UNUSED) const void AdminHandler::banName(const std::string &name) const { - chatHandler->talk("@ban " + name, GENERAL_CHANNEL); + Gm::runCommand("ban", name); } void AdminHandler::unban(const int playerId A_UNUSED) const @@ -58,33 +56,33 @@ void AdminHandler::unban(const int playerId A_UNUSED) const void AdminHandler::unbanName(const std::string &name) const { - chatHandler->talk("@unban " + name, GENERAL_CHANNEL); + Gm::runCommand("unban", name); } void AdminHandler::reviveName(const std::string &name) const { - chatHandler->talk("@revive " + name, GENERAL_CHANNEL); + Gm::runCommand("revive", name); } void AdminHandler::ipcheckName(const std::string &name) const { - chatHandler->talk("@ipcheck " + name, GENERAL_CHANNEL); + Gm::runCommand("ipcheck", name); } void AdminHandler::createItems(const int id, const ItemColor color A_UNUSED, const int amount) const { - chatHandler->talk(strprintf("@item %d %d", id, amount), - GENERAL_CHANNEL); + Gm::runCommand("item", + strprintf("%d %d", id, amount)); } void AdminHandler::slide(const int x, const int y) const { if (serverFeatures->haveSlide()) { - chatHandler->talk(strprintf("@slide %d %d", x, y), - GENERAL_CHANNEL); + Gm::runCommand("slide", + strprintf("%d %d", x, y)); } else { @@ -94,7 +92,7 @@ void AdminHandler::slide(const int x, const int y) const void AdminHandler::spawn(const std::string &name) const { - chatHandler->talk("@spawn " + name, GENERAL_CHANNEL); + Gm::runCommand("spawn", name); } } // namespace Ea diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp index 4c7b776f9..9794a8b51 100644 --- a/src/net/eathena/adminhandler.cpp +++ b/src/net/eathena/adminhandler.cpp @@ -22,15 +22,13 @@ #include "net/eathena/adminhandler.h" -#include "being/localplayer.h" - -#include "const/gui/chat.h" - -#include "net/chathandler.h" +#include "being/being.h" #include "net/eathena/messageout.h" #include "net/eathena/protocolout.h" +#include "utils/gmfunctions.h" + #include "debug.h" extern Net::AdminHandler *adminHandler; @@ -164,121 +162,97 @@ void AdminHandler::requestStats(const std::string &name) const void AdminHandler::monsterInfo(const std::string &name) const { - chatHandler->talk("@monsterinfo " + name, GENERAL_CHANNEL); + Gm::runCommand("monsterinfo", name); } void AdminHandler::itemInfo(const std::string &name) const { - chatHandler->talk("@iteminfo " + name, GENERAL_CHANNEL); + Gm::runCommand("iteminfo", name); } void AdminHandler::whoDrops(const std::string &name) const { - chatHandler->talk("@whodrops " + name, GENERAL_CHANNEL); + Gm::runCommand("whodrops", name); } void AdminHandler::mobSearch(const std::string &name) const { - chatHandler->talk("@mobsearch " + name, GENERAL_CHANNEL); + Gm::runCommand("mobsearch", name); } void AdminHandler::mobSpawnSearch(const std::string &name) const { - chatHandler->talk("@whereis " + name, GENERAL_CHANNEL); + Gm::runCommand("whereis", name); } void AdminHandler::playerGmCommands(const std::string &name) const { - if (name.empty() || (localPlayer && name == localPlayer->getName())) - chatHandler->talk("@commands", GENERAL_CHANNEL); - else - chatHandler->talk("#commands " + name, GENERAL_CHANNEL); + Gm::runCharCommand("commands", name); } void AdminHandler::playerCharGmCommands(const std::string &name) const { - if (name.empty() || (localPlayer && name == localPlayer->getName())) - chatHandler->talk("@charcommands", GENERAL_CHANNEL); - else - chatHandler->talk("#charcommands " + name, GENERAL_CHANNEL); + Gm::runCharCommand("charcommands", name); } void AdminHandler::showLevel(const std::string &name) const { - if (name.empty() || (localPlayer && name == localPlayer->getName())) - chatHandler->talk("@exp", GENERAL_CHANNEL); - else - chatHandler->talk("#exp " + name, GENERAL_CHANNEL); + Gm::runCharCommand("exp", name); } void AdminHandler::showStats(const std::string &name) const { - if (name.empty() || (localPlayer && name == localPlayer->getName())) - chatHandler->talk("@stats", GENERAL_CHANNEL); - else - chatHandler->talk("#stats " + name, GENERAL_CHANNEL); + Gm::runCharCommand("stats", name); } void AdminHandler::showStorageList(const std::string &name) const { - if (name.empty() || (localPlayer && name == localPlayer->getName())) - chatHandler->talk("@storagelist", GENERAL_CHANNEL); - else - chatHandler->talk("#storagelist " + name, GENERAL_CHANNEL); + Gm::runCharCommand("storagelist", name); } void AdminHandler::showCartList(const std::string &name) const { - if (name.empty() || (localPlayer && name == localPlayer->getName())) - chatHandler->talk("@cartlist", GENERAL_CHANNEL); - else - chatHandler->talk("#cartlist " + name, GENERAL_CHANNEL); + Gm::runCharCommand("cartlist", name); } void AdminHandler::showInventoryList(const std::string &name) const { - if (name.empty() || (localPlayer && name == localPlayer->getName())) - chatHandler->talk("@itemlist", GENERAL_CHANNEL); - else - chatHandler->talk("#itemlist " + name, GENERAL_CHANNEL); + Gm::runCharCommand("itemlist", name); } void AdminHandler::locatePlayer(const std::string &name) const { - chatHandler->talk("@where " + name, GENERAL_CHANNEL); + Gm::runCommand("where", name); } void AdminHandler::showAccountInfo(const std::string &name) const { - chatHandler->talk("@accinfo " + name, GENERAL_CHANNEL); + Gm::runCommand("accinfo", name); } void AdminHandler::spawnSlave(const std::string &name) const { - chatHandler->talk("@summon " + name, GENERAL_CHANNEL); + Gm::runCommand("summon", name); } void AdminHandler::spawnClone(const std::string &name) const { - chatHandler->talk("@clone " + name, GENERAL_CHANNEL); + Gm::runCommand("clone", name); } void AdminHandler::spawnSlaveClone(const std::string &name) const { - chatHandler->talk("@slaveclone " + name, GENERAL_CHANNEL); + Gm::runCommand("slaveclone", name); } void AdminHandler::spawnEvilClone(const std::string &name) const { - chatHandler->talk("@evilclone " + name, GENERAL_CHANNEL); + Gm::runCommand("evilclone", name); } void AdminHandler::savePosition(const std::string &name) const { - if (name.empty() || (localPlayer && name == localPlayer->getName())) - chatHandler->talk("@save", GENERAL_CHANNEL); - else - chatHandler->talk("#save " + name, GENERAL_CHANNEL); + Gm::runCharCommand("save", name); } } // namespace EAthena diff --git a/src/net/tmwa/adminhandler.cpp b/src/net/tmwa/adminhandler.cpp index f9180a7d8..264eca1ad 100644 --- a/src/net/tmwa/adminhandler.cpp +++ b/src/net/tmwa/adminhandler.cpp @@ -22,13 +22,10 @@ #include "net/tmwa/adminhandler.h" -#include "const/gui/chat.h" - -#include "net/chathandler.h" - #include "net/tmwa/messageout.h" #include "net/tmwa/protocolout.h" +#include "utils/gmfunctions.h" #include "utils/stringutils.h" #include "debug.h" @@ -76,8 +73,8 @@ void AdminHandler::kickAll() const void AdminHandler::warp(const std::string &map, const int x, const int y) const { - chatHandler->talk(strprintf( - "@warp %s %d %d", map.c_str(), x, y), GENERAL_CHANNEL); + Gm::runCommand("warp", + strprintf("%s %d %d", map.c_str(), x, y)); } void AdminHandler::resetStats() const @@ -90,12 +87,12 @@ void AdminHandler::resetSkills() const void AdminHandler::gotoName(const std::string &name) const { - chatHandler->talk("@goto " + name, GENERAL_CHANNEL); + Gm::runCommand("goto", name); } void AdminHandler::recallName(const std::string &name) const { - chatHandler->talk("@recall " + name, GENERAL_CHANNEL); + Gm::runCommand("recall", name); } void AdminHandler::mute(const Being *const being A_UNUSED, diff --git a/src/net/tmwa/chathandler.cpp b/src/net/tmwa/chathandler.cpp index da25c83cf..514b339c8 100644 --- a/src/net/tmwa/chathandler.cpp +++ b/src/net/tmwa/chathandler.cpp @@ -33,6 +33,7 @@ #include "net/tmwa/messageout.h" #include "net/tmwa/protocolout.h" +#include "utils/gmfunctions.h" #include "utils/stringutils.h" #include "debug.h" @@ -86,7 +87,7 @@ void ChatHandler::channelMessage(const std::string &restrict channel, if (channel == TRADE_CHANNEL) talk("\302\202" + text, GENERAL_CHANNEL); else if (channel == GM_CHANNEL) - talk("@wgm " + text, GENERAL_CHANNEL); + Gm::runCommand("wgm", text); } void ChatHandler::who() const diff --git a/src/utils/gmfunctions.cpp b/src/utils/gmfunctions.cpp index 35f68b133..d548cf79d 100644 --- a/src/utils/gmfunctions.cpp +++ b/src/utils/gmfunctions.cpp @@ -54,6 +54,14 @@ void runCommand(const std::string &command, } } +void runCommand(const std::string &command) +{ + chatHandler->talk(std::string( + settings.gmCommandSymbol).append( + command), + GENERAL_CHANNEL); +} + void runCharCommand(const std::string &command, const std::string &name, const std::string ¶ms) @@ -90,4 +98,25 @@ void runCharCommand(const std::string &command, } } +void runCharCommand(const std::string &command, + const std::string &name) +{ + if (localPlayer && name == localPlayer->getName()) + { + chatHandler->talk(std::string( + settings.gmCommandSymbol).append( + command), + GENERAL_CHANNEL); + } + else + { + chatHandler->talk(std::string( + settings.gmCharCommandSymbol).append( + command).append( + " ").append( + name), + GENERAL_CHANNEL); + } +} + } // namespace Gm diff --git a/src/utils/gmfunctions.h b/src/utils/gmfunctions.h index 6ef32996e..833ef5bd1 100644 --- a/src/utils/gmfunctions.h +++ b/src/utils/gmfunctions.h @@ -30,9 +30,14 @@ namespace Gm void runCommand(const std::string &command, const std::string ¶ms); + void runCommand(const std::string &command); + void runCharCommand(const std::string &command, const std::string &name, const std::string ¶ms); + + void runCharCommand(const std::string &command, + const std::string &name); } // namespace Gm #endif // UTILS_GMFUNCTIONS_H |