*Allow use gm command to set value for gobjects.
--HG-- branch : trunk
This commit is contained in:
@@ -1269,6 +1269,19 @@ Unit* ChatHandler::getSelectedUnit()
|
|||||||
return ObjectAccessor::GetUnit(*m_session->GetPlayer(),guid);
|
return ObjectAccessor::GetUnit(*m_session->GetPlayer(),guid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WorldObject *ChatHandler::getSelectedObject()
|
||||||
|
{
|
||||||
|
if(!m_session)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
uint64 guid = m_session->GetPlayer()->GetSelection();
|
||||||
|
|
||||||
|
if (guid == 0)
|
||||||
|
return GetNearbyGameObject();
|
||||||
|
|
||||||
|
return ObjectAccessor::GetUnit(*m_session->GetPlayer(),guid);
|
||||||
|
}
|
||||||
|
|
||||||
Creature* ChatHandler::getSelectedCreature()
|
Creature* ChatHandler::getSelectedCreature()
|
||||||
{
|
{
|
||||||
if(!m_session)
|
if(!m_session)
|
||||||
@@ -1421,6 +1434,19 @@ char const *fmtstring( char const *format, ... )
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GameObject* ChatHandler::GetNearbyGameObject()
|
||||||
|
{
|
||||||
|
if(!m_session)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
Player* pl = m_session->GetPlayer();
|
||||||
|
GameObject* obj = NULL;
|
||||||
|
Trinity::NearestGameObjectCheck check(*pl);
|
||||||
|
Trinity::GameObjectLastSearcher<Trinity::NearestGameObjectCheck> searcher(pl, obj, check);
|
||||||
|
pl->VisitNearbyGridObject(999, searcher);
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
GameObject* ChatHandler::GetObjectGlobalyWithGuidOrNearWithDbGuid(uint32 lowguid,uint32 entry)
|
GameObject* ChatHandler::GetObjectGlobalyWithGuidOrNearWithDbGuid(uint32 lowguid,uint32 entry)
|
||||||
{
|
{
|
||||||
if(!m_session)
|
if(!m_session)
|
||||||
|
|||||||
@@ -567,6 +567,7 @@ class ChatHandler
|
|||||||
Player* getSelectedPlayer();
|
Player* getSelectedPlayer();
|
||||||
Creature* getSelectedCreature();
|
Creature* getSelectedCreature();
|
||||||
Unit* getSelectedUnit();
|
Unit* getSelectedUnit();
|
||||||
|
WorldObject* getSelectedObject();
|
||||||
|
|
||||||
char* extractKeyFromLink(char* text, char const* linkType, char** something1 = NULL);
|
char* extractKeyFromLink(char* text, char const* linkType, char** something1 = NULL);
|
||||||
char* extractKeyFromLink(char* text, char const* const* linkTypes, int* found_idx, char** something1 = NULL);
|
char* extractKeyFromLink(char* text, char const* const* linkTypes, int* found_idx, char** something1 = NULL);
|
||||||
@@ -585,6 +586,7 @@ class ChatHandler
|
|||||||
std::string playerLink(std::string const& name) const { return m_session ? "|cffffffff|Hplayer:"+name+"|h["+name+"]|h|r" : name; }
|
std::string playerLink(std::string const& name) const { return m_session ? "|cffffffff|Hplayer:"+name+"|h["+name+"]|h|r" : name; }
|
||||||
std::string GetNameLink(Player* chr) const { return playerLink(chr->GetName()); }
|
std::string GetNameLink(Player* chr) const { return playerLink(chr->GetName()); }
|
||||||
|
|
||||||
|
GameObject* GetNearbyGameObject();
|
||||||
GameObject* GetObjectGlobalyWithGuidOrNearWithDbGuid(uint32 lowguid,uint32 entry);
|
GameObject* GetObjectGlobalyWithGuidOrNearWithDbGuid(uint32 lowguid,uint32 entry);
|
||||||
|
|
||||||
// Utility methods for commands
|
// Utility methods for commands
|
||||||
|
|||||||
+4
-14
@@ -200,15 +200,10 @@ bool ChatHandler::HandleDebugSendOpcodeCommand(const char* /*args*/)
|
|||||||
}
|
}
|
||||||
else if(type == "appgoguid")
|
else if(type == "appgoguid")
|
||||||
{
|
{
|
||||||
uint32 lowguid;
|
GameObject *obj = GetNearbyGameObject();
|
||||||
ifs >> lowguid;
|
|
||||||
GameObject *obj = NULL;
|
|
||||||
if (GameObjectData const* go_data = objmgr.GetGOData(lowguid))
|
|
||||||
obj = GetObjectGlobalyWithGuidOrNearWithDbGuid(lowguid,go_data->id);
|
|
||||||
|
|
||||||
if(!obj)
|
if(!obj)
|
||||||
{
|
{
|
||||||
PSendSysMessage(LANG_COMMAND_OBJNOTFOUND, lowguid);
|
PSendSysMessage(LANG_COMMAND_OBJNOTFOUND, 0);
|
||||||
SetSentErrorMessage(true);
|
SetSentErrorMessage(true);
|
||||||
ifs.close();
|
ifs.close();
|
||||||
return false;
|
return false;
|
||||||
@@ -217,15 +212,10 @@ bool ChatHandler::HandleDebugSendOpcodeCommand(const char* /*args*/)
|
|||||||
}
|
}
|
||||||
else if(type == "goguid")
|
else if(type == "goguid")
|
||||||
{
|
{
|
||||||
uint32 lowguid;
|
GameObject *obj = GetNearbyGameObject();
|
||||||
ifs >> lowguid;
|
|
||||||
GameObject *obj = NULL;
|
|
||||||
if (GameObjectData const* go_data = objmgr.GetGOData(lowguid))
|
|
||||||
obj = GetObjectGlobalyWithGuidOrNearWithDbGuid(lowguid,go_data->id);
|
|
||||||
|
|
||||||
if(!obj)
|
if(!obj)
|
||||||
{
|
{
|
||||||
PSendSysMessage(LANG_COMMAND_OBJNOTFOUND, lowguid);
|
PSendSysMessage(LANG_COMMAND_OBJNOTFOUND, 0);
|
||||||
SetSentErrorMessage(true);
|
SetSentErrorMessage(true);
|
||||||
ifs.close();
|
ifs.close();
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
+2
-2
@@ -4788,7 +4788,7 @@ bool ChatHandler::HandleDebugSetValue(const char* args)
|
|||||||
if (!px || !py)
|
if (!px || !py)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Unit* target = getSelectedUnit();
|
WorldObject* target = getSelectedObject();
|
||||||
if(!target)
|
if(!target)
|
||||||
{
|
{
|
||||||
SendSysMessage(LANG_SELECT_CHAR_OR_CREATURE);
|
SendSysMessage(LANG_SELECT_CHAR_OR_CREATURE);
|
||||||
@@ -4881,7 +4881,7 @@ bool ChatHandler::HandleDebugSet32Bit(const char* args)
|
|||||||
if(!*args)
|
if(!*args)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Unit* target = getSelectedUnit();
|
WorldObject* target = getSelectedObject();
|
||||||
if(!target)
|
if(!target)
|
||||||
{
|
{
|
||||||
SendSysMessage(LANG_SELECT_CHAR_OR_CREATURE);
|
SendSysMessage(LANG_SELECT_CHAR_OR_CREATURE);
|
||||||
|
|||||||
Reference in New Issue
Block a user