Show player's race and class in command .pinfo
--HG-- branch : trunk
This commit is contained in:
@@ -432,7 +432,7 @@ INSERT INTO `trinity_string` (`entry`, `content_default`, `content_loc1`, `conte
|
||||
(546, '*** Is a trainer!', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(547, 'InstanceID: %u', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(548, 'Player%s %s (guid: %u) Account: %s (id: %u) Email: %s GMLevel: %u Last IP: %s Last login: %s Latency: %ums', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(549, 'Played time: %s Level: %u Money: %ug%us%uc', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(549, 'Race: %s Class: %s Played time: %s Level: %u Money: %ug%us%uc', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(550, 'Command .pinfo doesn''t support ''rep'' option for offline players.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(551, '%s has explored all zones now.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(552, '%s has no more explored zones.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
|
||||
+37
-3
@@ -2149,6 +2149,8 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
|
||||
uint32 total_player_time = 0;
|
||||
uint32 level = 0;
|
||||
uint32 latency = 0;
|
||||
uint8 race;
|
||||
uint8 Class;
|
||||
|
||||
// get additional information from Player object
|
||||
if(target)
|
||||
@@ -2162,6 +2164,8 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
|
||||
total_player_time = target->GetTotalPlayedTime();
|
||||
level = target->getLevel();
|
||||
latency = target->GetSession()->GetLatency();
|
||||
race = target->getRace();
|
||||
Class = target->getClass();
|
||||
}
|
||||
// get additional information from DB
|
||||
else
|
||||
@@ -2170,8 +2174,8 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
|
||||
if (HasLowerSecurity(NULL, target_guid))
|
||||
return false;
|
||||
|
||||
// 0 1 2 3
|
||||
QueryResult *result = CharacterDatabase.PQuery("SELECT totaltime, level, money, account FROM characters WHERE guid = '%u'", GUID_LOPART(target_guid));
|
||||
// 0 1 2 3 4 5
|
||||
QueryResult *result = CharacterDatabase.PQuery("SELECT totaltime, level, money, account, race, class FROM characters WHERE guid = '%u'", GUID_LOPART(target_guid));
|
||||
if (!result)
|
||||
return false;
|
||||
|
||||
@@ -2180,6 +2184,8 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
|
||||
level = fields[1].GetUInt32();
|
||||
money = fields[2].GetUInt32();
|
||||
accId = fields[3].GetUInt32();
|
||||
race = fields[4].GetUInt8();
|
||||
Class = fields[5].GetUInt8();
|
||||
delete result;
|
||||
}
|
||||
|
||||
@@ -2218,11 +2224,39 @@ bool ChatHandler::HandlePInfoCommand(const char* args)
|
||||
|
||||
PSendSysMessage(LANG_PINFO_ACCOUNT, (target?"":GetTrinityString(LANG_OFFLINE)), nameLink.c_str(), GUID_LOPART(target_guid), username.c_str(), accId, email.c_str(), security, last_ip.c_str(), last_login.c_str(), latency);
|
||||
|
||||
std::string race_s, Class_s;
|
||||
switch(race)
|
||||
{
|
||||
case RACE_HUMAN: race_s = "Human"; break;
|
||||
case RACE_ORC: race_s = "Orc"; break;
|
||||
case RACE_DWARF: race_s = "Dwarf"; break;
|
||||
case RACE_NIGHTELF: race_s = "Night Elf"; break;
|
||||
case RACE_UNDEAD_PLAYER: race_s = "Undead"; break;
|
||||
case RACE_TAUREN: race_s = "Tauren"; break;
|
||||
case RACE_GNOME: race_s = "Gnome"; break;
|
||||
case RACE_TROLL: race_s = "Troll"; break;
|
||||
case RACE_BLOODELF: race_s = "Blood Elf"; break;
|
||||
case RACE_DRAENEI: race_s = "Draenei"; break;
|
||||
}
|
||||
switch(Class)
|
||||
{
|
||||
case CLASS_WARRIOR: Class_s = "Warrior"; break;
|
||||
case CLASS_PALADIN: Class_s = "Paladin"; break;
|
||||
case CLASS_HUNTER: Class_s = "Hunter"; break;
|
||||
case CLASS_ROGUE: Class_s = "Rogue"; break;
|
||||
case CLASS_PRIEST: Class_s = "Priest"; break;
|
||||
case CLASS_DEATH_KNIGHT: Class_s = "Death Knight"; break;
|
||||
case CLASS_SHAMAN: Class_s = "Shaman"; break;
|
||||
case CLASS_MAGE: Class_s = "Mage"; break;
|
||||
case CLASS_WARLOCK: Class_s = "Warlock"; break;
|
||||
case CLASS_DRUID: Class_s = "Druid"; break;
|
||||
}
|
||||
|
||||
std::string timeStr = secsToTimeString(total_player_time,true,true);
|
||||
uint32 gold = money /GOLD;
|
||||
uint32 silv = (money % GOLD) / SILVER;
|
||||
uint32 copp = (money % GOLD) % SILVER;
|
||||
PSendSysMessage(LANG_PINFO_LEVEL, timeStr.c_str(), level, gold,silv,copp );
|
||||
PSendSysMessage(LANG_PINFO_LEVEL, race_s.c_str(), Class_s.c_str(), timeStr.c_str(), level, gold, silv, copp);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user