28 static std::vector<ChatCommand> goCommandTable =
42 static std::vector<ChatCommand> commandTable =
72 std::ostringstream whereClause;
75 if (strcmp(param1,
"id") == 0)
79 char* tail = strtok(NULL,
"");
86 int32 entry = atoi(
id);
90 whereClause <<
"WHERE id = '" << entry <<
'\'';
94 int32 guid = atoi(param1);
99 std::string name = param1;
101 whereClause <<
", creature_template WHERE creature.id = creature_template.entry AND creature_template.name " _LIKE_ " '" << name <<
'\'';
104 whereClause <<
"WHERE guid = '" << guid <<
'\'';
107 QueryResult result =
WorldDatabase.PQuery(
"SELECT position_x, position_y, position_z, orientation, map, guid, id FROM creature %s", whereClause.str().c_str());
114 if (result->GetRowCount() > 1)
117 Field* fields = result->Fetch();
129 x = creature->GetPositionX();
130 y = creature->GetPositionY();
131 z = creature->GetPositionZ();
132 ort = creature->GetOrientation();
163 char* gyId = strtok((
char*)args,
" ");
167 int32 graveyardId = atoi(gyId);
209 char* gridX = strtok((
char*)args,
" ");
210 char* gridY = strtok(NULL,
" ");
211 char*
id = strtok(NULL,
" ");
213 if (!gridX || !gridY)
239 Map const* map =
sMapMgr->CreateBaseMap(mapId);
259 int32 guid = atoi(
id);
272 ort = goData->orientation;
273 mapId = goData->mapid;
314 int32 nodeId = atoi(
id);
326 if ((node->
x == 0.0f && node->
y == 0.0f && node->
z == 0.0f) ||
355 char*
id = strtok((
char*)args,
" ");
359 int32 areaTriggerId = atoi(
id);
401 char* zoneX = strtok((
char*)args,
" ");
402 char* zoneY = strtok(NULL,
" ");
403 char* tail = strtok(NULL,
"");
407 if (!zoneX || !zoneY)
410 float x = (float)atof(zoneX);
411 float y = (float)atof(zoneY);
414 if ((x == 0.0f && *zoneX !=
'0') || (y == 0.0f && *zoneY !=
'0'))
421 if (x < 0 || x > 100 || y < 0 || y > 100 || !areaEntry)
473 char* goX = strtok((
char*)args,
" ");
474 char* goY = strtok(NULL,
" ");
475 char* goZ = strtok(NULL,
" ");
476 char*
id = strtok(NULL,
" ");
477 char* port = strtok(NULL,
" ");
482 float x = (float)atof(goX);
483 float y = (float)atof(goY);
490 z = (float)atof(goZ);
506 Map const* map =
sMapMgr->CreateBaseMap(mapId);
529 char*
id = strtok((
char*)args,
" ");
533 uint32 ticketId = atoi(
id);
DBCStorage< WorldSafeLocsEntry > sWorldSafeLocsStore(WorldSafeLocsEntryfmt)
void Zone2MapCoordinates(float &x, float &y, uint32 zone)
DBCStorage< AreaTriggerEntry > sAreaTriggerStore(AreaTriggerEntryfmt)
DBCStorage< TaxiNodesEntry > sTaxiNodesStore(TaxiNodesEntryfmt)
AreaTableEntry const * GetAreaEntryByAreaID(uint32 area_id)
@ LANG_COMMAND_GOCREATNOTFOUND
@ LANG_COMMAND_GRAVEYARDNOEXIST
@ LANG_COMMAND_GOAREATRNOTFOUND
@ LANG_COMMAND_GOTAXINODENOTFOUND
@ LANG_COMMAND_GOOBJNOTFOUND
@ LANG_INVALID_TARGET_COORD
@ LANG_COMMAND_GOCREATMULTIPLE
@ LANG_COMMAND_TICKETNOTEXIST
@ LANG_INVALID_ZONE_COORD
uint64 MAKE_NEW_GUID(uint32 l, uint32 e, uint32 h)
Skyfire::AutoPtr< ResultSet, Skyfire::Mutex > QueryResult
WorldSession * GetSession()
char * extractKeyFromLink(char *text, char const *linkType, char **something1=NULL)
void PSendSysMessage(const char *format,...) ATTR_PRINTF(2
void SetSentErrorMessage(bool val)
virtual void SendSysMessage(const char *str)
CommandScript(const char *name)
float GetWaterLevel(float x, float y) const
float GetHeight(float x, float y, float z, bool checkVMap=true, float maxSearchDist=DEFAULT_HEIGHT_SEARCH) const
bool Instanceable() const
const char * GetMapName() const
static bool IsValidMapCoord(uint32 mapid, float x, float y)
void MovementExpired(bool reset=true)
void SaveRecallPosition()
bool TeleportTo(uint32 mapid, float x, float y, float z, float orientation, uint32 options=0)
void CleanupAfterTaxiFlight()
void TeleportTo(Player *player) const
MotionMaster * GetMotionMaster()
Player * GetPlayer() const
static bool HandleGoTaxinodeCommand(ChatHandler *handler, char const *args)
static bool HandleGoCreatureCommand(ChatHandler *handler, char const *args)
Teleport the GM to the specified creature.
static bool HandleGoXYZCommand(ChatHandler *handler, char const *args)
static bool HandleGoTriggerCommand(ChatHandler *handler, char const *args)
static bool HandleGoObjectCommand(ChatHandler *handler, char const *args)
static bool HandleGoTicketCommand(ChatHandler *handler, char const *args)
static bool HandleGoZoneXYCommand(ChatHandler *handler, char const *args)
static bool HandleGoGraveyardCommand(ChatHandler *handler, char const *args)
static bool HandleGoGridCommand(ChatHandler *handler, char const *args)
std::vector< ChatCommand > GetCommands() const OVERRIDE
void AddSC_go_commandscript()
WorldDatabaseWorkerPool WorldDatabase
Accessor to the world database.
@ RBAC_PERM_COMMAND_GO_TRIGGER
@ RBAC_PERM_COMMAND_GO_XYZ
@ RBAC_PERM_COMMAND_GO_CREATURE
@ RBAC_PERM_COMMAND_GO_ZONEXY
@ RBAC_PERM_COMMAND_GO_GRAVEYARD
@ RBAC_PERM_COMMAND_GO_TAXINODE
@ RBAC_PERM_COMMAND_GO_OBJECT
@ RBAC_PERM_COMMAND_GO_GRID
@ RBAC_PERM_COMMAND_GO_TICKET
float GetOrientation() const