aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheWinchesters <40777754+TheWinchesters@users.noreply.github.com>2019-02-15 16:18:58 -0300
committerShauren <shauren.trinity@gmail.com>2021-11-23 22:52:53 +0100
commit47adf2e4c8d90b2c0d2f7181dad9e0265dfb12cc (patch)
tree3687904db5466e96ffa58771558ab3a96602e607
parent31dca39c057bf7eef590a060f9e25fed4f4e9eda (diff)
[3.3.5] Commands: lookup player shows which character is online (#23039)
* Show 'online' for every online player in lookup player commands (cherry picked from commit a0056951f7e425341760ebf3a7770477ef7f4446)
-rw-r--r--sql/updates/world/master/2021_11_23_17_world_2019_02_15_00_world.sql4
-rw-r--r--src/server/database/Database/Implementation/CharacterDatabase.cpp2
-rw-r--r--src/server/game/Miscellaneous/Language.h2
-rw-r--r--src/server/scripts/Commands/cs_lookup.cpp3
4 files changed, 8 insertions, 3 deletions
diff --git a/sql/updates/world/master/2021_11_23_17_world_2019_02_15_00_world.sql b/sql/updates/world/master/2021_11_23_17_world_2019_02_15_00_world.sql
new file mode 100644
index 00000000000..24808a66419
--- /dev/null
+++ b/sql/updates/world/master/2021_11_23_17_world_2019_02_15_00_world.sql
@@ -0,0 +1,4 @@
+-- Show if player is online in lookup player commands
+DELETE FROM `trinity_string` WHERE `entry` = '48';
+INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES ('48', '(online)');
+UPDATE `trinity_string` SET `content_default` = ' %s (%s) %s' WHERE (`entry` = '329');
diff --git a/src/server/database/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp
index 482b14a7528..ea1d8841e58 100644
--- a/src/server/database/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/database/Database/Implementation/CharacterDatabase.cpp
@@ -552,7 +552,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
//0: lowGUID
PrepareStatement(CHAR_SEL_PINFO_XP, "SELECT a.xp, b.guid FROM characters a LEFT JOIN guild_member b ON a.guid = b.guid WHERE a.guid = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_HOMEBIND, "SELECT mapId, zoneId, posX, posY, posZ, orientation FROM character_homebind WHERE guid = ?", CONNECTION_SYNCH);
- PrepareStatement(CHAR_SEL_CHAR_GUID_NAME_BY_ACC, "SELECT guid, name FROM characters WHERE account = ?", CONNECTION_SYNCH);
+ PrepareStatement(CHAR_SEL_CHAR_GUID_NAME_BY_ACC, "SELECT guid, name, online FROM characters WHERE account = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_POOL_QUEST_SAVE, "SELECT quest_id FROM pool_quest_save WHERE pool_id = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_CUSTOMIZE_INFO, "SELECT name, race, class, gender, at_login FROM characters WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHAR_RACE_OR_FACTION_CHANGE_INFOS, "SELECT at_login, knownTitles FROM characters WHERE guid = ?", CONNECTION_ASYNC);
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index 1ee3866c201..81423034476 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -77,7 +77,7 @@ enum TrinityStrings
LANG_UNKNOWN = 45,
LANG_ERROR = 46,
LANG_NON_EXIST_CHARACTER = 47,
- LANG_ONLINE = 48, // 3.3.5 RESERVED
+ LANG_ONLINE = 48,
LANG_LEVEL_MINREQUIRED = 49,
LANG_LEVEL_MINREQUIRED_AND_ITEM = 50,
LANG_NPC_TAINER_HELLO = 51,
diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp
index 2a3fe21ad16..608d4b3408a 100644
--- a/src/server/scripts/Commands/cs_lookup.cpp
+++ b/src/server/scripts/Commands/cs_lookup.cpp
@@ -1400,8 +1400,9 @@ public:
Field* characterFields = result2->Fetch();
ObjectGuid guid = ObjectGuid::Create<HighGuid::Player>(characterFields[0].GetUInt64());
std::string name = characterFields[1].GetString();
+ uint8 online = characterFields[2].GetUInt8();
- handler->PSendSysMessage(LANG_LOOKUP_PLAYER_CHARACTER, name.c_str(), guid.ToString().c_str());
+ handler->PSendSysMessage(LANG_LOOKUP_PLAYER_CHARACTER, name.c_str(), guid.ToString().c_str(), online ? handler->GetTrinityString(LANG_ONLINE) : "");
++counter;
}
while (result2->NextRow() && (limit == -1 || counter < limit));