Add command similar to pinfo but for gameobjects.
Displays Entry, Type, DisplayId, and Name. Created in response to issue #768. --HG-- branch : trunk
This commit is contained in:
@@ -235,6 +235,7 @@ ChatCommand * ChatHandler::getCommandTable()
|
||||
{ "activate", SEC_GAMEMASTER, false, &ChatHandler::HandleActivateObjectCommand, "", NULL },
|
||||
{ "add", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectAddCommand, "", NULL },
|
||||
{ "delete", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectDeleteCommand, "", NULL },
|
||||
{ "info", SEC_GAMEMASTER, false, &ChatHandler::HandleGOInfoCommand, "", NULL },
|
||||
{ "move", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectMoveCommand, "", NULL },
|
||||
{ "near", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectNearCommand, "", NULL },
|
||||
{ "state", SEC_GAMEMASTER, false, &ChatHandler::HandleGameObjectStateCommand, "", NULL },
|
||||
|
||||
@@ -192,6 +192,7 @@ class ChatHandler
|
||||
|
||||
bool HandleGameObjectAddCommand(const char* args);
|
||||
bool HandleGameObjectDeleteCommand(const char* args);
|
||||
bool HandleGOInfoCommand(const char* args);
|
||||
bool HandleGameObjectMoveCommand(const char* args);
|
||||
bool HandleGameObjectNearCommand(const char* args);
|
||||
bool HandleGameObjectPhaseCommand(const char* args);
|
||||
|
||||
+5
-1
@@ -879,7 +879,11 @@ enum TrinityStrings
|
||||
LANG_NPCINFO_ARMOR = 5021,
|
||||
LANG_CHANNEL_NOT_PUBLIC = 5022,
|
||||
LANG_CHANNEL_PUBLIC_CHANGED = 5023,
|
||||
// Room for more Trinity strings 5024-9999
|
||||
LANG_GOINFO_ENTRY = 5024,
|
||||
LANG_GOINFO_TYPE = 5025,
|
||||
LANG_GOINFO_DISPLAYID = 5026,
|
||||
LANG_GOINFO_NAME = 5027,
|
||||
// Room for more Trinity strings 5028-9999
|
||||
// Used for GM Announcements
|
||||
LANG_GM_BROADCAST = 6613,
|
||||
LANG_GM_NOTIFY = 6614,
|
||||
|
||||
@@ -2123,6 +2123,37 @@ bool ChatHandler::HandleModifyPhaseCommand(const char* args)
|
||||
|
||||
return true;
|
||||
}
|
||||
//show info of gameobject
|
||||
bool ChatHandler::HandleGOInfoCommand(const char* args)
|
||||
{
|
||||
uint32 entry = atoi((char*)args);
|
||||
uint32 type = 0;
|
||||
uint32 displayid = 0;
|
||||
std::string name;
|
||||
|
||||
if(!*args)
|
||||
{
|
||||
WorldObject * obj = getSelectedObject();
|
||||
entry = obj->GetEntry();
|
||||
}
|
||||
|
||||
QueryResult_AutoPtr result = WorldDatabase.PQuery("SELECT `type` `displayid` `name` FROM gameobject_template WHERE entry = %u", entry);
|
||||
|
||||
if(!result)
|
||||
return false;
|
||||
|
||||
Field * fields = result->Fetch();
|
||||
type = fields[0].GetUInt32();
|
||||
displayid = fields[1].GetUInt32();
|
||||
name = fields[3].GetString();
|
||||
|
||||
PSendSysMessage(LANG_GOINFO_ENTRY, entry);
|
||||
PSendSysMessage(LANG_GOINFO_TYPE, type);
|
||||
PSendSysMessage(LANG_GOINFO_DISPLAYID, displayid);
|
||||
PSendSysMessage(LANG_GOINFO_NAME, name.c_str());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//show info of player
|
||||
bool ChatHandler::HandlePInfoCommand(const char* args)
|
||||
|
||||
Reference in New Issue
Block a user