demonnic's Mudlet stuff

edited October 2020 in Mechanic's Corner
Wow, it's been some time since I was here. Started a new char, and I realized there are a -lot- of things I've written for Mudlet which I've only really announced on the Mudlet discord or forums. So I thought I'd maybe make a post here with a list of things I've put out since I was active here.

Chiefly, there's the MDK, which is designed for other script developers to be able to embed one or more of my 'libraries' in their Mudlet package and not worry about if some other package has overwritten it in the global space. Within, it contains the following classes/modules. I'll put a link to the separate project if it's got its own mudlet package, but the MDK gets updates first and then I work on the individual packages as time permits:

* Chyron: Creates a scrolling text ticket label, similar to the scrolling text on news channels and the like (which are called chyrons, hence the name)

* EMCO: https://github.com/demonnic/EMCO/wiki Embeddable Multi Console Object. This creates a tabbed miniconsole object useful for things like tabbed chat, grouped info tabs, etc. Based largely on YATCO but follows the Geyser pattern

* gradientmaker: This is based on Sylphas' post here https://forums.lusternia.com/discussion/3261/anyone-want-text-gradients but I added memoization and support for hecho.

* fText: https://github.com/demonnic/fText/wiki I had done a series of alignment scripts back then, but it's become a bit more since then, including a formatting object which remembers your formatting options for reuse, and a TableMaker for laying out text labels, with links if you like. Useful for clickable inventories or configuration menus.

* SortBox: Like a Geyser V or Hbox, but it can also sort itself and resize to fit its contents if you like. Useful for keeping a list of TimerGauges for defenses or balances, but you want to sort them by the ones that are expiring soonest (ascending or descending)

* Self Updating Gauges (SUG): Just what it says, take the name of the current and max variables as strings ("gmcp.Char.Vitals.hp") and updates itself on a timer based on the contents of those variables.

* TextFormatter: an object which holds an fText configuration for ease of reuse. Included in the standalone fText package, and requires fText if you're using it out of the MDK

* TableMaker: Object which outputs a formatted table of text using TextFormatter/fText. Can take functions which return strings for dynamic content, and can include links or popups with right-click menus. demo: 


* TextGauges: text based gauges for use with c/d/hecho on miniconsoles. For those who want that old-school ANSI text look

* TimerGauge: Like my old animated timers package, but each one is its own Geyser object. Essentially you start it with X amount of time on it and it will visually empty as the time goes by. Works great with a SortBox, and the sortbox example above uses them.

* LuaUnit: I ported LuaUnit for use with Mudlet, so you can write unit tests for your Mudlet scripts. Though I think I'm the only one who takes it quite that far. Video demo:


There's also iGauges, which only has an individual release. They use qgradients and semi-transparent overlays to achieve different visual gauge styles. Examples in the forum post: https://forums.mudlet.org/viewtopic.php?f=6&t=22779

And the Mudlet Map Reader/Explorer, which exports your Mudlet map in such a way you can browse it in your web browser. Pics in the forum post: https://forums.mudlet.org/viewtopic.php?f=6&t=22915. You unzip this file and open the index.html file contained within to browse Lusternia's crowd map as exported earlier today if you wanna give it a try. Includes keypad navigation, clickable exits in the room information box, and more. Originally written by someone else who gave me permission to make it generic rather than specific to their game.



And finally, I wrote a build tool for taking json and lua files and assembling them into a Mudlet mpackage. I called it muddler and there's more information at https://github.com/demonnic/muddler/wiki . This makes it easier to do your Mudlet development in the IDE of your choice but still create first class Mudlet objects as though you'd edited it in Mudlet. Video presentatio:


I think that's most of it, at least. You can look over most of my stuff in my github at https://github.com/demonnic.

Comments

  • QuixoteQuixote Manchester, UK
    I can definitely vouch for the work and improvements that have gone into these functions. Outpost uses a lot of them for its functionality. If you want your life making easier by a very experienced and helpful developer, you need these scripts!

    Thanks, @demonnic!
  • This is insane. Thank you so much for sharing!
     "Oh the year was 453CE, how I wish I was in Serenwilde now... aletter of marque come from the regent to the scummiest aethership I ever seen, gods damn them all...I was told we'd cruise the void for auronidion and dust, we'd fire no turrets, shed no tears.. now I'm a broken man on a Hallifax tier, the last of Saz's privateers."

    -Kilian
  • Happy to share it, I hardly get to use any of it myself honestly. I spend way more time writing code for other people to MUD than I do MUDding myself the past several years. Feel free to add feature requests to anything on its github page too. I just added some stuff to EMCO for Quixote up there, so it does happen. heh
Sign In or Register to comment.