aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Chat
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2011-12-30 08:27:05 +0100
committerSpp <spp@jorge.gr>2011-12-30 08:27:05 +0100
commit57490ead833074bd83ae38be8ee50e9f9813759a (patch)
treea5bf22d5f11019119d1b6621b8f94d1a2032cd5a /src/server/game/Chat
parentb5a53a72d1e52a25ab5aac429e9d9f793c4df5ba (diff)
Core/Commands: Allow to search for other account/characters from a selected player without having to write the ip as argument (By Bizzy)
Diffstat (limited to 'src/server/game/Chat')
-rwxr-xr-xsrc/server/game/Chat/Commands/Level2.cpp32
1 files changed, 22 insertions, 10 deletions
diff --git a/src/server/game/Chat/Commands/Level2.cpp b/src/server/game/Chat/Commands/Level2.cpp
index 5411b1364c0..9b13d1ce822 100755
--- a/src/server/game/Chat/Commands/Level2.cpp
+++ b/src/server/game/Chat/Commands/Level2.cpp
@@ -707,19 +707,31 @@ bool ChatHandler::HandleCombatStopCommand(const char* args)
bool ChatHandler::HandleLookupPlayerIpCommand(const char* args)
{
+ std::string ip;
+ int32 limit;
+ char* limit_str;
+
+ Player *chr = getSelectedPlayer();
+ if (chr == NULL)
+ {
+ if (!*args)
+ return false;
+
+ ip = strtok ((char*)args, " ");
+ limit_str = strtok (NULL, " ");
+ limit = limit_str ? atoi (limit_str) : -1;
+ }
+ else
+ {
+ ip = chr->GetSession()->GetRemoteAddress();
+ limit = -1;
+ }
- if (!*args)
- return false;
-
- std::string ip = strtok ((char*)args, " ");
- char* limit_str = strtok (NULL, " ");
- int32 limit = limit_str ? atoi (limit_str) : -1;
-
- LoginDatabase.EscapeString (ip);
+ LoginDatabase.EscapeString(ip);
- QueryResult result = LoginDatabase.PQuery ("SELECT id, username FROM account WHERE last_ip = '%s'", ip.c_str ());
+ QueryResult result = LoginDatabase.PQuery("SELECT id, username FROM account WHERE last_ip = '%s'", ip.c_str());
- return LookupPlayerSearchCommand (result, limit);
+ return LookupPlayerSearchCommand(result, limit);
}
bool ChatHandler::HandleLookupPlayerAccountCommand(const char* args)