KaiUI: An extensible Lusternia GUI for Mudlet

KaiKai Member Posts: 18 Inept
edited August 12 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
Post edited by Kai on
Tagged:

Comments

  • AruokeiAruokei Member Posts: 43 Apprentice
    Does it have damageman
  • KaiKai Member Posts: 18 Inept
    No, but you could make one and add it to its own tab pretty easily.
  • KaiKai Member Posts: 18 Inept
    Smol update: Noticed and corrected a couple placement issues. Screenshot updated to reflect changes, download link is the same.
  • KaiKai Member Posts: 18 Inept
    Update: Fixed a problem with Info Here/People Here not updating correctly. Download link is unchanged.
  • KaiKai Member Posts: 18 Inept
    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 Member Posts: 18 Inept
    edited August 23
    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 Member Posts: 18 Inept
    edited August 25
    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")
    
  • AruokeiAruokei Member Posts: 43 Apprentice
    No damageman
  • KaiKai Member Posts: 18 Inept
    Fixed a bug with the previous update, adding UI elements as described will actually work now. Whoops.
  • DaraiusDaraius Shevat The juror's taco spotMember Posts: 4,619 Transcendent
    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 spotMember Posts: 4,619 Transcendent
    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."
  • KaiKai Member Posts: 18 Inept
    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 Member Posts: 18 Inept
    edited October 13
    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 spotMember Posts: 4,619 Transcendent
    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."
  • KaiKai Member Posts: 18 Inept
    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.
  • KaiKai Member Posts: 18 Inept
    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.
Sign In or Register to comment.