Join the community to ask questions about Mudlet and get answers from other members.




There seems to be something I am just

There seems to be something I am just not understanding about saving tables and loading them. When I log in or first fire up a profile, I'm loading my tables from their save state, and defining the tables ahead of time. The variable data all loads just fine, but none of my functions do. I have to manually go through and click every script file to get them to load. I've been banging my head against this for a couple days, and I know there has to be something simple I'm missing, I just don't know...

for AND triggers the results wind up

for AND triggers the results wind up multimatches, not matches. showMultimatches() will print the info out for you

Area 51

@ArmageDOOOM In the PTBs (but not in the last release) there is an "improvement" that stores each separate commandline's history (up to a specified number of most recently used commands) for each profile within the profile's data and restores them when the profile is next loaded. (It is possible to switch this off for any particular command line - or for ALL of them in a profile - should that be desired.) Ah, it looks like I never documented the Lua API functions that that added - not even in Area51 * setSaveCommandHistory(["commandLineName", ] saveHistory) - first argument is optional and is the name of the command line (the main one is the one referred to if omitted) - second argument is whether to save the history between sessions (true) or not (false). Returns true on success or nil plus an error message on failure....

Well, whilst I am sad that it crashed

Well, whilst I am sad that it crashed for you, I am relieved that you found a solution that seems to work (though it does seem to be something of a Heisenbug Just as well that you got around it because at the moment our MacOS build system seems to be creating Mudlet versions that appear to start but then crash and burn because a library (zstd) that the libzip library dynamically loads/depends on now (since version 1.8) that parts of Mudlet uses is no longer included in the application bundle for MacOS (it is okay for the Mudlet 4.17.2 release build but I suspect that all the current PTBs and testing/PR builds are borked like this. I'm investigating but I am severely hindered because I am not a Mac owner/user and it is a rather alien landscape for me to debug remotely on our GitHub actions based build system......

Send text warning

Like the other person said - that line of text contained at least one character that cannot be transported to the Server with the currently in use "Server Encoding". Mudlet can negotiate with the server over which encoding to use but many Game Servers do not support the telnet option (42 "CHARSET") to do that so you may just have to find out what the Server uses and avoid anything outside that range slipping into your output. I did code in a tool to analyse (a line of) the on-screen text - but it has to be enabled - and after selecting the bit concerned if you hover over the contect menu option it will report what is there::...

Basher stuff to consider

Helpful things to consider: Do I have the map in the mudlet mapper? Does the game support giving you information over GMCP or MSDP? This can make things a lot easier what kind of combat does the game have? "kill <thing>" and wait till it dies, balance or turn based?...

Answer to "What's a MUD prompt"

Importantly it doesn't end with a <CR><LF> pair because, like in a terminal window, it usually contains some information appropriate at the time it is displayed and you will be typing in your input on the same line.

Clippy emoji

I need a clippy emoji so I can pop in with things like "Hi there, you look like you're trying to compare tables, that's a real pain if you don't understand some of the deep lore. Would you like some assistance?"

I personally use muddler for compiling

I personally use muddler for compiling lua and json files into a mudlet package xml, but that's in part because I'm creating things for distribution. Muddler does have a CI package which allows you to watch for successful builds and remove/reinstall the package, with optional pre/post remove/install hooks. Alternately, you could use file watches ( as an entry point) to monitor files for changes and reload them. You'll want to be careful to write your stuff in such a way it survives a reload in a desirable fashion in either case. You could look at the Muddler CI package for an example of a filewatch, since that's ultimately what it is using itself. VSCode has a Mudlet extension which downloads the API docs from the wiki and sets up tab completion and in-line doc which is super handy....

Answer for the multiline trigger

Answer for the multiline trigger question above in this thread

If they re copies then they should be

If they're copies then they should be firing. I thought you were editing triggers in one profile, expecting them to work in the others, and somehow unable to open the proper editor in the other profiles. This does make more sense.

Odd map room IDname widget positioning

I assume that is (0,0) then? I had to drag it elsewhere. Now it vanishes when rooms are deselected, then returns at the very position once I select multiple rooms again

It may wait one second on some devices

It may wait one second on some devices, tough to say. There is a hook in the programming that when the position changes it will calculate the volume change

MXP wiki

It's not a lot, but it at least helps with a simple and complex option for those wanting to make sure their servers are spitting out the right thing for Mudlet.

No worries thanks for taking the time

No worries, thanks for taking the time! Right now I'm trying to isolate the difference between messages that are 'said' because those appear to be processed fully correctly and don't break anything whether they have < > or whatever, and directly sending messages via the python interpreter which does. Also some other forms of message echoing. It's clear parsing is applying on one but not the other.

Discord Rich Text Prescence?

yeah, still working on this. I have been able to get Game using a custom Discord server. Invite URL: in the debug log. Then when I check the gmcp log it show: ``` { External = { Discord = { Info = {...

Well with the spell checking enabled I

Well, with the spell-checking enabled I was pointing out that, so the user could tell that a word was one that was in the "user" dictionary rather than the "main" system or Mudlet provided one it gets an underline but so that it is as different as I could make it from a word that is being flagged as a misspelling I made such words have a cyan underline which is dashed (compared to the wavy red one):

I am also interested in this problem

Including things from luarocks can be difficult, especially if you're trying to support all three OSes Mudlet is available for, as several of them include c bindings. For just personal use you can setup luarocks to use the same build chain as Mudlet and install them using LuaRocks as normal, but for sharing with others I've yet to come up with a good workflow for that. I did get started on working one out that I could use to repackage luarocks as mpackages but haven't had time to properly test i...