Standalone NameDB

FalaeronFalaeron Jolteon
edited May 2017 in Mechanic's Corner
NOTE: THIS PACKAGE CAN BE CONSIDERED TO BE IN BETA. IT IS VERY POSSIBLE THAT IT WILL BREAK SOME THINGS FOR YOU. YOU HAVE BEEN WARNED.

So you have likely heard by now that server-side curing will be a thing soon(tm) and around that time Shuyin will no longer be updating mmf. It is unlikely that anyone else will pick up the bulk of the development of the system. While curing is why most people install mmf, there are a few other very handy packages such as the NameDB that many of us use regularly. However, the NameDB that comes with mmf is very much dependent on also having mmf installed so will not be able to use it without also keeping some of the core functionality of mmf. As such, I set out to adapt the package to work on its own. I imagine many of you are also wondering what you can do to keep using the ndb after mmf is no longer updated, so I decided to share it with everyone.

Please note that I primarily wrote this for myself and while I did ask around to see what things people used, I did strip out most of the things that I didn't ever see a need for. It also no longer uses honours at all to get any information and relies entirely on the Lusternia api. If you ever used the stuff like the notes then I'm afraid you'll be out of luck here. The primary function is really just to keep track of what org people belong to and highlight accordingly. 

The list of api functions I ported over are: isglom, ismag, iscelest, ishalli, isgaudi, isseren, exists/isperson, getname, isenemy*, isorgenemy*, getnamebytitle, findname, findnames, getpluralorg, getcolor*, getcolorp*

*I changed how isenemy, isorgenemy, getcolor and getcolorp worked a bit to make more sense for myself. They still work for the scripts I put them into so hopefully they work for you too.

Download:
https://www.dropbox.com/s/2xb1kyvc1u7d1pj/NameDB.zip?dl=1

Installation instructions:
1a. If you are using mmf: go through the triggers, aliases and scripts and disable/delete the NameDB folders. This step is very important and you will need to do this every time you update mmf
1b. If you are not using mmf: ensure your profile has gmcp turned on.
2. Restart the profile.
3. Install the package through the package manager.
4. Restart the profile again.

The alias ndbc is more or less what mmconfig politics used to do.

To-do:
-Fix bugs that are certain to exist
-Do stuff with guilds. Maybe show them in CWHO.
-Other things that I wanted to do but forgot about at this time

Credits:
-Vadi for the original ndb which I stole a lot of the stuff from.
-All the contributors who have helped upkeep mmf in general.

Comments

  • I like mmf for a lot of utility things, such as the ndb, the do function, and just general qol stuff like user-friendly plist. So I'm very grateful for alternatives if mmf is going to be dropped. Does anyone know if a standalone do script exists, or is in the works?
  • XenthosXenthos Shadow Lord
    Why not just... keep MMF, if you want all the features of it?  Disable curing, keep all the other things you like.  Trying to patch together a bunch of standalone projects seems like more effort.

    MMF is open source, so anyone who wants to can still "update it," just not going to need someone to keep adding lines / adjusting cures / fixing things.

    Standalone scripts are great if you only want a couple of things and do not want the bloat of the entire package, but if you want everything in that package (sans curing) seems like you might as well stick with it...

    It is not like it is suddenly going to Just Stop Working.

    Guess I'm a bit confused by your question, Kerith.
    image
  • I didn't know it was possible to disabled curing in it. Yes, I'm dumb.

    I don't know how to script much beyond the very basics, myself. That's why I'm grateful other people are doing these things.
  • XenthosXenthos Shadow Lord
    Disclosure: I do not use MMF, but I know it has a lot of toggles.  If it does not currently have a disable all switch, I am pretty confident that it will (so everyone else using it does not find themselves with a system competing with SSC).

    Standalone scripts are (again) great for someone who wants completely different behaviour, who does not want the full package, or who wants to test something that might potentially get merged later.  The sense I am getting from Falmiis here is that this is the former (wants something he can customize to his preferences entirely without breaking the existing for all MMF users).

    Theoretically when it is no longer a beta it could be merged in for all users, but that would be entirely up to him.  And if not, you can use his as an override to MMF's default if you like it more-- which may be a compelling reason to leave it separate, giving users that choice.
    image
  • Falaeron said:
    While you could theoretically disable curing entirely, you're going to have to jump through many hoops to do it and there is no guarantee that it will actually work. To be honest, mmf is a giant mess with a lot of the core functionality hidden away across multiple source files (likely due to its closed source beginnings) that the average player would probably have no idea how to change. A lot of the other things that people often use like the do system are still very tightly coupled with the curing system. From a coder's point of view, mmf comes with a lot of code bloat that will no longer be necessary so I don't see why the end goal wouldn't be to drop mmf completely.
    This was the impression I got, but since I don't know much about coding, I thought I must be wrong. Thanks for clearing it up. :)
  • FalaeronFalaeron Jolteon
    Changed the download link. Fixed Celestian names and also added a trigger to save configs on qq.
  • edited May 2017
    It's pretty easy to diable curing in MM.

    just do mmignore afflictionname.
  • Sure. Feel free to mmignore every single affliction and every stage of every condition mmf treats as an affliction alongside removing the vital curing and praying that the processes don't interact with anything else.
    (I'm the mom of Hallifax btw, so if you are in Hallifax please call me mom.)

    == Professional Girl Gamer == 
    Yes I play games
    Yes I'm a girl
    get over it
  • Actually... that might be a good temporary hack, if nothing else. I have a bunch of my own personal code tied to mmf variables and events, and doing a total migration immediately upon SSC won't be feasible (it'll probably take a whole dedicated weekend for me just to pull my own personal scripts out of mmf). I could make a new profile and slowly port my scripts over for SSC-only, but in the meantime, I could probably cobble together a loop to mmignore or unignore every aff in the database as a toggle, and get the best of SSC and my mmf dependent scripts, too. If it crashes a bit during the transition period while I port things over, well, gotta deal with that bit of risk, at least. The alternative would be to use SSC but make do without my scripts until I'm done porting them over, or staying tied to an increasingly outdated mmf while I port my scripts over. Thanks for the idea, Veyils - the transition period was actually worrying me somewhat.

    And you never know, it might work well enough to be a semi-permanent solution. Of course, SSC implementation is a great opportunity to do some cleaning up of my profile and scripts, and rewrite some badly written, oldcode from years ago. It's overdue for spring cleaning.

  • FalaeronFalaeron Jolteon
    Yeah I'm using it as an excuse to clean up a lot of my code. Next up I'll probably be working on a defence management system.
  • I did a little test with mm with everything ignored. Seems to work alright.

    I figure I'll want to test the server side curing when it comes out asap but from the looks of it the defense thing will be needed.

    Also I know it may sound a pain to ignore every affliction but well it took me 5 mins to make a note pad with copy paste. When I'm home form work I'll list it on paste bin so folks can use it in the transtion period if they want to keep the full mm but turn off curing.

    Seperating it in the long run seems a good idea but for now while were working out the server side curing, same as anything it may not work right from the get go so I like the idea of having an alias to turn the mm curing on and off to cover stuff in the in between time.
  • As a note doing mmignore just stops the system from trying to cure the affliction it still tracks it and such which is actually quite a handy function if your doing checks yourself.

    Like I know I have a if attraction function in some of my movement stuff so they'll potentially still be a want or a need for folks to track afflictions system side. Not sure because well we dont know how server side curing is going to work exactly so just guessing.
  • Ten points to the one guy who figured out that the ignore function actually works, shock and horror  :D
  • @Falaeron haven't had a chance to look at the standalone version, but it's great to see people still working on this! Consider putting it up on Github for easier collaboration.
  • edited May 2017
    Vadi said:
    Ten points to the one guy who figured out that the ignore function actually works, shock and horror  :D
    Ten points to the one guy who can tell laypeople about one of the thousand features of a complicated system without being sarcastic, condescending, and snarky.
  • edited May 2017
    Gotta add an edit, apologies I came across that way! Was just poking a bit of fun, humour didn't come across well. Take it easy!
  • FalaeronFalaeron Jolteon
    Somehow some scripts got lost in the export of the last version. I've uploaded another version that also fixes rogues and a few other things.
  • If anyone runs into any bugs in my QoL scripts when using this instead of mmf's db, please let me know so I can fix them!
Sign In or Register to comment.