diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Chat.cpp | 1 | ||||
-rw-r--r-- | src/game/Chat.h | 1 | ||||
-rw-r--r-- | src/game/Language.h | 6 | ||||
-rw-r--r-- | src/game/Level2.cpp | 31 |
4 files changed, 38 insertions, 1 deletions
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index c23ee76ee7d..643b18b7e00 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -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 }, diff --git a/src/game/Chat.h b/src/game/Chat.h index 9d2d89d09de..8ecef9bbcc2 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -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); diff --git a/src/game/Language.h b/src/game/Language.h index f83ef222b6b..4e5e3de4a9d 100644 --- a/src/game/Language.h +++ b/src/game/Language.h @@ -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, diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp index 62fc94b541a..56b28aabd9b 100644 --- a/src/game/Level2.cpp +++ b/src/game/Level2.cpp @@ -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) |