Switching from Nexus to Mudlet

JesstinJesstin Member Posts: 9
I'm looking to switch from Nexus to Mudlet. I really like the setup of Nexus with the main events window, map window, quest window and chat window.

I have absolutely zero knowledge of LUA though, which makes this a rough transition. Are there any coding tutorials or guides out there? A crash course in how to set up separate windows would also be greatly appreciated.

Thanks!

Comments

  • GaltGalt Member, Beta Testers Posts: 152 ✭✭✭
    Mudlet basics: https://www.mudlet.org/media/

    The framework Mudlet uses for UI stuff: https://wiki.mudlet.org/w/Manual:Geyser

    This is the lua tutorial site Mudlet recommends, which is also great: http://lua-users.org/wiki/TutorialDirectory


    Jesstin
  • JesstinJesstin Member Posts: 9
    Galt said:
    Mudlet basics: https://www.mudlet.org/media/

    The framework Mudlet uses for UI stuff: https://wiki.mudlet.org/w/Manual:Geyser

    This is the lua tutorial site Mudlet recommends, which is also great: http://lua-users.org/wiki/TutorialDirectory


    Thanks so much!
  • VadiVadi Member Posts: 30 ✭✭
    I'd like to add https://wiki.mudlet.org/w/Manual:Introduction to the list too

  • WyllWyll Member Posts: 296 ✭✭✭
    I actually made a basic profile for 'newbies' to Mudlet for Imperian, but it's pretty IRE agnostic. I can share it with you if you'd like. So far I have @Pha using it and she seems to do okay.

    I packaged Demonnic's chat capture in it, and it has a map capture too right above the chat capture window. Basic targetting and some basic travel aliases. There is also a sharding script and a fishing script included. Let me know if you're interested.
    You say, "Oh crap."
    You say, "My bottle is empty."
    Jeremy raises an eyebrow questioningly.
    Jeremy slaps you on the cheek.
  • AnetteAnette Member Posts: 789 ✭✭✭
    My system is freely available under the GNU AGPL but its currently "under construction" when it comes to stuff, in the middle of rebuilding the UI to work across multiple muds seamlessly.
    image
    Cassius
  • DimitriDimitri Somewhere coldMember Posts: 249 ✭✭✭
    This prompted me to look at the gmcp to see if there's something i can harness there for added functionality. I might be a little out of my depth here lol
  • AnetteAnette Member Posts: 789 ✭✭✭
    edited October 19
    It's actually really easy to get the basics out of GMCP in mudlet.

    GCMP.vitals and GMCP.stat  have a lot of information in them that are really useful.  I don't even use a prompt on Ana anymore, I just scrape the information from GMCP

    The formal commit stuff for the inventory and affs/defs is unreliable though, unfortunately.

    [edit]: I'm working on some code like this for Aetolia, so as an example:
    Vitals = gmcp.Char.Vitals
    Status = gmcp.Char.Status
    	 
    Character.Vitals.Name     = Status.name
    Character.Vitals.FullName = Status.fullname
    Character.Vitals.Sex      = Status.gender
     
    Character.Vitals.HP     = Vitals.hp
    Character.Vitals.HP_max = Vitals.maxhp
    Character.Vitals.MP     = Vitals.mp
    Character.Vitals.MP_max = Vitals.maxmp
    	 
    Character.Vitals.Endurance     = Vitals.ep
    Character.Vitals.Endurance_max = Vitals.maxep
    Character.Vitals.Willpower     = Vitals.wp
    Character.Vitals.Willpower_max = Vitals.maxwp


    image
  • PhaPha Member Posts: 14
    Nexus is great! 

    Wyll's newbie stuff is also great! 
  • DimitriDimitri Somewhere coldMember Posts: 249 ✭✭✭
    I'm actually going for the big cheese and trying to use the affs add/remove gmcp, i'm not worried about my stats for the time being. I'm currently running into a hurdle where i can't seem to get it to acknowledge afflictions. I assumed if i could do gmcp.Char.Vitals.hp that i could do gmcp.Char.Afflictions.List.name and achieve a similar result because i suddenly realised the periods between the words are basically the equivalent of / in file directories. I'm guessing gmcp can't go past the { } s?
  • AnetteAnette Member Posts: 789 ✭✭✭
    edited October 20
    You'll have to do string processing on the lines like that.  They're basically json, which is a format for holding data.  

    So for instance for the cache in Aetolia:
      IRE = {
        Rift = {
          Change = {
            desc = "stone",
            name = "stone",
            amount = "40"
          }
        }
      }

    This means that IRE.Rift.Change will equal  '{desc = "stone", name = "stone", amount = "40" }'

    You can split this out to the three subordinate variables if you want with one of Mudlet's utility functions: yajl.to_value(data)  see here: https://wiki.mudlet.org/w/Manual:Miscellaneous_Functions#yajl.to_value

    This will create a table something like

    [tablename].desc = "stone"
    [tablename].name = "stone"
    [tablename].amount = "40"

    So for addition/removals you might want to shunt the json stuff into a temporary table, and then add or remove afflictions as you received them.
    image
  • CassiusCassius Member, Beta Testers Posts: 607 ✭✭✭
    Mudlet reads them all directly to table form. You don’t need to parse it as json. 
    VadiDimitri
  • EoghanEoghan Member, Immortal Posts: 815 mod
    Dec said:
    The biggest misconception about GMCP is that the *.List commands are regularly sent.  They are not.  When you get a new affliction, you get a Char.Afflictions.Add message.  When you lose an affliction, you get a Char.Afflictions.Remove message.  It's up to you to keep track of the full list of afflictions. Pretty much the only time you get a Char.Afflictions.List is when you use DIAGNOSE on yourself.

    Like what we're doing? Why not take a second to vote? Vote for Imperian at http://www.imperian.com/vote
    AodanDimitri
Sign In or Register to comment.