From 8770a90bc6389d123a2716079bde40f43fc26357 Mon Sep 17 00:00:00 2001 From: megamage Date: Tue, 24 Feb 2009 21:06:12 -0600 Subject: [PATCH] *Update of some debug command. --HG-- branch : trunk --- src/game/Debugcmds.cpp | 22 +++++++++++++++++++++- src/game/Level3.cpp | 20 ++++++++++---------- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/game/Debugcmds.cpp b/src/game/Debugcmds.cpp index c0f673a539a..3bf64188e34 100644 --- a/src/game/Debugcmds.cpp +++ b/src/game/Debugcmds.cpp @@ -132,8 +132,12 @@ bool ChatHandler::HandleBuyErrorCommand(const char* args) bool ChatHandler::HandleSendOpcodeCommand(const char* /*args*/) { Unit *unit = getSelectedUnit(); + Player *player = NULL; if (!unit || (unit->GetTypeId() != TYPEID_PLAYER)) - unit = m_session->GetPlayer(); + player = m_session->GetPlayer(); + else + player = (Player*)unit; + if(!unit) unit = player; std::ifstream ifs("opcode.txt"); if(ifs.bad()) @@ -192,6 +196,22 @@ bool ChatHandler::HandleSendOpcodeCommand(const char* /*args*/) { data.append(unit->GetPackGUID()); } + else if(type == "myguid") + { + data.append(player->GetPackGUID()); + } + else if(type == "pos") + { + data << unit->GetPositionX(); + data << unit->GetPositionY(); + data << unit->GetPositionZ(); + } + else if(type == "mypos") + { + data << player->GetPositionX(); + data << player->GetPositionY(); + data << player->GetPositionZ(); + } else { sLog.outDebug("Sending opcode: unknown type '%s'", type.c_str()); diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 6a909d447ba..0dd5c7a176d 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -6433,21 +6433,21 @@ when attempting to use the PointMovementGenerator */ bool ChatHandler::HandleComeToMeCommand(const char *args) { - Creature* caster = getSelectedCreature(); - - if(!caster) - { - SendSysMessage(LANG_SELECT_CREATURE); - SetSentErrorMessage(true); - return false; - } - char* newFlagStr = strtok((char*)args, " "); if(!newFlagStr) return false; - uint32 newFlags = atoi(newFlagStr); + uint32 newFlags = (uint32)strtoul(newFlagStr, NULL, 0); + + Creature* caster = getSelectedCreature(); + if(!caster) + { + m_session->GetPlayer()->SetUnitMovementFlags(newFlags); + SendSysMessage(LANG_SELECT_CREATURE); + SetSentErrorMessage(true); + return false; + } caster->SetUnitMovementFlags(newFlags);