Mudlet A cross-platform, open source, and super fast MUD client with scripting in Lua

Mudlet 3.2

June 7th, 2017

Finally welcoming summer in the northern hemisphere, Mudlet 3.2.0 is here. Mudlet can display text in many other languages now, coroutines are available, and userwindows (stand-alone miniconsoles) have been massively improved!

Encoding in Mudlet

Veteran Mudlet developer SlySven worked to teach Mudlet to display text in Spanish, Russian, and many other Western languages!

Go to Preferences > Encoding to select the encoding you’d like to use.

This is the first baby step in enabling Mudlet to support internalisation. Choosing the encoding will help Mudlet display the letters right, but triggers will not work with non-English text and nor will some Lua string.* functions like string.len(). We’ll be adding these features incrementally and it will all be ready in Mudlet 4.0.

Coroutines

Lua coroutines are now available in Mudlet, opening up a lot of possibilities for writing your scripts better – check out the demo in the manual. Big thanks to the core Mudlet developer ahmedcharles for enabling this!

Script loss fixed

If you happened to insert an XML-invalid character such as 0x0 in your script, Mudlet wouldn’t be able to load it back in and lose everything that followed it. This has been fixed – credits go to to Buck in Discord for identifying the problem and SlySven for fixing the problem! 0x0 and it’s friends will now get saved and loaded just fine.

First time user experience

First impressions matter – whenever you’re getting your friend on Mudlet or someone is thinking of checking out this underrated thing called MUDs. Mudlets is now much better – on first launch, a welcome screen is now automatically shown:

We’ve also made it so the Connections window automatically opens up if you don’t have any profiles on autoload, and the last used profile is automatically selected.

There’s too much blank space in though, isn’t there? MUDs that get onto Mudlet’s default profiles list are ones that make a significant contribution to the open-source Mudlet project, or those that go the extra mile to add a great gaming experience for their players on Mudlet: mapper support and a UI package.

Userwindow improvements

Would you like to make your miniconsoles separate from the Mudlet window? Move them over to another monitor perhaps? Or make dock them inside Mudlet? You can with openUserWindow(), check it out. This release has improved a lot of things for userwindows – they’ll now remember their position when you open Mudlet, won’t inherit borders from the main window, and will close with the profile. Once you open a userwindow, you can use all the same cecho(), copy(), paste() on it just as with a miniconsole.

Thanks to the modest itsTheFae for his work in making this happen.

Floating toolbars improved

Floating toolbars – those that you can make in the Buttons view and stick buttons in – no longer spazz out when you click on the script editor.

 

Changelog

  • added alert() function in case you need to alert the user for something
  • added getServerEncodingsList(), setServerEncoding(), and getServerEncoding() to choose encodings from script
  • added tempKey(), permKey(), and killKey() functions
  • added ability to choose encodings (UTF-8, ISO*, and many others) in preferences
  • added support for coroutines!
  • added support for the telnet BELL code to have Mudlet icon flash/blink for 3s
  • added loadWindowLayout()saveWindowLayout(), and a boolean argument to openUserWindow() for controlling the layout of userwindows
  • added mudletOlderThan()
  • fixed a possible crash if you closed Mudlet profile while it was still playing a sound
  • fixed being able to open multiple ‘About’, ‘Module Manager’, ‘Package Manager’ windows
  • fixed clicking on floating toolbars interrupting the editor when clicked on
  • fixed floating toolbars to close when the profile is closed
  • fixed floating/dockable mapper window to close when you close with its profile
  • fixed map auditing always complaining about a default area missing
  • fixed save profile dialog to ask a proper question
  • fixed userwindows inheriting borders from the main display
  • fixed white-on-yellow search highlighting to be the normal black-on-yellow again
  • fixed a crash if scripts used sysDisconnectionEvent
  • fixed script loss when special characters (like U+000B) were used in scripts
  • fixed lua-zip error when opening Linux AppImage
  • fixed labels placed under the mapper window preventing clicking on the mapper
  • improved AND/OR trigger tooltip to mention that matches go into multimatches[][] instead of matches[]
  • improved borders settings Preferences – you can now set them to negatives
  • improved first-time experience: connection dialog opens automatically and a welcome message is shown
  • improved last-used profile to be autoselected when you open the connection dialog
  • improved moved map format selection to be in map options
  • improved Mudlet to autoload profiles much quicker
  • improved performance inside code Mudlet by using multi-arg .arg() instead of chained .arg() calls
  • improved userwindows to open in their last position on the screen by default
  • improved connectToServer() to also save the parameters for the next time
  • improved a bit of MCCP-related code with a cleanup

Credits

This release was brought to you by Ahmed Charles, Florian Scheel, itsTheFae, kbasten, Mike H, Stephen Lyons, and Vadim Peretokin. Depressed by cancelled projects at work? Interesting in contributing to a project and actually seeing your work get used by people? Hop on board!

Random tip: you can use Unicode art in Mudlet! Try doing cecho(“°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸”) or cecho(“<green>(╯°□°)<dark_green>╯︵ ┻━┻”). You can find more examples over here.

Posted in Uncategorized

One Response

  1. SlySven

    Um, “Script loss fixed” Vadim got that slightly wrong – The ASCII NUL character 0x0 is still NOT accepted but every other control character IS. The reason that specific one is not permitted is that it is used in several programming languages including Lua and C/C++ (what Mudlet is built with) to (internally) indicate the END point of a string in memory so it is not possible to include it in a lua script as it would not be possible to tell where the script ended otherwise…

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

Subscribe without commenting