diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp index 0e85d2080..d93aae87a 100644 --- a/src/game/Level2.cpp +++ b/src/game/Level2.cpp @@ -416,13 +416,19 @@ bool ChatHandler::HandleGameObjectTargetCommand(const char* args) GameEventMgr::ActiveEvents const& activeEventsList = gameeventmgr.GetActiveEventList(); if(*args) { - int32 id = atoi((char*)args); + // number or [name] Shift-click form |color|Hgameobject_entry:go_id|h[name]|h|r + char* cId = extractKeyFromLink((char*)args,"Hgameobject_entry"); + if(!cId) + return false; + + uint32 id = atol(cId); + if(id) result = WorldDatabase.PQuery("SELECT guid, id, position_x, position_y, position_z, orientation, map, (POW(position_x - '%f', 2) + POW(position_y - '%f', 2) + POW(position_z - '%f', 2)) AS order_ FROM gameobject WHERE map = '%i' AND id = '%u' ORDER BY order_ ASC LIMIT 1", pl->GetPositionX(), pl->GetPositionY(), pl->GetPositionZ(), pl->GetMapId(),id); else { - std::string name = args; + std::string name = cId; WorldDatabase.escape_string(name); result = WorldDatabase.PQuery( "SELECT guid, id, position_x, position_y, position_z, orientation, map, (POW(position_x - %f, 2) + POW(position_y - %f, 2) + POW(position_z - %f, 2)) AS order_ " @@ -704,11 +710,12 @@ bool ChatHandler::HandleGameObjectAddCommand(const char* args) if (!*args) return false; - char* pParam1 = strtok((char*)args, " "); - if (!pParam1) + // number or [name] Shift-click form |color|Hgameobject_entry:go_id|h[name]|h|r + char* cId = extractKeyFromLink((char*)args,"Hgameobject_entry"); + if(!cId) return false; - uint32 id = atoi((char*)pParam1); + uint32 id = atol(cId); if(!id) return false; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index b2a093d38..a47d3188f 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7493" + #define REVISION_NR "7494" #endif // __REVISION_NR_H__