mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-16 10:30:27 +00:00
feat(Scripts/Commands): introduce go creature name (#17910)
* feat(Scripts/Commands): introduce go creature name * closes https://github.com/azerothcore/azerothcore-wotlk/issues/2315 * Since new command handler the old "go creature" dont take name as argument * Update cs_go.cpp * this could be null... so let's avoid stupid crashes * we only need the first result if there are multiple * Update cs_go.cpp * Update rev_1701381015172273800.sql
This commit is contained in:
@@ -47,6 +47,7 @@ public:
|
||||
{
|
||||
{ "creature", HandleGoCreatureSpawnIdCommand, SEC_MODERATOR, Console::No },
|
||||
{ "creature id", HandleGoCreatureCIdCommand, SEC_MODERATOR, Console::No },
|
||||
{ "creature name", HandleGoCreatureNameCommand, SEC_MODERATOR, Console::No },
|
||||
{ "gameobject", HandleGoGameObjectSpawnIdCommand, SEC_MODERATOR, Console::No },
|
||||
{ "gameobject id", HandleGoGameObjectGOIdCommand, SEC_MODERATOR, Console::No },
|
||||
{ "graveyard", HandleGoGraveyardCommand, SEC_MODERATOR, Console::No },
|
||||
@@ -117,6 +118,29 @@ public:
|
||||
return DoTeleport(handler, { spawnpoint->posX, spawnpoint->posY, spawnpoint->posZ }, spawnpoint->mapid);
|
||||
}
|
||||
|
||||
static bool HandleGoCreatureNameCommand(ChatHandler* handler, Tail name)
|
||||
{
|
||||
if (!name.data())
|
||||
return false;
|
||||
|
||||
QueryResult result = WorldDatabase.Query("SELECT entry FROM creature_template WHERE name = \"{}\" LIMIT 1" , name.data());
|
||||
if (!result)
|
||||
{
|
||||
handler->SendErrorMessage(LANG_COMMAND_GOCREATNOTFOUND);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 entry = result->Fetch()[0].Get<uint32>();
|
||||
CreatureData const* spawnpoint = GetCreatureData(handler, entry);
|
||||
if (!spawnpoint)
|
||||
{
|
||||
handler->SendErrorMessage(LANG_COMMAND_GOCREATNOTFOUND);
|
||||
return false;
|
||||
}
|
||||
|
||||
return DoTeleport(handler, { spawnpoint->posX, spawnpoint->posY, spawnpoint->posZ }, spawnpoint->mapid);
|
||||
}
|
||||
|
||||
static bool HandleGoGameObjectSpawnIdCommand(ChatHandler* handler, uint32 spawnId)
|
||||
{
|
||||
GameObjectData const* spawnpoint = sObjectMgr->GetGameObjectData(spawnId);
|
||||
|
||||
Reference in New Issue
Block a user