Ah, must confess I don't personally go delving much into the Lua stuff - my bad for not spotting it.
As such your modifications could go into the main Github repository - up to doing a Pull Request to it? I note now that that code seems useless for special exits and as someone, possibly you, pointed out: uses a different string for the non-XY plane normal exits ( "u", "d", "in", "out" ) than the Mudlet C++ codebase ( "up", "down", "in", "out" ) uses and puts into the lua global speedWalkDir table ...
If you have code that opens/closes/locks doors you might wish to include stuff with calls of the lua commands:
- setExitDoor(<room Id, number>, <exit name, string - one of: "n","ne","e","se","s","sw","w","nw","up","down","in","out" or a lower-case ASCII special exit>, <door type, number - 0 =no door, 1 =open door, 2 =closed door 3 =locked door>)
- getDoors(<room Id, number>)
to use the "door" symbols on the (2D) mapper as you go - though, as they are "shared" between all the user's of a MUD, you could only really indicate which doors can be opened freely ("open" - green colour); doors that need you to do something to open them ("closed" - orange) or doors that are unusable by your current character ("locked" - red). You could use the presence of the above type of door - at least the open and closed types - as part of a scripting system to look for stored door names in the room's user data store and to activate generic door opening code - and know not to try on locked doors.
The current code (3.0.0 previews at least) allows you to do this via lua scripts for all normal exits using the above exit direction "names" (and special exits if they only use lower case ASCII - I'm gonna have to fix THAT somehow) though the mapper does not (yet) show doors on any exit that is not a normal one on the XY-plane {or on stub-exits or ANY exit with a custom exit line} - I have plans/prototype code in that area but it ain't ready yet. On a two way route there is a door in each direction but current 2D mapper code draws them as coloured squares one on top of the other so if they are different (or only present in one direction) you can't tell visually.
One related consideration I'm pondering about - Special Exits! Currently they have a single string which is used when the built-in speedwalk/route finding code wants to use
that route; it can contain a script as I understand it (there is something about prefixing the entry with the string "script: " - but I'm not sure how/if that is implemented.) It strikes me that really a user would want both a "name" - something that they could type at the keyboard to use a particular exit route and a "command", something, possibly different, to either send as plain text(s) or to execute as a local script whilst interacting with the MUD server. Effectively this would be an
alias, but it would be specific to THAT room, more importantly it is the "name" that is used to refer/display the special exit but it is the "command" that gets used when interacting with the lua subsystem and the MUD server. From previous exposure to TinTin++ I know that that client uses this sort of system for ALL exits - it is just that "normal" ones have predefined "commands" that initially are identical to the "names" - though you can really get confused if you delete an exit's command completely {the exit "stops" working, or, in recovering from something like that you get things wrong and say put "e" in for the west exit and "w" for the east and then you go in completely the wrong direction.}
Anyhow, I suspect that this would increase the functionality of Mudlet, but I wonder what others think