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!
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.
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!
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 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.
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 - those that you can make in the Buttons view and stick buttons in - no longer spazz out when you click on the script editor.
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.
Comments
Debugging in mudlet is an exercise in frustration. Traces are minimal, oftentimes the error messages are misleading or vague, and it's a complete pain compared to what I used to use.
An example:
LUA: ERROR running script vitals (vitals) ERROR: attempt to call a nil value
Okay, where did that happen? In what function? Theres about thirty in the file. What line number? What was the nil value it attempted to call?
It gives me nothing to work on. It's frustrating. How come a mud client that's not maintained and hasn't seen an official release since 2007 (TinyFugue) does this better?
Tinyfugue uses its own scripting language whereas mudlet uses lua. Different programming languages have different advantages/disadvantages.
I haven't been having any issues doing my own development, but I think it's because I have been writing external modules and importing them. I rarely interact with mudlet proper except to hook triggers/aliases into the exposed API.
The best part is, though, mudlet is open source, meaning that you could contribute to the project and see your improvements in the next release.