Mudlet Mapper/Game map

I been messing with mudlet mapper for the past few days and I've been wondering WHO updates it?

As in who updates the map at ' http://www.aetolia.com/maps/MD5SUM ' ?

I started a new discussion for it as then people can ask all the questions in here instead of tons of different topics.

My Main point is. from what the map is saying area wise, the SURVEY says different.

Like unnamed is the new Bihrkaen

North strand is coming back as The highways of Sapience which from SURVEY is, the Prelatorian Highway.

Also rooms like the wings/amulet rooms not being mapped.
Mudlet Bashing System for sale. Message if interested
RiluoAngwe

Comments

  • OleisOleis Producer Emeritus Administrator, Immortal
    The file that mudlet mapper interprets is procedurally generated based on the in-game map. Unfortunately, we have to manually list the areas in the mapper file, so plenty of stuff gets left off. Let us know if something is missing.

    Names are also based on the -map- rather than the area. The names should usually coincide, but plenty of people have made mistakes or small errors over the years. Most are easy fixes.
    You say to Slyphe, "You're so freaking smart."
    [---]
    "^," Slyphe agrees with you.
  • RiluoRiluo The Doctor
    I noticed a lot of the new areas do not show up when I update the map through mudlet. For example "the lost city of Iviofiyiedu (55189). Is that normal or an oversight?

    Abhorash says, "Ve'kahi has proved that even bastards can earn their place."

  • @Riluo thats near the Dahkota hills.

    Want me to send you a full list of all the wrong things @Oleis? As the getAreaTable() shows up all the 'areas' and some are completely wrong names, or some have numbers to the un-accessible rooms for that area and so on.
    Mudlet Bashing System for sale. Message if interested
    RiluoOleis
  • NalorNalor UK
    edited June 2015
    ["the Highways of Sapience"] = 70, - unsure how many of the highways it overtakes :/


    ["(unnamed)"] = 404,
    ^ this is suppose to be the new Bihrken? Unsure the correct spelling on the name as dont really go to the area

    ==

    Kentorakro = 102, but it sends you INTO the temple unsure if that's a map issue or, mudlet mapper itself, still trying to figure out how its grabbing the number

    ==

    Also this might be a path find issue, when path finding to -the Maghuir Fissure- it comes back as it cant path to that, I guess it might be as you need the sewers ability to get into that area.. so no bigger just wanted to mention it..

    ==

    Also the area Riluo mentioned doesn't show up.
    Mudlet Bashing System for sale. Message if interested
    RiluoAngwe
  • OleisOleis Producer Emeritus Administrator, Immortal
    Nalor said:

    @Riluo thats near the Dahkota hills.

    Want me to send you a full list of all the wrong things @Oleis? As the getAreaTable() shows up all the 'areas' and some are completely wrong names, or some have numbers to the un-accessible rooms for that area and so on.

    Sure. That'd be lovely. oleis [at] aetolia [dot] com
    Riluo said:

    I noticed a lot of the new areas do not show up when I update the map through mudlet. For example "the lost city of Iviofiyiedu (55189). Is that normal or an oversight?

    A very normal oversight. Like I said, we have to add them manually, and we almost always forget.
    You say to Slyphe, "You're so freaking smart."
    [---]
    "^," Slyphe agrees with you.
    Riluo
  • IshinIshin Retired Lurker Virginia
    Spinesreach's map is still all buggered, even when I download a new map file. Is that something from my end, @Oleis, or is that just the game map itself being weird?

    Is it something I can fix?
    Tell me and I forget, teach me and
    I remember, involve me and I
    learn.
    -Benjamin Franklin
  • alright ill do it tomorrow as seems ["the Highways of Sapience"] covers the WHOLE highway... which seems so wrong and I have to find the places its missing.
    Mudlet Bashing System for sale. Message if interested
  • RiluoRiluo The Doctor
    So downloaded the mudlet mapper and it appears good except for this when I try to map with the MC command.

    (mapper): Oops! Has a small problem ([string "--mmp_mapping_newroom..."]:176: attempt to index
    field 'envids' (a nil value)).
    view steps
    When I click on the view steps I get this also:
    stack traceback:
    [string "--mmp_mapping_newroom..."]:201: in function <[string "--mmp_mapping_newroom..."]:199>
    [string "--mmp_mapping_newroom..."]:176: in function <[string "--mmp_mapping_newroom..."]:59>
    [C]: in function 'xpcall'
    [string "--mmp_mapping_newroom..."]:59: in function <[string "--mmp_mapping_newroom..."]:58>
    Anyone know a fix please

    Abhorash says, "Ve'kahi has proved that even bastards can earn their place."

  • IshinIshin Retired Lurker Virginia
    In the first part, 'envids' is a variable whose value isn't being set.

    In the second part, I don't really see where it's listing an error, but those numbers where it's like :201:, :176:, etc, is the line that the error itself is actually occurring on.
    Tell me and I forget, teach me and
    I remember, involve me and I
    learn.
    -Benjamin Franklin
  • NalorNalor UK
    edited June 2015
    if your on source/tw it has its own mapper KAeus spent weeks and weeks making so its not mudlet mapper.. Would need to see the code to see the error :/

    but from a wild guess, it shouldn't be MMP_ .. it should be MMP. << a DOT not _
    Mudlet Bashing System for sale. Message if interested
  • RiluoRiluo The Doctor
    Thanks I will see if I can tweak those bits and see if it fires.

    @Nalor the map is this one http://wiki.mudlet.org/w/IRE_mapping_script as I am building a system of my own.

    Abhorash says, "Ve'kahi has proved that even bastards can earn their place."

  • RiluoRiluo The Doctor
    Oleis said:

    Nalor said:

    @Riluo thats near the Dahkota hills.

    Want me to send you a full list of all the wrong things @Oleis? As the getAreaTable() shows up all the 'areas' and some are completely wrong names, or some have numbers to the un-accessible rooms for that area and so on.

    Sure. That'd be lovely. oleis [at] aetolia [dot] com
    Riluo said:

    I noticed a lot of the new areas do not show up when I update the map through mudlet. For example "the lost city of Iviofiyiedu (55189). Is that normal or an oversight?

    A very normal oversight. Like I said, we have to add them manually, and we almost always forget.
    If we are still able to add rooms to your to do list could we add "Below the death caves" by chance, pretty please!

    Abhorash says, "Ve'kahi has proved that even bastards can earn their place."

  • Riluo said:

    Oleis said:

    Nalor said:

    @Riluo thats near the Dahkota hills.

    Want me to send you a full list of all the wrong things @Oleis? As the getAreaTable() shows up all the 'areas' and some are completely wrong names, or some have numbers to the un-accessible rooms for that area and so on.

    Sure. That'd be lovely. oleis [at] aetolia [dot] com
    Riluo said:

    I noticed a lot of the new areas do not show up when I update the map through mudlet. For example "the lost city of Iviofiyiedu (55189). Is that normal or an oversight?

    A very normal oversight. Like I said, we have to add them manually, and we almost always forget.
    If we are still able to add rooms to your to do list could we add "Below the death caves" by chance, pretty please!
    @Riluo I'm unsure if @Oleis has gotten the time to add it all in yet. But the new Enorian and new Delos (don't know its real name) also need adding to the list I sent. Also the wing four wing rooms.

    More than likely more places are hidden.. and places with special exits, Unsure if that's game side or our side.
    Mudlet Bashing System for sale. Message if interested
    Riluo
  • RiluoRiluo The Doctor
    Quick question I am hoping others can help me with. I am now using the mudlet mapper by vadi and sadly it is slow due to latency issues however using the ig commands Path find/path set is fast for me!

    With this n mind when I do "who" with the mapper I get the below list with a echo that sends "Go to if clicked like below:



    -------------------------------------------------------------------------------
    Alikahn - The Portals of Bloodloch (45544)
    Eleanor - A large swell within the --> (23899) <--clickable
    Erzsebet - (H) A meadow beneath sca
    Ilioyd - A tunnel beneath the Inn (25317)
    Jayinn - A fountain at the center (18942)
    Jura - Entering Bloodloch marke (9190)
    -------------------------------------------------------------------------------
    There are 36 players on this plane and 14 players on other planes.


    I have endeavoured to try to tweak this to instead send "path find <vnumber> when I click on the link. Sadly I can not figure out what to change as I do not understand the script vadi made :(

    So my hope is someone could show me what line I need to edit please and how as it is driving me insane.

    Thanks.

    Abhorash says, "Ve'kahi has proved that even bastards can earn their place."

  • look in the trigger for "go to" or " goto " .. or something where the number echos back..

    I'm not sure what code you're looking at to tell you just how to do it..


    But, Look in the WHO Trigger for ya mudlet mapper.. should be the one which displays @Rilath
    Mudlet Bashing System for sale. Message if interested
  • RiluoRiluo The Doctor
    edited August 2015
    here is a small snippet :( over several pages worth

    function mmp.roomWhoFind(query) if query:ends('.') then query = query:sub(1,-2) end local result = mmp.searchRoomExact(query) if type(result) == "string" or not next(result) then cecho("<CadetBlue> You have no recollection of any room with that name.") return end if not tonumber(select(2, next(result))) then -- old style for roomid, roomname in pairs(result) do roomid = tonumber(roomid) cecho(string.format(" <LightSlateGray>%s<DarkSlateGrey> (<blue>", tostring(roomname))) echoLink(roomid, 'mmp.gotoRoom('..roomid..')', string.format("Go to %s (%s)", roomid, tostring(roomname))) cecho(string.format("<DarkSlateGrey>) <white>%s<DarkSlateGrey>.\n", tostring(mmp.areatabler[getRoomArea(roomid)]))) end else -- new style for roomname, roomid in pairs(result) do roomid = tonumber(roomid) cecho(string.format(" <LightSlateGray>%s<DarkSlateGrey> (<blue>", tostring(roomname))) echoLink(roomid, 'mmp.gotoRoom('..roomid..')', string.format("Go to %s (%s)", roomid, tostring(roomname))) cecho(string.format("<DarkSlateGrey>) <white>%s<DarkSlateGrey>.\n", tostring(mmp.areatabler[getRoomArea(roomid)]))) end end end function mmp.roomFind(query) if query:ends('.') then query = query:sub(1,-2) end local result = mmp.searchRoom(query) if type(result) == "string" or not next(result) then cecho("<grey>You have no recollection of any room with that name.") return end cecho("<DarkSlateGrey>You know the following relevant rooms:\n") local function showmeropis(roomid) if mmp.game ~= "achaea" then return '' end return mmp.oncontinent(getRoomArea(roomid), "Prime") and '' or ' (Meropis)' end if not tonumber(select(2, next(result))) then -- old style for roomid, roomname in pairs(result) do roomid = tonumber(roomid) cecho(string.format(" <LightSlateGray>%s<DarkSlateGrey> (<blue>", tostring(roomname))) echoLink(roomid, 'mmp.gotoRoom('..roomid..')', string.format("Go to %s (%s)", roomid, tostring(roomname))) cecho(string.format("<DarkSlateGrey>) in <LightSlateGray>%s%s<DarkSlateGrey>.", mmp.cleanAreaName(tostring(mmp.areatabler[getRoomArea(roomid)])), showmeropis(roomid))) fg("DarkSlateGrey") echoLink(" > Show path\n", [[mmp.echoPath(mmp.currentroom, ]]..roomid..[[)]], "Display directions from here to "..roomname, true) resetFormat() end else -- new style for roomname, roomid in pairs(result) do roomid = tonumber(roomid) cecho(string.format(" <LightSlateGray>%s<DarkSlateGrey> (<blue>", tostring(roomname))) echoLink(roomid, 'mmp.gotoRoom('..roomid..')', string.format("Go to %s (%s)", roomid, tostring(roomname))) cecho(string.format("<DarkSlateGrey>) in <LightSlateGray>%s%s<DarkSlateGrey>.", mmp.cleanAreaName(tostring(mmp.areatabler[getRoomArea(roomid)])), showmeropis(roomid))) fg("DarkSlateGrey") echoLink(" > Show path\n", [[mmp.echoPath(mmp.currentroom, ]]..roomid..[[)]], "Display directions from here to "..roomname, true) resetFormat() end end cecho(string.format(" <DarkSlateGrey>%d rooms found.\n", table.size(result))) end function mmp.echoRoomList(areaname, exact) local areaid, msg, multiples = mmp.findAreaID(areaname, exact) if areaid then local roomlist, endresult = getAreaRooms(areaid) or {}, {} -- obtain a room list for each of the room IDs we got local getRoomName = getRoomName for _, id in pairs(roomlist) do endresult[id] = getRoomName(id) end -- sort room IDs so we can display them in order table.sort(roomlist) -- now display something half-decent looking cecho(string.format( "<DarkSlateGrey>List of all rooms in <grey>%s<DarkSlateGrey> (areaid <grey>%s<DarkSlateGrey> - <grey>%d<DarkSlateGrey> rooms):\n", msg, areaid, table.size(endresult))) local echoLink, sformat, fg, echo = echoLink, string.format, fg, cecho -- use pairs, as we can have gaps between room IDs for _, roomid in pairs(roomlist) do local roomname = endresult[roomid] fg("blue") echoLink(sformat("%6s", roomid), 'mmp.gotoRoom('..roomid..')', string.format("Go to %s (%s)", roomid, tostring(roomname)), true) cecho(string.format("<DarkSlateGrey>: <LightSlateGray>%s<DarkSlateGrey>.\n", roomname)) end elseif not id and #multiples > 0 then mmp.echo("For which area would you want to list rooms for?") fg("DimGrey") for _, areaname in ipairs(multiples) do echo" "; setUnderline(true) echoLink(areaname, 'mmp.echoRoomList("'..areaname..'", true)', "Click to view the room list for "..areaname, true) setUnderline(false) echo"\n" end resetFormat() else mmp.echo(string.format("Don't know of any area named '%s'.", areaname)) end end function mmp.echoAreaList() local list = getAreaTable() local ids, rlist = {}, {} local totalroomcount = 0 for area, id in pairs(list) do if id ~= 0 then ids[#ids+1] = id; rlist[id] = area end end table.sort(ids) -- count the amount of rooms in an area, taking care to count the room in the 0th -- index as well if there is one -- saves the total room count on the side as well local function countrooms(areaid) local allrooms = getAreaRooms(areaid) or {} local areac = (#allrooms or 0) + (allrooms[0] and 1 or 0) totalroomcount = totalroomcount + areac return areac end cecho(string.format( "<DarkSlateGrey>List of all areas we know of (click to view room list):\n")) local getAreaRooms, cecho, fg, echoLink, format, rep = getAreaRooms, cecho, fg, echoLink, string.format, string.rep for _, id in pairs(ids) do cecho(format("<blue>%s%d ", rep(" ", (7-#tostring(id))), id)) -- +1 because getAreaRooms starts counting at 0 fg("DarkSlateGrey") echoLink(rlist[id]..(" "):rep(40-#rlist[id]).."("..mmp.comma_value(countrooms(id)).." rooms)", 'mmp.echoRoomList("'..rlist[id]..'", true)', "View the room list for "..rlist[id], true) echo("\n") end cecho(string.format( "<DarkSlateGrey>Total amount of rooms in this map: %s\n", mmp.comma_value(totalroomcount))) end function mmp.clearLabels(areaid) local function clearlabels(areaid) local t = getMapLabels(areaid) if type(t) ~= "table" then return end for labelid, _ in pairs(t) do deleteMapLabel(areaid, labelid) end end if areaid == "map" then for areaid in pairs(mmp.areatabler) do clearlabels(areaid) end mmp.echo("Cleared labels in all of the map.") return end clearlabels(areaid) mmp.echo(string.format("Cleared all labels in '%s'.", mmp.areatabler[areaid])) end function mmp.deleteArea(name, exact) local id, fname, ma = mmp.findAreaID(name, exact) if id then mmp.doareadelete(id) elseif next(ma) then mmp.echo("Which one of these specifically would you like to delete?") fg("DimGrey") for _,name in ipairs(ma) do echo " " setUnderline(true) echoLink(name, [[mmp.deleteArea("]]..name..[[", true)]], "Delete "..name, true) setUnderline(false) echo"\n" end resetFormat() else mmp.echo("Don't know of that area.") end raiseEvent("mmp areas changed") end -- the function actually doing area deletion function mmp.doareadelete(areaid) mmp.deletingarea = {} local t = mmp.deletingarea local rooms = getAreaRooms(areaid) t.roomcount = table.size(rooms) t.roombatches = {} t.currentbatch = 1 t.areaid = areaid t.areaname = getAreaTableSwap()[areaid] -- delete the area right away if there's nothing in it if t.roomcount == 0 then deleteArea(t.areaid) mmp.echo("All done! The area was already gone/empty.") end local rooms_per_batch = 100 -- split up rooms into tables of tables, to be deleted in batches so -- that our print statements in between get a chance to be processed for batch = 1, t.roomcount, 100 do t.roombatches[#t.roombatches+1] = {} local onebatch = t.roombatches[#t.roombatches] for inbatch = 1, 100 do onebatch[#onebatch+1] = rooms[batch+inbatch] end end function mmp.deletenextbatch() local t = mmp.deletingarea if not t then return end local currentbatch = t.roombatches[t.currentbatchi] if currentbatch == nil then deleteArea(t.areaid) mmp.echo("All done! Deleted the '"..t.areaname.."' area.") mmp.deletingarea = nil centerview(mmp.currentroom) return end local deleteRoom = deleteRoom for i = 1, #currentbatch do deleteRoom(currentbatch[i]) end mmp.echo(string.format("Deleted %d batch%s so far, %d left to go - %.2f%% done out of %d needed", t.currentbatchi, (t.currentbatchi == 1 and '' or 'es'), #t.roombatches - t.currentbatchi, (100/#t.roombatches)*t.currentbatchi, #t.roombatches)) t.currentbatchi = t.currentbatchi + 1 tempTimer(0.010, mmp.deletenextbatch) end t.currentbatchi = 1 mmp.echo("Prepped room batches, starting deletion...") tempTimer(0.010, mmp.deletenextbatch) end function mmp.renameArea(name, exact) if not (mmp.currentroom or getRoomArea(mmp.currentroom)) then mmp.echo("Don't know what area are we in at the moment, to rename it.") else setAreaName(getRoomArea(mmp.currentroom), name) mmp.echo(string.format("Renamed %s to %s (%d).", mmp.areatabler[getRoomArea(mmp.currentroom)], name, getRoomArea(mmp.currentroom))) centerview(mmp.currentroom) end raiseEvent("mmp areas changed") end function mmp.roomArea(otherroom, name, exact) local id,fname,ma if tonumber(name) then id = tonumber(name); fname = mmp.areatabler[id] else id, fname, ma = mmp.findAreaID(name, exact) end if otherroom ~= "" and not mmp.roomexists(otherroom) then mmp.echo("Room id "..otherroom.." doesn't seem to exist.") return elseif otherroom == "" and not mmp.roomexists(mmp.currentroom) then mmp.echo("Don't know where we are at the moment.") return end otherroom = otherroom ~= "" and otherroom or mmp.currentroom if id then setRoomArea(otherroom, id) mmp.echo(string.format("Moved %s to %s (%d).", (getRoomName(otherroom) ~= "" and getRoomName(otherroom) or "''"), fname, id)) centerview(otherroom) elseif next(ma) then mmp.echo("Into which area exactly would you like to move the room?") fg("DimGrey") for _,name in ipairs(ma) do echo " " setUnderline(true) echoLink(name, [[mmp.roomArea('', "]]..name..[[", true)]], "Move the room to "..name, true) setUnderline(false) echo"\n" end resetFormat() else mmp.echo("Don't know of that area.") end end function mmp.getAreaBorders(areaid) if mmp.debug then mmp.getAreaBordersTimer = mmp.getAreaBordersTimer or createStopWatch() startStopWatch(mmp.getAreaBordersTimer) end local roomlist, endresult = getAreaRooms(areaid), {} -- sometimes getAreaRooms can give us no result :( if not roomlist then mmp.echo("Sorry, seems we can't go there - getAreaRooms("..areaid..") didn't give us any results (Mudlet problem - redownloading the map might help fix it)") return end local getRoomExits, getRoomName, getSpecialExitsSwap, contains, pairs = getRoomExits, getRoomName, getSpecialExitsSwap, table.contains, pairs -- make a key-value list of room IDs local reverselist = {} for i = 0, #roomlist do reverselist[roomlist[i]] = true end -- obtain a room list for each of the room IDs we got --for _, id in pairs(roomlist) do for i = 0, #roomlist do local id = roomlist[i] local exits = getRoomExits(id) for _, to in pairs(exits) do if not reverselist[to] then endresult[id] = getRoomName(id) end end local specialexits = getSpecialExitsSwap(id) for _, to in pairs(specialexits) do if not reverselist[to] then endresult[id] = getRoomName(id) end end end if mmp.debug then mmp.echo("mmp.getAreaBordersTimer() on areaid "..areaid.." took "..stopStopWatch(mmp.getAreaBordersTimer).."s to run. Returned "..table.size(endresult).." results.") end return endresult end function mmp.viewArea (where, exact) if not where or not type(where)=="string" then mmp.echo("Which area would you like to view?") return end local areaid, msg, multiples = mmp.findAreaID(where, exact) if areaid then -- center on the first room ID, which typically is the start of an area local rooms = getAreaRooms(areaid) or {} if not rooms[1] then mmp.echo("The area has no rooms in it.") else centerview(rooms[1]) end elseif not areaid and #multiples > 0 then mmp.echo("Which area would you like to view exactly?") fg("DimGrey") for _, areaname in ipairs(multiples) do echo" "; setUnderline(true) echoLink(areaname, 'mmp.viewArea("'..areaname..'", true)', "Click to view "..areaname, true) setUnderline(false) echo"\n" end resetFormat() return else mmp.echo(string.format("Don't know of any area named '%s'.", where)) return end end -- room label the room I'm in -- room label 342 this is a label in room 342 -- room label green this is a green label where I'm at -- room label green black this is a green to black label where I'm at -- room label 34 green black this is a green to black label at room 34 -- how it works: split input string into tokens by space, then determine -- what to do by checking first few tokens, and finally call the local -- function with the proper arguments function mmp.roomLabel(input) if not createMapLabel then mmp.echo("Your Mudlet doesn't support createMapLabel() yet - please update to 2.0-test3 or better.") return end local tk = input:split(" ") local room, fg, bg, message = mmp.currentroom, "yellow", "red", "Some room label" -- input always have to be something, so tk[1] at least always exists if tonumber(tk[1]) then room = tonumber(table.remove(tk, 1)) -- remove the number, so we're left with the colors or msg end -- next: is this a foreground color? if tk[1] and color_table[tk[1]] then fg = table.remove(tk, 1) end -- next: is this a backround color? if tk[1] and color_table[tk[1]] then bg = table.remove(tk, 1) end -- the rest would be our message if tk[1] then message = table.concat(tk, " ") end -- if we haven't provided a room ID and we don't know where we are yet, we can't make a label if not room then mmp.echo("We don't know where we are to make a label here.") return end local x,y = getRoomCoordinates(room) local f1,f2,f3 = unpack(color_table[fg]) local b1,b2,b3 = unpack(color_table[bg]) -- finally: do it :) local lid = createMapLabel(getRoomArea(room), message, x, y, f1,f2,f3, b1,b2,b3) mmp.echo(string.format("Created new label #%d '%s' in %s.", lid, message, getRoomAreaName(getRoomArea(room)))) end function mmp.areaLabels (where, exact) if not getMapLabels then mmp.echo("Your Mudlet doesn't support getMapLabels() yet - please update to 2.0-test3 or better.") return end if (not where or not type(where)=="string") and not mmp.currentroom then mmp.echo("For which area would you like to view labels?") return end if not where then exact = true where = getRoomAreaName(getRoomArea(mmp.currentroom)) end local areaid, msg, multiples = mmp.findAreaID(where, exact) if areaid then local t = getMapLabels(areaid) if type(t) ~= "table" or not next(t) then mmp.echo(string.format("'%s' doesn't seem to have any labels.", getRoomAreaName(areaid))) return end mmp.echo(string.format("Area labels for '%s'", getRoomAreaName(areaid))) for labelid, labeltext in pairs(t) do fg("DimGrey") echo(string.format(" %d) %s (", labelid, labeltext)) fg"orange_red" setUnderline(true) echoLink('delete', string.format('deleteMapLabel(%d, %d); mmp.echo("Deleted label #'..labelid..'")', areaid, labelid), "Delete label #"..labelid.." from "..getRoomAreaName(areaid)) setUnderline(false) echo")\n" end resetFormat() elseif not areaid and #multiples > 0 then mmp.echo("Which area would you like to view exactly?") fg("DimGrey") for _, areaname in ipairs(multiples) do echo" "; setUnderline(true) echoLink(areaname, 'mmp.areaLabels("'..areaname..'", true)', "Click to view labels in "..areaname, true) setUnderline(false) echo"\n" end resetFormat() return else mmp.echo(string.format("Don't know of any area named '%s'.", where)) return end end function mmp.echoPath(from, to) assert(tonumber(from) and tonumber(to), "mmp.getPath: both from and to have to be room IDs") if mmp.getPath(from, to) then mmp.echo("<white>Directions from <yellow>" .. string.upper(searchRoom(from)) .. " <white>to <yellow>" .. string.upper(searchRoom(to)) .. "<white>:") mmp.echo(table.concat(speedWalkDir, ", ")) return mmp.speedWalkDir end end function mmp.listSpecialExits(filter) local c = 0 mmp.echo("Listing special exits...") for area, areaname in pairs(mmp.areatabler) do local rooms = getAreaRooms(area) or {} for i = 0, #rooms do local exits = getSpecialExits(rooms[i] or 0) if exits and next(exits) then for exit, cmd in pairs(exits) do if type(cmd) == "table" then cmd = next(cmd) end if cmd:match("^%d") then cmd = cmd:sub(2) end if not filter or cmd:lower():find(filter, 1, true) then if getRoomArea(exit) ~= area then cecho(string.format("<dark_slate_grey>%s <LightSlateGray>(%d, in %s)<dark_slate_grey> <MediumSlateBlue>-> <coral>%s -<MediumSlateBlue>><dark_slate_grey> %s <LightSlateGray>(%d, in %s)\n", getRoomName(rooms[i]), rooms[i], areaname, cmd, getRoomName(exit), exit, mmp.areatabler[getRoomArea(exit)] or '?')) else cecho(string.format("<dark_slate_grey>%s <LightSlateGray>(%d)<dark_slate_grey> <MediumSlateBlue>-> <coral>%s <MediumSlateBlue>-><dark_slate_grey> %s <LightSlateGray>(%d)<dark_slate_grey> in %s\n", getRoomName(rooms[i]), rooms[i], cmd, getRoomName(exit), exit, areaname)) end c = c + 1 end end end end end mmp.echo(string.format("%d exits listed%s.", c, (not filter and '' or ", with for the filter '"..filter.."'"))) end function mmp.delSpecialExits(filter) local c = 0 for area, areaname in pairs(mmp.areatabler) do local rooms = getAreaRooms(area) or {} for i = 0, #rooms do local exits = getSpecialExits(rooms[i] or 0) if exits and next(exits) then for exit, cmd in pairs(exits) do if type(cmd) == "table" then cmd = next(cmd) end if cmd:match("^%d") then cmd = cmd:sub(2) end if not filter or cmd:lower():find(filter, 1, true) then local rid, action local originalExits = {} local e = getSpecialExits(rooms[i]) for t,n in pairs(e) do rid = tonumber(t) for a,l in pairs(n) do action = tostring(a) end if not action:find(filter,1,true) then originalExits[rid] = action end end clearSpecialExits(rooms[i]) for rid, act in pairs(originalExits) do addSpecialExit(rooms[i], tonumber(rid), tostring(act)) end c = c + 1 end end end end end mmp.echo(string.format("%d exits deleted%s.", c, (not filter and '' or ", with for the filter '"..filter.."'"))) end

    Abhorash says, "Ve'kahi has proved that even bastards can earn their place."

  • @riluo I'm so not going to read all that code But looking through the downloaded version I just did,

    It's something within ' mmp.gotoRoom ' script but unsure as to what as, map path, map find, etc dont stand out when running a search :/
    Mudlet Bashing System for sale. Message if interested
    Riluo
  • RiluoRiluo The Doctor
    heh yeah do not blame you ;)

    It is a lot of scripting and yep it has to be in there somewhere I will keep breaking it until I and find it and thanks :)

    Abhorash says, "Ve'kahi has proved that even bastards can earn their place."

  • go ask on mudlet forums, since they was the ones who made it :P it'll be quicker @Riluo
    Mudlet Bashing System for sale. Message if interested
  • RiluoRiluo The Doctor
    edited August 2015
    I just ended up fixing!!!! I refused to stop breaking it and removing things until it fired :)

    Now it does what I require and more as it is fast and direct with no latency concerns at last \o/

    Abhorash says, "Ve'kahi has proved that even bastards can earn their place."

    Ishin
Sign In or Register to comment.