Mudlet 4.9+ GUI



  • I'm trying to get this set up but having a lot of issues doing the steps you're describing.

    I double-click the window I want to move to get the dockable frame, and place it where I want. Then I double-click the place you highlighted to hide the dockable frame, and the window just disappears. If I click in the main display the window in question reappears wherever I click. The frame is gone, but it's not docked to the main display where I put it, it's just out in the middle and can be moved around.

    I don't know what I'm missing, but I'm wondering. In your example you have the prompt window between the main display and the text box. I can't pop either of those out or move them, which is making me wonder if that's the problem. Is that a mudlet feature, or something in the GUI I'm missing?

    Worst case scenario I can just leave the frames up and docked where I want them, that part of the UI works fine, but that takes up space and I can't lock them. I really have no idea why it's not behaving the way the video shows, unless I'm supposed to be able to pick up the main display and textbox and move them around the same way as the rest.

  • edited May 2021

    Hi! This is wonderful, and I appreciate you sharing. Is there a way to save the styles, for ZSTYLE? If I change it, and log off, it reverts back to default.

    Never mind, got it!

  • edited May 2021

    I noticed some unanswered questions - as someone who's kinda new to MUD scripting and lua (but not to programming in general, come from web dev background) I'm gonna try to answer them best I can. I'm getting around to reading the Geyser docs from top to bottom over so I can finally make some of my own elements instead of only using (these awesome, community-based free) ones!

    Assuming minimal coding experience so please don't take offense if I describe things in a very basic way!

    Thank you very much for this. May I know if there is a way to disable windows that you do not need from popping up at login?

    @Aina Darke You will need to open the script named "EDIT ME: Startup Main" in Mudlet and then scroll down to the block of code from lines 52 to 68 that all start with "if not". Comment out i.e. disable the lines you don't need; each line corresponds to a window, and you can see which window it is from the "buildX" word in that line e.g. the first line is "buildChat", so chat window. To comment out a line, just type two "-"s (dashes) at the beginning of the line, like --. Or on Windows, with your cursor on that line press CTRL + / (and on Mac, CMD + / )

    hrm how does the target list window work? Does it require some sort of targeting script or similar?

    @Savira I was curious about this too, and from what I can see, there is nothing right now that's calling "zgui.showTargetList()", which should populate the target window, and also no built-in function to add new targets to "zgui.myTargetList", which is where the targets for the window would've been sourced. So I think this window is here for us users to add to ourselves. If you're comfortable learning from other people's code, this other free GUI I found here - - contains a plug-and-play example of setting and displaying the current target in a window (it leverages Achaea's settarget command)

    I'm trying to get this set up but having a lot of issues doing the steps you're describing.

    @Glark The very first time I used this package I ran into a lot of similar issues too and gave up! I decided to try again recently and got it working, and am really pleased with the flexibility and robustness of this GUI.

    It sounds like you want to want to attach some of the windows to your main display, like how it's setup in the tutorial GIF? For that, the window needs to be in Adjustable mode (the default that all the windows appear when you install zgui), versus User Window mode (where the window is popped out and you can drag it anywhere, even beyond the boundaries of the display).

    Double clicking on the window's title bar/top border switches between these two modes. In this case, you want the Adjustable mode so there's no double-clicking needed if starting fresh. If you want to attach a window to your display so that it's "docked" there (like in the GIF), drag the window to the top/left/right/bottom of the display, right click the title bar, and then select 'Attach' and the corresponding position (top/left/right/bottom). If you want the window docked there but outside of the main display, then you'd want it to be in User Window mode.

    If you're having issues with windows disappearing or getting stuck to one side of the screen without being movable (I encounter this even now too when I switch between the modes), try running 'zfix windowName' (pay attention to capitalization! e.g. 'zfix roomPlayers' or 'zfix afflictionlock'; use 'zfix' to see the possible list of window names). You should see the window appear somewhere on your display - right click the title bar and select save, then restart Mudlet. When you next log in, the window should be there again in Adjustable mode. This is how I got around this quirk.

    Re: the prompt in the GIF, that window is actually attached to the bottom of the main display in Adjustable mode. If you can't move it, you may have possibly locked it in place. If there are no _ or x icons in the top right corner of the window, it's locked (in which case, right click the window and select 'locked' to unlock it, or try the zfix method outlined above). Hope this helps!

    Here's my question in case anyone can help: I'm trying to set a background image spanning the entire window, behind all the mini-consoles and main display too. Very much like the Halloween example that Zulah posted. Haven't figured out the container name I need to target yet, or if there's some special trick to it. If anyone knows how then that'd be great!

  • edited May 2021

    I eventually figured out what I needed to do, but thanks for the zfix tip, I do run into that sometimes. Yeah, I was trying to switch to user windows and then dock them to the mudlet screen, instead I shrunk the main text display and locked the adjustable windows into the black space around it.

    Now I'm having issues getting AK to properly display inside its ZGUI window, but I'll figure that out when I decide to start using AK again, probably too much information for me at the moment anyway.

  • @Woland that worked. Thank you very much

  • Hello Everyone!

    I can't get the windows to save :(

    I am just trying to setup 2 windows the map and the chat window.

    After i move them to where i want them I then click on lock then save

    They work great as long as i dont close mudlet.

    after closing mudlet when I go back it they are all reset and I have to start all over again.

    What are my doing wrong?

  • edited May 2021

    They're not saving, because you have them set to UserWindows, rather than AdjustableContainers (click back to the first page to see how to change between the two).

    If you want to keep them as UserWindows, you follow what Woland already suggested.

    Disappearing from Achaea for now. See you, space cowboy.

    smileyface#8048 if you wanna chat.

  • edited May 2021

    Thank you! found t it, pretty much you need to right click and attach to top, bottom ect.

    i was double clicking making it into a user window... and that is where it got messed up.

    and is saving now. Thanks!

    one more thing if one of the windows acts up and you can't resize ect. you can go here


    delete the - zgui.roomDenizens.window.lua and start mudlet again.

  • I also realized today you can unlock your adjustable containers straight from the command line, e.g.:

    lua zgui.roomDenizens.window:unlockContainer()

    As per

    Similarly, there's a method to change your lockstyles programmatically too: Adjustable.Container:lockContainer. So much faster!

  • edited June 2021

    I do have some updates planned for release soon.

    @Lynara and I were working on some new pathfinding ideas for wilderness (easier to find forays for sight impaired players was the end goal there) With a new wilderness coordinates system and a saved list of locations as you visit them. Still a long way to go on this project.

    Easier point click options to change the system around.

    Toggle dark mode

    Battlerage trackers

    Sample gifs:

    Will also work on getting it setup in github

  • edited June 2021


    Here's my question in case anyone can help: I'm trying to set a background image spanning the entire window, behind all the mini-consoles and main display too. Very much like the Halloween example that Zulah posted. Haven't figured out the container name I need to target yet, or if there's some special trick to it. If anyone knows how then that'd be great!

    I've done this in the past (and have some ideas for the new zgui) where you create a label for each side you want art on. You'll have to splice the total picture you want into each side. Then you apply the *.PNG files to those labels. You have to make sure that label loads first. Otherwise anything you load for ui elements will be behind the PNG label.

    You can create this function and call your own png to try it out.

    function zgui.buildLeftart()
     zgui.leftart = {}
     --Create the Left Art Adjustable
     zgui.leftart.window = Adjustable.Container:new({
      name = "zgui.leftart.window",
      x = 0, y = 0,
      width = "50%",
      height = "50%",  
      adjLabelstyle = "background-color:rgba(0,0,0,0%)",
       QLabel{ border-radius: 5px; background-color: rgba(140,140,140,100%);}
       QLabel::hover{ background-color: rgba(160,160,160,50%);}
      buttonFontSize = 5,
      buttonsize = 10,      
     --Create the Left Art container
     zgui.leftart.container = Geyser.Container:new({
      name = "zgui.leftart.back",
      x = 0, y = 0,
      width = "100%",
      height = "100%",     
    	zgui.leftart.artwork = Geyser.Label:new({
    	 name = "zgui.leftart.artwork",
    	 x = 0, y = 0,
    	 width = "100%", height = "100%",
     zgui.leftart.window:setTitle("Left Artwork","gray")
  • Hey @Zulah,

    I can't find a good way to implement gcmp add and removeplayer to show on the players container. Problem I have is the list doesn't update unless I mabually look, which is a bit tricky when I'm trying to keep an eye on who's in abd out. Got any idea how I can implement that smartly?

  • @Dominius  implement gcmp add and removeplayer to show on the players container. Problem I have is the list doesn't update unless I mabually look,

    You should be getting it direct from gmcp updates unless something like the person is hiding their entrance/exit and you don't have lifevision.

    registerAnonymousEventHandler("gmcp.Room.Players", "zgui.showRoomPlayers")
    registerAnonymousEventHandler("gmcp.Room.AddPlayer", "zgui.roomPlayersAdd")
    registerAnonymousEventHandler("gmcp.Room.RemovePlayer", "zgui.roomPlayersRemove")
  • Updated to 4.0! You'll notice the download link changed on the first page but here it is again if you don't want to scroll back:

    Download Page:

    Several Major new features other than switching to github.

    • zhelp - a new settings window
    • Health Bars
    • Mana Bars
    • Ship health/sails bars
    • Ship wind speed/direction
    • Battlerage clickable buttons (auto update on class change)
    • window layouts, save and load
    • auto saves as default layout on logout
    • toggleable darkmode
    • gmcp.Char.Vitals.charstats window
    • Click to open Mudlet Map Explorer as seen here:
    • Wilderness Coordinates


  • Updated the "zhelp" menu. More compact and easier to select from

  • So I am trying to use the Ship info box but nothing is copying to the box. I made myself captain so all of the information is populating in my prompt but it isn't updating the window. I checked and I am not getting any errors.

  • KresslackKresslack Florida, United States

    @Rathlor I was advised that Ship Prompt has to be set to Cryptic for this to work.

  • KresslackKresslack Florida, United States

    @Zulah the Save Layout menu doesn't seem to be responding.

  • KresslackKresslack Florida, United States

    I'm really digging this though. Very sleek, customizable, and the dark mode just brings it all together nicely. My new default setup with everything I need. Thank you for putting this together and making it available to the community.

  • edited August 2021

    Any way to disable the affliction display messages? I have my own GMCP aff tracking that does the exact same thing, causing every gain/loss of afflictions to hit me with a double message

    Commenting the display lines out in the relevant scripts worked for one session, but I don't feel like doing that every session. I could disable it with a script on login, but would that throw any error messages (I don't actively use the aff display).

  • @Big Papa Jomi config universalafflictionmessages off

    Jumpy said:
    The membership is already such a good deal that there is no way we can reduce the cost. 

  • edited August 2021

    No this is what I mean, they both fire off of GMCP. One I've always had, the other is from the zGUI

    It wouldn't be an issue if I could edit zGUI's to look how I want, but I can't.

  • KresslackKresslack Florida, United States

    Would be great to maybe have a Deathsight window.

  • Has anyone run into this not tracking AK afflictions?

    Also, has anyone made the wsys balance tracking for svof?

  • I recently Setup a new profile abd for no apparent reason the mapper on this and my old profile doesn't update when I am walking or gliding in the wilderness until I manually 'look'. Any ideas on where I can look to find this? As far as I can tell the mapper updates on every room gmcp

  • @Dominius The mudlet mapper won't update when you're in the wilderness because it doesn't work for wilderness maps. I don't use this GUI, but if it has a wilderness map built in and you mean that, you'll probably need to CONFIG MAPSHOW ON or CONFIG MAPSHOW WILDERNESS.

  • Well that was easy.

    And I love you.

  • Is it possible to get this working in Mudlet 4.8.2? I have other scripts that I use that require me not to update any further. Just checking because as of right now I can get windows to load, move them around, but nothing so far is loading for Chat and Map into the window panes.

  • Okay, I was able to get everything working in Mudlet 4.10.1. LOVE this system.

    One outstanding question, because I have tried everything I can think of here, and what I have seen previously mentioned.

    When I set a "lockstyle" to full, I am unable to change it out of it, so I cannot move anything anymore. I have tried ZFIX, ZSHOW, Uninstalling the mpackage and reinstalling it(kept settings, kinda nice, but did not help here.). Any ideas on how to fix this? I cannot seem to right click on it anymore either to change lockstyle.

    1. Nevermind! directly from the command line, as stated in an above comment, lua zgui.roomitems.window:unlockContainer() unlocked it for me!

Sign In or Register to comment.