From 4320a021e93423122745684e2689aa1a7028f8b4 Mon Sep 17 00:00:00 2001 From: Treeston Date: Tue, 6 Aug 2019 23:46:07 +0200 Subject: Scripts/Commands: Cleanup some output from .go instance --- src/server/scripts/Commands/cs_go.cpp | 36 ++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp index 8ea58e407c2..d22f6776c04 100644 --- a/src/server/scripts/Commands/cs_go.cpp +++ b/src/server/scripts/Commands/cs_go.cpp @@ -406,6 +406,7 @@ public: if (matches.empty()) { handler->SendSysMessage(LANG_COMMAND_NO_INSTANCES_MATCH); + handler->SetSentErrorMessage(true); return false; } auto it = matches.rbegin(); @@ -440,28 +441,33 @@ public: player->SaveRecallPosition(); // try going to entrance - AreaTrigger const* exit = sObjectMgr->GetGoBackTrigger(mapid); - if (!exit) - handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_EXIT, mapid, scriptname); - - if (exit && player->TeleportTo(exit->target_mapId, exit->target_X, exit->target_Y, exit->target_Z, exit->target_Orientation + M_PI)) + if (AreaTrigger const* exit = sObjectMgr->GetGoBackTrigger(mapid)) { - handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_GATE, mapid, scriptname); - return true; + if (player->TeleportTo(exit->target_mapId, exit->target_X, exit->target_Y, exit->target_Z, exit->target_Orientation + M_PI)) + { + handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_GATE, mapid, scriptname); + return true; + } + else + handler->PSendSysMessage(LANG_COMMAND_GO_INSTANCE_GATE_FAILED, mapid, scriptname, exit->target_mapId); } + else + handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_EXIT, mapid, scriptname); // try going to start - AreaTrigger const* entrance = sObjectMgr->GetMapEntranceTrigger(mapid); - if (!entrance) - handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_ENTRANCE, mapid, scriptname); - - if (entrance && player->TeleportTo(entrance->target_mapId, entrance->target_X, entrance->target_Y, entrance->target_Z, entrance->target_Orientation)) + if (AreaTrigger const* entrance = sObjectMgr->GetMapEntranceTrigger(mapid)) { - handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_START, mapid, scriptname); - return true; + if (player->TeleportTo(entrance->target_mapId, entrance->target_X, entrance->target_Y, entrance->target_Z, entrance->target_Orientation)) + { + handler->PSendSysMessage(LANG_COMMAND_WENT_TO_INSTANCE_START, mapid, scriptname); + return true; + } + else + handler->PSendSysMessage(LANG_COMMAND_GO_INSTANCE_START_FAILED, mapid, scriptname); } + else + handler->PSendSysMessage(LANG_COMMAND_INSTANCE_NO_ENTRANCE, mapid, scriptname); - handler->PSendSysMessage(LANG_COMMAND_GO_INSTANCE_FAILED, mapid, scriptname, exit ? exit->target_mapId : uint32(-1)); handler->SetSentErrorMessage(true); return false; } -- cgit v1.2.3