Mudlet 4.9+ GUI

edited June 2021 in Tech Support
Updated GUI to work with the newest adjustable window/userwindow additions. With these additions you can put a window in the center of your screen and lock it there if you wanted. Not sure why... but you could!
This is a suite of prebuilt movable, resizable, saveable, style-able, generally able individual windows.

Right click on the menu bar area of any window to bring up the window options.

Double Click the area I've highlighted blue in this picture to switch the window back and forth from a userwindow to an adjustable window

If and WHEN you lose a window and can't find it. use zshow

4 Aliases: ZSHOW and ZSTYLE being the most important:
  1. zgui - refreshes the entire gui. Should never need but included.
  2. zguis - Open this alias and change the font sizes you want to use for each window, Then run the alias to update
  3. zshow - Show a window you've closed or can no longer find for some reason.
  4. zstyle - Change the look of the gui, colors, borders, etc

Current Included Windows:
  1. Chat
  2. Map
  3. Ocean Map
  4. Wilderness Map (Working this time I promise)
  5. Balances (Requires WSYS. This just shows wsys curing balances)
  6. Logger
  7. Prompt window
  8. Gold tracker (Icarius version)
  9. Allies
  10. Enemies
  11. Defences
  12. Afflictions
  13. AffLock (shows the main locking afflictions)
  14. Target Afflictions (Requires AK opponent tracking to function)
  15. Players in Room
  16. Denizens in Room
  17. Items in Room
  18. Target List (If you have a list of targets this window is available and setup)




  • Startup and setup tip: Close all the windows. Start with one window at a time:
    zshow chat
    Move it where you want, save it. Move to the next zshow
    play with styles AFTER you save your window locations or they will go back to last saved (default)
  • This is glorious.

    A few generalizations here and there and this UI could be used for any mud that supports gmcp or even msdp. Make a basic foundational .mpackage of things that're in basically every mud, add the specific doodads as required, voila, you've got a fully functional UI that's exactly how you like it in minutes, even if you're not super savvy.

    Thanks so much! 
  • edited October 2020
    In the script: EDIT ME: Startup Main

    You can choose to remove windows from ever showing or add more windows.

    I have an extra sailing module for my own system with healthbars for ships hull/sails and some extra sailing info:
    if not table.contains(zgui.modules, "buildShipSystem") then table.insert(zgui.modules, "buildShipSystem") end

    I don't much care for the prompt myself so I removed it completely by adding -- to comment out the line in this same script:
    --if not table.contains(zgui.modules, "buildPrompt") then table.insert(zgui.modules, "buildPrompt") end

  • I swear it isn't my birthday today...
  • Fixed an error with the wsys balances module not reading because of some odd class balances
  • edited October 2020
    Added a minor update to the alias: ZGUI

    zgui will now unload all modules, turn off the gui, reload all modules, restart the gui.

    This is helpful if you decided to remove or add windows and don't want to restart mudlet.
    Example: If you -- out a module as I mentioned in my previous post, using the zgui alias will now remove that module without restart.

    If you've already download and you do not want to download and setup again (it will save your setup even if you remove it and add it back in later)
    You can edit your own zgui alias to look like this:

    Alias: (ZGUI)

    zgui.modules = {}
    zgui.running = false

  • edited October 2020
    Super cool gui, having a slight issue. I set the lockstyle on the windows to "border" and I'm not able to resize them. Is there a lockstyle I gotta choose to make it resizable?

    Edit: Nevermind, I hit the Lock button and it totally worked. My bad!
  • When you "lock" something you're in effect saying "Don't allow this window to move again!"

    Sometimes you will set the lockstyle to FULL and then you can't ever get the window back?
    ZSHOW <window>
    Will unlock it back to the last saved position.
  • Update:

    @Dalran found forests missing from the wilderness maps. Updated and fixed, or if you like editing your own. Only one set of triggers was changed to include the forests: |

    Triggers are both called: Catch All
    ^[ wnmjSIMXWYx',;#=@~%!\.\^\|\*\?\+\(]+$

  • KresslackKresslack Florida, United States
    @Zulah is there a way to fully reset things to default? The mapper window for me is stuck in some weird setting. Here's a clip:

    I've even tried uninstalling the package, restarting Mudlet, and reinstalling it, but same result.

  • @Kresslack I'll get something put in to clear it. For now you can type:
    lua = Adjustable.Container:new({name="", autoLoad=false})
    Save the window immediately after, then zshow it again.

    That will create the window in an empty default state until you do anything with it, then it will go back to last saved. So be sure to save.
  • Updated with a new alias: ZFIX

    When used on it's own it will show the names of all the adjustable windows. When run with the name of the window it will set it to default.
    Example: zfix map

  • KresslackKresslack Florida, United States
    Just about got this set up the way I want it. Is there a way, when a window accidentally gets double-clicked, to revert it back to the first adjustable state? I'll go to adjust the border on a window or save it or whatever when right clicking, and it will convert it to the window bar version and at that point I have to close mudlet and restart and try again.

  • Double Click the area I've highlighted blue in this picture to switch the window back and forth from a userwindow to an adjustable window

  • KresslackKresslack Florida, United States
    Zulah said:

    Double Click the area I've highlighted blue in this picture to switch the window back and forth from a userwindow to an adjustable window

    Sweet! Thank you, back in business!

  • KresslackKresslack Florida, United States
    So here is the setup I'm trying out and seem to really like. Once you know the quirks and tricks this thing is amazingly versatile, and the fact that I could actually drag any of these to my other monitor if I wanted is just icing on the cake. Thanks for throwing this together, @Zulah .

  • edited November 2020
    Updated with some new features and with 4.10 functionality

    1. changed to
    2. zgui.buildWild() changed to zgui.buildMap()
    3. TarAffs now automatically works if ak exists
    4. Death Cape Bar/Timer(Does not build unless trigger fires or manually turned on)
    5. Experience Bar
    6. Chat Has it's OWN command line. So you can have a usable chat on it's own screen

  • Another image to show the requested experience bar and deathcape bar/timer:

  • The gmcp Affliction tracking is the same affliction tracking code used in dozens of systems (I wasn't the original writer of that) so for the purposes of zGUI it has been moved into the zgui. namespace to prevent a few players issues where you already had self gmcp affliction tracking
  • edited November 2020
    Updated new features:

    Chat is now completely triggerless thanks to @Saonji

    A new alias: zchat

    Will turn the chat window command line on and off.
    When activated several chat channels will have their own command line on the bottom to type directly into that chat. You do NOT have to type: pt/ot/ht/hnt/ct/market you can simply click on the channel and type directly.
    The ALL channel command line is the same as the main command line. You can enter any commands in here: clt hello / pt hello / clan switch clt4

    Screenshot Example of Chat:

  • edited November 2020
    Minor update. Typo in zgui.AffDiag() fixed. Thanks @Katalyst

  • Slowly trying to transition to this new zGUI from the Jor'mox one. I do have one question, how do you get the main window somewhere in the middle like in some of your examples as opposed to just being on the left?
  • @Jakiro attach a window to the left side, that will give you some left side border options. Borders are defined by windows attached to them. To attach a window to a side it needs to be near that side.
  • I really like this, and can set up my gui exactly like I want it. I rightclick the top of each windowpart and click save. But next time I open mudlet and login - everything is reset. What am I doing wrong?
  • I really like this, and can set up my gui exactly like I want it. I rightclick the top of each windowpart and click save. But next time I open mudlet and login - everything is reset. What am I doing wrong?

    I think there is a save thing in the right click menu

  • Aye, Im doing that on each of the windows. Also tried locking before saving. Still same behaviour.

  • Yeah, well you're probably being overrun by all the windows everytime. You can go into the code where the GUI initializes and change it there, that way only those you locked and saved should show up.

  • 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?

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

Sign In or Register to comment.