Don't use GetWorldLocFromMapPos, it doesn't work correctly, just calculate the world position manually:
Code:
local f,x1,y1,x2,y2 = GetCurrentMapDungeonLevel();
local px,py = GetPlayerMapPosition("player");
local worldx, worldy = x1+(x2-x1)*px, y1+(y2-y1)*py;