KaiUI: An extensible Lusternia GUI for Mudlet

KaiKai
edited August 2019 in Mechanic's Corner


Introducing KaiUI, a GUI for Lusternia built upon Jor'Mox's Drag and Drop UI framework (aka GUIframe).
Depends upon m&mf, which MUST be installed first, or KaiUI will throw errors and somewhere a kitten will cry.

Features:
Customizable - Thanks to GUIframe, any UI element can be resized dynamically and most can be right-clicked and dragged freely around the screen.
Extensible - Once again thanks to GUIframe, adding new UI elements is a rather simple process.
Highlights - Player names highlighted in Players Here and Chat courtesy of vadi's namedb. Info Here highlighted by type, additionally targets counted and highlighted red.
Efficient - KaiUI is built to be fast. Even in fast-paced group combat scenarios, script lag is negligible.

Included aliases:
x|x <target> - example targeting alias, use as-is or make your own targeting reference target.name
kunlock - unlocks UI elements, 4 semitransparent blue arrows will appear on screen, right click and drag to resize UI elements
klock - locks UI elements and saves placements to an external file
reset crits - resets crit counter to 0 crits/0 hits

Known issues:
 - Occasionally on package install/mudlet startup the UI will appear stacked in the upper left corner, resizing Mudlet fixes it.

Installation:
Simply download from Dropbox and install via Mudlet's package manager.
Note: Unless you happen to be Shofangi, the crit counter won't work out of the box. Add your bashing lines to the KaiUI > Hit Trigger trigger to use it.

As this is an initial release, there may be bugs. If you find an issue or have questions, feel free to contact me on the forums, on Discord (Cylon#2741), or send me a message/tell in game.

This wouldn't have happened without Jor'Mox, the wonderful people of Mudlet's discord server, and a special thanks to @Reylari and @Kali for inspiring large parts of this project. You're all fantastic <3

Comments

  • Does it have damageman
  • No, but you could make one and add it to its own tab pretty easily.
  • Smol update: Noticed and corrected a couple placement issues. Screenshot updated to reflect changes, download link is the same.
  • Update: Fixed a problem with Info Here/People Here not updating correctly. Download link is unchanged.
  • Update: KaiUI now explicitly enables the gmcp.Comm.Channel module in case Mudlet doesn't enable it by default for any reason. If chat isn't working for you, this should fix it.
  • KaiKai
    edited August 2019
    Big update!

    - KaiUI is NO LONGER DEPENDENT UPON MMF! It will still take advantage of ndb for name highlighting if it's present, but should work just fine standalone too.

    - Now detects when a command chair is locked, and automatically replaces the mudlet mapper with the aethermap.

    - Some minor formatting and positioning fixes that may or may not affect you.

    - Maybe finally tracked down the chat bug for real this time?
  • KaiKai
    edited August 2019
    Smol update, and probably the last for a while.

    - KaiUI now raises an event when the UI is built, "KaiUI built". This can be used to add new elements, like so:
    function buildMyUIElement()
      myUIContainer = Geyser.Container:new({name = "Container", height = 0, width = 0})
      GUIframe.addWindow(myUIContainer, "Combat Info", "bottomleft")
    end
    
    registerAnonymousEventHandler("KaiUI built", "buildMyUIElement")
    
  • No damageman
  • Fixed a bug with the previous update, adding UI elements as described will actually work now. Whoops.
  • DaraiusDaraius Shevat The juror's taco spot
    I like this a lot, and it's really helped me ease back into Mudlet, but I have a few questions if you don't mind!

    1. Is there any place to adjust font size in all the windows, or do they have to be adjusted individually? It's just a little too small for my old eyes.

    2. When I load up Mudlet, the UI doesn't scale to the full window unless I minimize and restore it. Any idea what's up there?

    3. I'm interested in shifting my main display to the right a bit and expanding the width of the left hand tabs to fill the resulting space. Can you point me to what I need to tweak to do that? :/

    My coding prowess is a little hit or miss. I can usually figure things out given enough time but have to be pointed in the right direction. Thanks again!
    I used to make cakes.

    Estarra the Eternal says, "Give Shevat the floor please."
  • DaraiusDaraius Shevat The juror's taco spot
    Never mind number 2. I see that’s a known issue. Nbd!
    I used to make cakes.

    Estarra the Eternal says, "Give Shevat the floor please."
  • 1. Unfortunately they all need to be adjusted individually, I'm planning on adding configuration values that can be set for them in the next update. If you holler at me on Discord I can point you towards the lines to adjust in the meantime.

    2. This is supposed to be fixed in Mudlet 4.1

    3. Easy! Refer to the first post on how to resize UI elements, the main display will automatically fill the leftover space, so all you need to do is adjust the right side to be a bit smaller and the left side to be a bit bigger to shift the main display over.
  • KaiKai
    edited October 2019
    Been a while since I've messed with this, but I've finally gotten around to cooking up an update.

    - Improved aethermap capturing, it now works in any module.
    - Made target display simpler to use, updated example alias. Just call kaiUI.target(yourTargetVariable) in your target alias/function.
    - Organized the Info Here window, it's now sorted by objects and mobs.
    - Integrated vadi's CSSMan script.
    - Config options! There's an aptly named script with several configurable values, mostly colors and font sizes.
    - Tidied up scripts, hopefully not a complete nightmare to navigate anymore.

    As always, the dropbox link is the same.
  • DaraiusDaraius Shevat The juror's taco spot
    Is it safe to just uninstall the old package and install the new one? Or is there a more official way to update?
    I used to make cakes.

    Estarra the Eternal says, "Give Shevat the floor please."
  • Sneaky update to fix a bug with the Info Here display.

    @Daraius Yup, the correct way to update is to just uninstall the old package and install the new one.
  • Another small update, overhauled how the UI decides what a mob is, hopefully mobs that happen to actually be containers will count as mobs now.
  • edited April 2020
    The UI looks awesome, but I'm running into a bug where:
    - All the UI elements load fine at first
    - If I enter any kind of command (including just hitting 'enter'), all the UI elements go dark (ie it's just black space where the elements were)
    - If I alt+tab away then alt+tab back, the UI is there again
    - Entering any command again makes everything go dark

    I've also noticed the main Mudlet toolbar is now dark too (ie has a black background), and this isn't fixed when the UI is showing correctly.

    Am I doing something wrong? Haven't customized much other than font sizes in the settings file

    EDIT: After trying a clean profile, it seems like things start freaking out after I activate the crowdmap (`mconfig crowdmap true`). Tried uninstalling the mapper that I had by default, but still no go. Might try doing a clean reinstall of Mudlet next.
  • edited September 2020
    Howdy, love this UI. Didn't work for me on Mudlet latest (4.9.1 as of this post). Had to revert to 4.8.2 to get it working when I started out.
    Apparently it broke in Mudlet 4.9.0 and was ostensibly "fixed" in 4.9.1: https://github.com/Mudlet/Mudlet/issues/3902
    Legend user Edru2 over on Github has already started working on another Mudlet fix: https://github.com/Mudlet/Mudlet/pull/4078
    The workaround is to remove all width = 0 and height = 0 declarations in Geyser.Container:new calls. For convenience, I have exported a package with these workarounds included ( https://nextcloud.whitestrake.net/s/Q9dC85sD2GTGZK6 ), but there are only like 6 instances, it's fairly straightforward to do manually.
    Once the above Mudlet PR is finished and merged, the next version of Mudlet should work again with KaiUI unmodified from latest.
  • As of Mudlet latest at the time of this post (4.10.1), the above fix should no longer be required for full KaiUI functionality! (Doesn't hurt though - no need to go back to the original unless you want to.)
Sign In or Register to comment.