(obviously for this to work you have to have adaels's mapper script for wotmud)

```
--- this sets adjacentIDs to nil so that the variables are cleared on entering each room
wotmudmapper.adjacentIDs = nil
wotmudmapper.dlineIDnorth = nil
wotmudmapper.dlineIDsouth = nil
wotmudmapper.dlineIDeast = nil
wotmudmapper.dlineIDwest = nil
wotmudmapper.dlineIDup = nil
wotmudmapper.dlineIDdown = nil
wotmudmapper.adjacentIDs = {getRoomExits (wotmudmapper.currentID[1])}
--- if an exit exists then get the exits of the adjacent rooms
if table.contains(wotmudmapper.adjacentIDs[1],"north") then
wotmudmapper.dlineIDnorth = {getRoomExits (wotmudmapper.adjacentIDs[1].north)}
end
if table.contains(wotmudmapper.adjacentIDs[1],"south") then
wotmudmapper.dlineIDsouth = {getRoomExits (wotmudmapper.adjacentIDs[1].south)}
end
if table.contains(wotmudmapper.adjacentIDs[1],"east") then
wotmudmapper.dlineIDeast = {getRoomExits (wotmudmapper.adjacentIDs[1].east)}
end
if table.contains(wotmudmapper.adjacentIDs[1],"west") then
wotmudmapper.dlineIDwest = {getRoomExits (wotmudmapper.adjacentIDs[1].west)}
end
if table.contains(wotmudmapper.adjacentIDs[1],"down") then
wotmudmapper.dlineIDdown = {getRoomExits (wotmudmapper.adjacentIDs[1].down)}
end
if table.contains(wotmudmapper.adjacentIDs[1],"up") then
wotmudmapper.dlineIDup = {getRoomExits (wotmudmapper.adjacentIDs[1].up)}
end
---- NORTH
--- sets not existing exits of adjacent rooms to 0 and existing ones to 1
if table.contains(wotmudmapper,"dlineIDnorth") == false then
wotmudmapper.dlineMATHnorthnorth = 0
elseif table.contains(wotmudmapper.dlineIDnorth[1],"north") then
wotmudmapper.dlineMATHnorthnorth = 1 else
wotmudmapper.dlineMATHnorthnorth = 0
end
if table.contains(wotmudmapper,"dlineIDnorth") == false then
wotmudmapper.dlineMATHnorthsouth = 0
elseif table.contains(wotmudmapper.dlineIDnorth[1],"south") then
wotmudmapper.dlineMATHnorthsouth = 1 else
wotmudmapper.dlineMATHnorthsouth = 0
end
if table.contains(wotmudmapper,"dlineIDnorth") == false then
wotmudmapper.dlineMATHnortheast = 0
elseif table.contains(wotmudmapper.dlineIDnorth[1],"east") then
wotmudmapper.dlineMATHnortheast = 1 else
wotmudmapper.dlineMATHnortheast = 0
end
if table.contains(wotmudmapper,"dlineIDnorth") == false then
wotmudmapper.dlineMATHnorthwest = 0
elseif table.contains(wotmudmapper.dlineIDnorth[1],"west") then
wotmudmapper.dlineMATHnorthwest = 1 else
wotmudmapper.dlineMATHnorthwest = 0
end
if table.contains(wotmudmapper,"dlineIDnorth") == false then
wotmudmapper.dlineMATHnorthup = 0
elseif table.contains(wotmudmapper.dlineIDnorth[1],"up") then
wotmudmapper.dlineMATHnorthup = 1 else
wotmudmapper.dlineMATHnorthup = 0
end
if table.contains(wotmudmapper,"dlineIDnorth") == false then
wotmudmapper.dlineMATHnorthdown = 0
elseif table.contains(wotmudmapper.dlineIDnorth[1],"down") then
wotmudmapper.dlineMATHnorthdown = 1 else
wotmudmapper.dlineMATHnorthdown = 0
end
--- SOUTH
if table.contains(wotmudmapper,"dlineIDsouth") == false then
wotmudmapper.dlineMATHsouthnorth = 0
elseif table.contains(wotmudmapper.dlineIDsouth[1],"north") then
wotmudmapper.dlineMATHsouthnorth = 1 else
wotmudmapper.dlineMATHsouthnorth = 0
end
if table.contains(wotmudmapper,"dlineIDsouth") == false then
wotmudmapper.dlineMATHsouthsouth = 0
elseif table.contains(wotmudmapper.dlineIDsouth[1],"south") then
wotmudmapper.dlineMATHsouthsouth = 1 else
wotmudmapper.dlineMATHsouthsouth = 0
end
if table.contains(wotmudmapper,"dlineIDsouth") == false then
wotmudmapper.dlineMATHsoutheast = 0
elseif table.contains(wotmudmapper.dlineIDsouth[1],"east") then
wotmudmapper.dlineMATHsoutheast = 1 else
wotmudmapper.dlineMATHsoutheast = 0
end
if table.contains(wotmudmapper,"dlineIDsouth") == false then
wotmudmapper.dlineMATHsouthwest = 0
elseif table.contains(wotmudmapper.dlineIDsouth[1],"west") then
wotmudmapper.dlineMATHsouthwest = 1 else
wotmudmapper.dlineMATHsouthwest = 0
end
if table.contains(wotmudmapper,"dlineIDsouth") == false then
wotmudmapper.dlineMATHsouthup = 0
elseif table.contains(wotmudmapper.dlineIDsouth[1],"up") then
wotmudmapper.dlineMATHsouthup = 1 else
wotmudmapper.dlineMATHsouthup = 0
end
if table.contains(wotmudmapper,"dlineIDsouth") == false then
wotmudmapper.dlineMATHsouthdown = 0
elseif table.contains(wotmudmapper.dlineIDsouth[1],"down") then
wotmudmapper.dlineMATHsouthdown = 1 else
wotmudmapper.dlineMATHsouthdown = 0
end
--- EAST
if table.contains(wotmudmapper,"dlineIDeast") == false then
wotmudmapper.dlineMATHeastnorth = 0
elseif table.contains(wotmudmapper.dlineIDeast[1],"north") then
wotmudmapper.dlineMATHeastnorth = 1 else
wotmudmapper.dlineMATHeastnorth = 0
end
if table.contains(wotmudmapper,"dlineIDeast") == false then
wotmudmapper.dlineMATHeastsouth = 0
elseif table.contains(wotmudmapper.dlineIDeast[1],"south") then
wotmudmapper.dlineMATHeastsouth = 1 else
wotmudmapper.dlineMATHeastsouth = 0
end
if table.contains(wotmudmapper,"dlineIDeast") == false then
wotmudmapper.dlineMATHeasteast = 0
elseif table.contains(wotmudmapper.dlineIDeast[1],"east") then
wotmudmapper.dlineMATHeasteast = 1 else
wotmudmapper.dlineMATHeasteast = 0
end
if table.contains(wotmudmapper,"dlineIDeast") == false then
wotmudmapper.dlineMATHeastwest = 0
elseif table.contains(wotmudmapper.dlineIDeast[1],"west") then
wotmudmapper.dlineMATHeastwest = 1 else
wotmudmapper.dlineMATHeastwest = 0
end
if table.contains(wotmudmapper,"dlineIDeast") == false then
wotmudmapper.dlineMATHeastup = 0
elseif table.contains(wotmudmapper.dlineIDeast[1],"up") then
wotmudmapper.dlineMATHeastup = 1 else
wotmudmapper.dlineMATHeastup = 0
end
if table.contains(wotmudmapper,"dlineIDeast") == false then
wotmudmapper.dlineMATHeastdown = 0
elseif table.contains(wotmudmapper.dlineIDeast[1],"down") then
wotmudmapper.dlineMATHeastdown = 1 else
wotmudmapper.dlineMATHeastdown = 0
end
--- WEST
if table.contains(wotmudmapper,"dlineIDwest") == false then
wotmudmapper.dlineMATHwestnorth = 0
elseif table.contains(wotmudmapper.dlineIDwest[1],"north") then
wotmudmapper.dlineMATHwestnorth = 1 else
wotmudmapper.dlineMATHwestnorth =0
end
if table.contains(wotmudmapper,"dlineIDwest") == false then
wotmudmapper.dlineMATHwestsouth = 0
elseif table.contains(wotmudmapper.dlineIDwest[1],"south") then
wotmudmapper.dlineMATHwestsouth = 1 else
wotmudmapper.dlineMATHwestsouth = 0
end
if table.contains(wotmudmapper,"dlineIDwest") == false then
wotmudmapper.dlineMATHwesteast = 0
elseif table.contains(wotmudmapper.dlineIDwest[1],"east") then
wotmudmapper.dlineMATHwesteast = 1 else
wotmudmapper.dlineMATHwesteast = 0
end
if table.contains(wotmudmapper,"dlineIDwest") == false then
wotmudmapper.dlineMATHwestwest = 0
elseif table.contains(wotmudmapper.dlineIDwest[1],"west") then
wotmudmapper.dlineMATHwestwest = 1 else
wotmudmapper.dlineMATHwestwest = 0
end
if table.contains(wotmudmapper,"dlineIDwest") == false then
wotmudmapper.dlineMATHwestup = 0
elseif table.contains(wotmudmapper.dlineIDwest[1],"up") then
wotmudmapper.dlineMATHwestup = 1 else
wotmudmapper.dlineMATHwestup = 0
end
if table.contains(wotmudmapper,"dlineIDwest") == false then
wotmudmapper.dlineMATHwestdown = 0
elseif table.contains(wotmudmapper.dlineIDwest[1],"down") then
wotmudmapper.dlineMATHwestdown = 1 else
wotmudmapper.dlineMATHwestdown = 0
end
--- UP
if table.contains(wotmudmapper,"dlineIDup") == false then
wotmudmapper.dlineMATHupnorth = 0
elseif table.contains(wotmudmapper.dlineIDup[1],"north") then
wotmudmapper.dlineMATHupnorth = 1 else
wotmudmapper.dlineMATHupnorth = 0
end
if table.contains(wotmudmapper,"dlineIDup") == false then
wotmudmapper.dlineMATHupsouth = 0
elseif table.contains(wotmudmapper.dlineIDup[1],"south") then
wotmudmapper.dlineMATHupsouth = 1 else
wotmudmapper.dlineMATHupsouth = 0
end
if table.contains(wotmudmapper,"dlineIDup") == false then
wotmudmapper.dlineMATHupeast = 0
elseif table.contains(wotmudmapper.dlineIDup[1],"east") then
wotmudmapper.dlineMATHupeast = 1 else
wotmudmapper.dlineMATHupeast = 0
end
if table.contains(wotmudmapper,"dlineIDup") == false then
wotmudmapper.dlineMATHupwest = 0
elseif table.contains(wotmudmapper.dlineIDup[1],"west") then
wotmudmapper.dlineMATHupwest = 1 else
wotmudmapper.dlineMATHupwest = 0
end
if table.contains(wotmudmapper,"dlineIDup") == false then
wotmudmapper.dlineMATHupup = 0
elseif table.contains(wotmudmapper.dlineIDup[1],"up") then
wotmudmapper.dlineMATHupup = 1 else
wotmudmapper.dlineMATHupup = 0
end
if table.contains(wotmudmapper,"dlineIDup") == false then
wotmudmapper.dlineMATHupdown = 0
elseif table.contains(wotmudmapper.dlineIDup[1],"down") then
wotmudmapper.dlineMATHupdown = 1 else
wotmudmapper.dlineMATHupdown = 0
end
--- DOWN
if table.contains(wotmudmapper,"dlineIDdown") == false then
wotmudmapper.dlineMATHdownnorth = 0
elseif table.contains(wotmudmapper.dlineIDdown[1],"north") then
wotmudmapper.dlineMATHdownnorth = 1 else
wotmudmapper.dlineMATHdownnorth = 0
end
if table.contains(wotmudmapper,"dlineIDdown") == false then
wotmudmapper.dlineMATHdownsouth = 0
elseif table.contains(wotmudmapper.dlineIDdown[1],"south") then
wotmudmapper.dlineMATHdownsouth = 1 else
wotmudmapper.dlineMATHdownsouth = 0
end
if table.contains(wotmudmapper,"dlineIDdown") == false then
wotmudmapper.dlineMATHdowneast = 0
elseif table.contains(wotmudmapper.dlineIDdown[1],"east") then
wotmudmapper.dlineMATHdowneast = 1 else
wotmudmapper.dlineMATHdowneast = 0
end
if table.contains(wotmudmapper,"dlineIDdown") == false then
wotmudmapper.dlineMATHdownwest = 0
elseif table.contains(wotmudmapper.dlineIDdown[1],"west") then
wotmudmapper.dlineMATHdownwest = 1 else
wotmudmapper.dlineMATHdownwest = 0
end
if table.contains(wotmudmapper,"dlineIDdown") == false then
wotmudmapper.dlineMATHdownup = 0
elseif table.contains(wotmudmapper.dlineIDdown[1],"up") then
wotmudmapper.dlineMATHdownup = 1 else
wotmudmapper.dlineMATHdownup = 0
end
if table.contains(wotmudmapper,"dlineIDdown") == false then
wotmudmapper.dlineMATHdowndown = 0
elseif table.contains(wotmudmapper.dlineIDdown[1],"down") then
wotmudmapper.dlineMATHdowndown = 1 else
wotmudmapper.dlineMATHdowndown = 0
end
```

```
local exitnumber = table.size(wotmudmapper.adjacentIDs[1])
local east = wotmudmapper.dlineMATHnortheast
+ wotmudmapper.dlineMATHeasteast
+ wotmudmapper.dlineMATHsoutheast
+ wotmudmapper.dlineMATHwesteast
+ wotmudmapper.dlineMATHupeast
+ wotmudmapper.dlineMATHdowneast
local west = wotmudmapper.dlineMATHnorthwest
+ wotmudmapper.dlineMATHeastwest
+ wotmudmapper.dlineMATHsouthwest
+ wotmudmapper.dlineMATHwestwest
+ wotmudmapper.dlineMATHupwest
+ wotmudmapper.dlineMATHdownwest
local north = wotmudmapper.dlineMATHnorthnorth
+ wotmudmapper.dlineMATHeastnorth
+ wotmudmapper.dlineMATHsouthnorth
+ wotmudmapper.dlineMATHwestnorth
+ wotmudmapper.dlineMATHupnorth
+ wotmudmapper.dlineMATHdownnorth
local south = wotmudmapper.dlineMATHnorthsouth
+ wotmudmapper.dlineMATHeastsouth
+ wotmudmapper.dlineMATHsouthsouth
+ wotmudmapper.dlineMATHwestsouth
+ wotmudmapper.dlineMATHupsouth
+ wotmudmapper.dlineMATHdownsouth
local up = wotmudmapper.dlineMATHnorthup
+ wotmudmapper.dlineMATHeastup
+ wotmudmapper.dlineMATHsouthup
+ wotmudmapper.dlineMATHwestup
+ wotmudmapper.dlineMATHupup
+ wotmudmapper.dlineMATHdownup
local down = wotmudmapper.dlineMATHnorthdown
+ wotmudmapper.dlineMATHeastdown
+ wotmudmapper.dlineMATHsouthdown
+ wotmudmapper.dlineMATHwestdown
+ wotmudmapper.dlineMATHupdown
+ wotmudmapper.dlineMATHdowndown
local percentN = north/exitnumber
local percentS = south/exitnumber
local percentE = east/exitnumber
local percentW = west/exitnumber
local percentU = up/exitnumber
local percentD = down/exitnumber
if table.contains(wotmudmapper.adjacentIDs[1],"south") or
percentN == 0 then
northlabel:echo (" X ") else
northlabel:echo (string.format("%2.2f",percentN))
end
if table.contains(wotmudmapper.adjacentIDs[1],"north") or
percentS == 0 then
southlabel:echo (" X ") else
southlabel:echo (string.format("%2.2f",percentS))
end
if table.contains(wotmudmapper.adjacentIDs[1],"west") or
percentE == 0 then
eastlabel:echo (" X ") else
eastlabel:echo (string.format("%2.2f",percentE))
end
if table.contains(wotmudmapper.adjacentIDs[1],"east") or
percentW == 0 then
westlabel:echo (" X ") else
westlabel:echo (string.format("%2.2f",percentW))
end
if table.contains(wotmudmapper.adjacentIDs[1],"down") or
percentU == 0 then
uplabel:echo (" X ") else
uplabel:echo (string.format("%2.2f",percentU))
end
if table.contains(wotmudmapper.adjacentIDs[1],"up") or
percentD == 0 then
downlabel:echo (" X ") else
downlabel:echo (string.format("%2.2f",percentD))
end
```

- mudlet_compass.png (3.37 KiB) Viewed 266 times