aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Commands
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r--src/server/scripts/Commands/cs_mmaps.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/server/scripts/Commands/cs_mmaps.cpp b/src/server/scripts/Commands/cs_mmaps.cpp
index 49fa87b5d68..2428cb0a239 100644
--- a/src/server/scripts/Commands/cs_mmaps.cpp
+++ b/src/server/scripts/Commands/cs_mmaps.cpp
@@ -153,7 +153,11 @@ public:
// navmesh poly -> navmesh tile location
dtQueryFilter filter = dtQueryFilter();
dtPolyRef polyRef = INVALID_POLYREF;
- navmeshquery->findNearestPoly(location, extents, &filter, &polyRef, NULL);
+ if (dtStatusFailed(navmeshquery->findNearestPoly(location, extents, &filter, &polyRef, NULL)))
+ {
+ handler->PSendSysMessage("Dt [??,??] (invalid poly, probably no tile loaded)");
+ return true;
+ }
if (polyRef == INVALID_POLYREF)
handler->PSendSysMessage("Dt [??, ??] (invalid poly, probably no tile loaded)");
@@ -161,11 +165,16 @@ public:
{
dtMeshTile const* tile;
dtPoly const* poly;
- navmesh->getTileAndPolyByRef(polyRef, &tile, &poly);
- if (tile)
- handler->PSendSysMessage("Dt [%02i, %02i]", tile->header->x, tile->header->y);
- else
- handler->PSendSysMessage("Dt [??, ??] (no tile loaded)");
+ if (dtStatusSucceed(navmesh->getTileAndPolyByRef(polyRef, &tile, &poly)))
+ {
+ if (tile)
+ {
+ handler->PSendSysMessage("Dt [%02i,%02i]", tile->header->x, tile->header->y);
+ return false;
+ }
+ }
+
+ handler->PSendSysMessage("Dt [??,??] (no tile loaded)");
}
return true;