Montem System for Nexus - Now for all classes

MontemMontem Posts: 89Member ✭✭
Disclaimer: This is mostly so people can learn nexus, I don't plan on doing crazy support for this and I'm busy doing stuff so I might not always be around to help diagnose, but I'll try.  However, if you like the system feel free to tip Montem in game :)
I may or may not update this ever, but for those of you that are looking to code in Nexus, this should give you a good start.
This system is designed currently for Nanoseers (cause I am one), but you can look at the code and adopt it using the same principles I've used.

Instructions:
Use hsetup to setup the auto hunting.  It will build the lists and variables necessary to make the system work.
Relog.

Use hshow to see what's on the list. It comes with a bunch of stuff just from me hunting up to level 45ish.
Use hlist to switch between priority list and room list.
Use hbreak to stop after one kill or attack everything in the room till clear.
Use hheal to decide if you want to heal on cooldown if < 80% health. (This works for all classes BUT Nanoseer, sorry nanoseers)
Use h<class> (nanoseer, beast, scoundrel, engineer, fury) to see what variables you have active that are class specific.
Use hadd to add something to the list and hremove to remove something.
hup and hdown to move something up or down the list.
Use hsave to save a backup of your list and hload to load it.
Ctrl + = will enable or disable auto killing and targeting
numpad 0 will do the appropriate hunting attack.

Nanoseer stuff:
hmulti, hfreeze, hfrenzy, and hdelay will trigger auto attacks to use those attacks. You will need to enable these for the System to use them.

Fury stuff:
hberserk will use berserk when it can.
hfever will start combat with fever.
Period key (.) on numpad will start combat with inferno (be careful with this is hits everyone, including players, in room)

Beast stuff:
Just aliases: con: Contingency, oc Overclock.

Engineer stuff:
Nothing, engineer hunting is pretty simple

Scoundrel stuff:
hambush - enable use of ambush
hrapidfire - enable use of rapidfire
Alias rip - make ripper

Auto hunting goes in this order for Nanoseer:
Frenzy, delay, multi, freeze
It will reapply freeze when needed, but not delay, or frenzy.  It will reapply multi if the target health is above 40%.

This is not just a hunting system (although it mostly is at the moment), it also has some other nice things:
MSys.log will do a display_notice except will convert objects and arrays and display all items in it, similar to Mudlet thing.  (It's not quite as robust but it's okay)
MSys.alert(text, color, color) will do cool alert boxes similar to svo from mudlet.
js <code> will run javascript and send back the return value, similar to lua from mudlet.
c<direction> will crash whatever direction and turn auto off
There are some aliases for Spaceships in Spaceship folder
This also redirects some chat and stuff in the Generic - Chat folder, you might want to modify.
It'll add up the damage you do in a fight and tell you - more useful for group hunting to compare with others.
Check all the folders for other aliases.

I think that's pretty much it.  If things get wonky, like after you die just type onLoad in your command bar to reload the client.

Pastebin link to the google drive link cause forums: https://pastebin.com/q6AZYQXL
Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
PoetTelonosAureliusXiruWuffReeloc
«13

Comments

  • TelonosTelonos Posts: 3Member
    Thanks so much for posting this; I'm a complete novice to scripting in Nexus, so this helps tremendously (also it's made my low level bashing on my nanoseer a thousand times faster and less death-filled, because prior to using this I was doing everything manually. My pathetic human fingers couldn't keep up!)
    -||Ausaeus Aurazi||-
  • AureliusAurelius Posts: 467Administrator Starmourn staff
    This is fantastic, thank you! 
  • UltimaUltima Posts: 9Member
    This is exactly what I needed. I am used to Mudlet but decided to give nexus a try since I love the way everything is laid out. One quick question though. I keep getting the message 

    Error in Function [onGMCP]:

    ReferenceError: MSys is not defined

    How do you fix this?
  • MontemMontem Posts: 89Member ✭✭
    Ultima said:
    This is exactly what I needed. I am used to Mudlet but decided to give nexus a try since I love the way everything is laid out. One quick question though. I keep getting the message 

    Error in Function [onGMCP]:

    ReferenceError: MSys is not defined

    How do you fix this?
    When are you getting this? It says there's something wrong in the onGMCP function but I'm not sure what would cause it, as MSys should be global. 
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
  • PoetPoet Posts: 85Member ✭✭✭
    If you loaded up the system and didn't restart the game, type onLoad into the command line to set all the variables.
    [Cassandra]: Poet will be unsurprised to learn that she has unread news.
  • UltimaUltima Posts: 9Member
    Oh yep, restarting the game fixed it. Thanks!
    Poet
  • MontemMontem Posts: 89Member ✭✭
    Updated the system for all classes.  LIke I said before this is mostly for learning and should give you a good idea on how to do lots of things with Nexus.  System will auto-detect what class you are and enable the appropriate group.  Have fun!
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
    Traveler
  • CayneCayne Posts: 4Member
    I re-downloaded your package and it seems to be the same as your last one.
  • MontemMontem Posts: 89Member ✭✭
    No folders for each class?
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
  • CayneCayne Posts: 4Member
    Nope.

    Just in case, I removed the package, saved, closed the session, reopened, and reloaded the new package.

    I am still only seeing the Nanoseer folder.
  • MontemMontem Posts: 89Member ✭✭
    It appears I can no longer edit the original post...

    Try this link: https://pastebin.com/JGvJYsEi
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
    Cayne
  • tysandrtysandr Posts: 90Member ✭✭✭
    Pop it in your sig so you can just direct people to it in the future @Montem
    vote ∘ Explore Nexus mods for Starmourn & Achaeandb for Nexus

    Eoleva
  • MontemMontem Posts: 89Member ✭✭
    tysandr said:
    Pop it in your sig so you can just direct people to it in the future @Montem
    Good call, I've got it added.
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
    tysandrEoleva
  • CayneCayne Posts: 4Member
    That one works. Thanks  :)
    Eoleva
  • SairysSairys Posts: 226Member ✭✭✭
    Just trying it out with nano. Might have the wrong version but I ran a couple things.

    • The trigger for multistrike needed to be updated, it's the old one atm. This one seems to be fine for me ^The nanites disperse, no longer striking at (.*)\.$
    • Frenzy is set to false at the end of combat and multistrike isn't, reversing that has helped me out
    • The trigger for frenzy being on doesn't have the full line if it's already up, so it gets stuck if you've put frenzy up manually or if it's still up from your last fight. Changed to this and I seem to be good. ^A dark wave of madness rolls through your thoughts.*$|^You have already descended into a frenzy; to draw more of the Conquerer into your thoughts would utterly destroy your mind!$
    • hnano references rage not frenzy, leading to an "undefined" message when using it.

    Avatar by berserkerelf!
  • MontemMontem Posts: 89Member ✭✭
    Thanks for fixing it up. The nano stuff is the oldest at this point and I tried to add a few things without testing so I'm glad you got it figured out. 
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
    Sairys
  • MontemMontem Posts: 89Member ✭✭
    edited January 4
    Sairys said:
    Just trying it out with nano. Might have the wrong version but I ran a couple things.

    • The trigger for multistrike needed to be updated, it's the old one atm. This one seems to be fine for me ^The nanites disperse, no longer striking at (.*)\.$
    • Frenzy is set to false at the end of combat and multistrike isn't, reversing that has helped me out
    • The trigger for frenzy being on doesn't have the full line if it's already up, so it gets stuck if you've put frenzy up manually or if it's still up from your last fight. Changed to this and I seem to be good. ^A dark wave of madness rolls through your thoughts.*$|^You have already descended into a frenzy; to draw more of the Conquerer into your thoughts would utterly destroy your mind!$
    • hnano references rage not frenzy, leading to an "undefined" message when using it.

    Okay I updated all this in my current version so it'll all be in the next release. Thanks @Sairys.  New version is in signature.
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
    tysandrDoxsis
  • DoxsisDoxsis Posts: 4Member
    edited January 5
    How could i setup interrupts without breaking the system?

    I got a workaround working, but it isn't pretty at all. It also only seems to work about 70% of the time and I have no idea why.
  • MontemMontem Posts: 89Member ✭✭
    I don't have a lot of experience with the visual scripting but it looks like that should work.  The best solution would be to add it into the system itself, in the hunting attack.  My new update has this for Fury, but not any other class.  Maybe you could look at how I do it there and modify for best?
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
  • DoxsisDoxsis Posts: 4Member
    edited January 5
    @Montem

    Is it the Hfever Toggle alias and the Fever On trigger I should be replicating?
  • MontemMontem Posts: 89Member ✭✭
    It's the MSys.interrupt variable
    Part is in the fever on I believe. 
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
  • KidoKido Posts: 6Member
    Anybody else running into this? Stim will be able to go again but the system will sneak in 1-2 more attacks before actually stimming, which unfortunately can be deadly! Any ideas for fixes? Thanks! System is great otherwise



    You can again use a stim.
    ------------------ -- STIM READY -- ------------------
    You have recovered your balance.
    You: Gun Crackshot -> a vicious haerbist.
    A Rapidfire 1.0 piece kicks in your grip and an explosive noise cracks the air as you fire a shot at a vicious haerbist.
    Damage Dealt: 292 thermal
    Balance used: 2.50s.
    Nirrain has been brutally slain by a tentacle-finned hookmaw.
    A vicious haerbist quickly scratches you with his needle-like claws.
    You have recovered your balance.
    You: Gun Rapidfire -> a vicious haerbist.
    Placing your hand on the hammer of a Rapidfire 1.0 piece, you quickly fire off two shots at a vicious haerbist in rapid succession.
    Damage Dealt: 298 thermal
    Damage Dealt: 212 thermal
    Balance used: 3.50s.
    A vicious haerbist quickly scratches you with his needle-like claws.
    You have recovered your balance.
    You: Guile Stim.
    You jam a stim into your vein and healing nanites surge through your body.
    Balance used: 2.50s.
    Jumping on you, a vicious haerbist bites into your shoulder with his tiny but dangerous teeth.
    You have recovered your balance.
    You: Gun Crackshot -> a vicious haerbist.
    A Rapidfire 1.0 piece kicks in your grip and an explosive noise cracks the air as you fire a shot at a vicious haerbist.
    Damage Dealt: 296 thermal
    Balance used: 2.50s.
    You are again ready to dualshoot.
    You have recovered your balance.
    You: Gun Crackshot -> a vicious haerbist.
    A Rapidfire 1.0 piece kicks in your grip and an explosive noise cracks the air as you fire a shot at a vicious haerbist.
    Damage Dealt: 293 thermal
    Balance used: 2.50s.
    Jumping on you, a vicious haerbist bites into your shoulder with his tiny but dangerous teeth.
    You have recovered your balance.
    You: Gun Rapidfire -> a vicious haerbist.
    Placing your hand on the hammer of a Rapidfire 1.0 piece, you quickly fire off two shots at a vicious haerbist in rapid succession.
    Damage Dealt: 276 thermal
    Damage Dealt: 226 thermal
    Balance used: 3.50s.
    You can again use a stim.
    ------------------ -- STIM READY -- ------------------
    Jumping on you, a vicious haerbist bites into your shoulder with his tiny but dangerous teeth.
    You have recovered your balance.
    You: Gun Crackshot -> a vicious haerbist.
    A Rapidfire 1.0 piece kicks in your grip and an explosive noise cracks the air as you fire a shot at a vicious haerbist.
    Damage Dealt: 293 thermal
    [Mindsim]: Your gun is empty.
    Balance used: 2.50s.
    A vicious haerbist lashes out at you with sharp claws.
    You have recovered your balance.
    With a practiced shrug of one shoulder, your bandolier slides open, allowing you to snatch a handful of explosive putty and remove it deftly.
    Drawing your shoulder back, you fling a handful of explosive putty towards a vicious haerbist, and it flies end over end towards him with a timer on the side counting down the seconds.
    A handful of explosive putty explodes!
    As the explosive detonates, the force of its self-destruction punches past a vicious haerbist's defenses, wounding him.
    Damage Dealt: 257 impact
    You have slain a vicious haerbist.
    ------------------------------------ -- 3031 DAMAGE DONE THIS FIGHT. -- ------------------------------------















  • KidoKido Posts: 6Member
    Kido said:
    Anybody else running into this? Stim will be able to go again but the system will sneak in 1-2 more attacks before actually stimming, which unfortunately can be deadly! Any ideas for fixes? Thanks! System is great otherwise



    You can again use a stim.
    ------------------ -- STIM READY -- ------------------
    You have recovered your balance.
    You: Gun Crackshot -> a vicious haerbist.
    A Rapidfire 1.0 piece kicks in your grip and an explosive noise cracks the air as you fire a shot at a vicious haerbist.
    Damage Dealt: 292 thermal
    Balance used: 2.50s.
    Nirrain has been brutally slain by a tentacle-finned hookmaw.
    A vicious haerbist quickly scratches you with his needle-like claws.
    You have recovered your balance.
    You: Gun Rapidfire -> a vicious haerbist.
    Placing your hand on the hammer of a Rapidfire 1.0 piece, you quickly fire off two shots at a vicious haerbist in rapid succession.
    Damage Dealt: 298 thermal
    Damage Dealt: 212 thermal
    Balance used: 3.50s.
    A vicious haerbist quickly scratches you with his needle-like claws.
    You have recovered your balance.
    You: Guile Stim.
    You jam a stim into your vein and healing nanites surge through your body.
    Balance used: 2.50s.
    Jumping on you, a vicious haerbist bites into your shoulder with his tiny but dangerous teeth.
    You have recovered your balance.
    You: Gun Crackshot -> a vicious haerbist.
    A Rapidfire 1.0 piece kicks in your grip and an explosive noise cracks the air as you fire a shot at a vicious haerbist.
    Damage Dealt: 296 thermal
    Balance used: 2.50s.
    You are again ready to dualshoot.
    You have recovered your balance.
    You: Gun Crackshot -> a vicious haerbist.
    A Rapidfire 1.0 piece kicks in your grip and an explosive noise cracks the air as you fire a shot at a vicious haerbist.
    Damage Dealt: 293 thermal
    Balance used: 2.50s.
    Jumping on you, a vicious haerbist bites into your shoulder with his tiny but dangerous teeth.
    You have recovered your balance.
    You: Gun Rapidfire -> a vicious haerbist.
    Placing your hand on the hammer of a Rapidfire 1.0 piece, you quickly fire off two shots at a vicious haerbist in rapid succession.
    Damage Dealt: 276 thermal
    Damage Dealt: 226 thermal
    Balance used: 3.50s.
    You can again use a stim.
    ------------------ -- STIM READY -- ------------------
    Jumping on you, a vicious haerbist bites into your shoulder with his tiny but dangerous teeth.
    You have recovered your balance.
    You: Gun Crackshot -> a vicious haerbist.
    A Rapidfire 1.0 piece kicks in your grip and an explosive noise cracks the air as you fire a shot at a vicious haerbist.
    Damage Dealt: 293 thermal
    [Mindsim]: Your gun is empty.
    Balance used: 2.50s.
    A vicious haerbist lashes out at you with sharp claws.
    You have recovered your balance.
    With a practiced shrug of one shoulder, your bandolier slides open, allowing you to snatch a handful of explosive putty and remove it deftly.
    Drawing your shoulder back, you fling a handful of explosive putty towards a vicious haerbist, and it flies end over end towards him with a timer on the side counting down the seconds.
    A handful of explosive putty explodes!
    As the explosive detonates, the force of its self-destruction punches past a vicious haerbist's defenses, wounding him.
    Damage Dealt: 257 impact
    You have slain a vicious haerbist.
    ------------------------------------ -- 3031 DAMAGE DONE THIS FIGHT. -- ------------------------------------















    Temporarily patched this up by adding CQ and STIM to the trigger of when I can stim again!
  • MontemMontem Posts: 89Member ✭✭
    That'd do it.  It was checking when it queued the attack if it should heal probably.
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
  • VielarVielar Posts: 30Member ✭✭
    edited January 8
    Here's a quick check you can add to your healing ability ready again trigger (i.e.: "Your HUD indicates that you may use your life support system once again.") to queue up a heal if needed:
    var healthpercent = (MSys.health/MSys.maxHealth*100).toFixed(2);
    
    if (MSys.health/MSys.maxHealth < .8) {
        display_notice("Health: " + healthpercent + "% (" + MSys.health + "/"+ MSys.maxHealth + ") Queuing suit support", "white", "red")
        send_command("SUIT SUPPORT")
    } else
    {
        display_notice("Health: " + healthpercent + "% (" + MSys.health + "/"+ MSys.maxHealth + ") No need to heal", "white", "green")
    }
    Obviously change "SUIT SUPPORT" to your class healing ability, and change the .8 if you want a different healing threshold.

    It'll give you helpful color-coded echoes to let you know what's going on, too:




    Code's probably messy because I don't know what I'm doing, but it works :)
  • MichlistusMichlistus Posts: 28Member ✭✭
    Hi, I was looking over your system to sort of help further my knowledge of how Nexus works (and I'm learning JS at the same time - I come from a Python background) and I had a question. I am sort of confused how this works: MSys.(whatever).

    How did you turn your package name into a method that you can set variables with? Is this a function Nexus uses? So I could theoretically create a package called "EhdeSys" and set variables using: "EhdeSys.variable = value"?  That brings me to my second question: what is the difference between setting a variable with "EhdeSys.variable = value" and "set_variable("variable", "value")"?

    (sorry I don't know how to drop code blocks or screenshots on this forum)

    if (get_variable('matchList')) {
        MSys.matchList = false
        set_variable('matchList', false)
        MSys.log('Will match room listing', 'white')
    } else {
    MSys.matchList = true
        set_variable('matchList', true)
        MSys.log('Will match priority listing', 'white')
    }



  • MontemMontem Posts: 89Member ✭✭
    Check how MSys is set in the onload. That makes it a global object. Then I refer to the object in other places. That object is created when the game is launched, with it's default values. Set_variable and get_variable are Nexus specific functions that let you store variables that persist through closing and opening the game. I'm assuming they are stored on IRE servers or they are magic. 
    Download Montem System for Nexus Client - https://pastebin.com/MBEn7S0u
    Michlistus
  • PoetPoet Posts: 85Member ✭✭✭
    The set_ and get_ variables are just like the @ variables. If you click on the variables tab in settings you can see them. They can be referenced in JS with the get and set functions or by using the @ in the simplified scripting, or even typed in directly as @my_health or whatever.
    [Cassandra]: Poet will be unsurprised to learn that she has unread news.
    Michlistus
  • MichlistusMichlistus Posts: 28Member ✭✭
    Montem said:
    Check how MSys is set in the onload. That makes it a global object. Then I refer to the object in other places. That object is created when the game is launched, with it's default values. Set_variable and get_variable are Nexus specific functions that let you store variables that persist through closing and opening the game. I'm assuming they are stored on IRE servers or they are magic. 
    Awesome, that makes a lot more sense. I wasn't understanding how you were able to make a global object like that. I had been wondering how it applies to function calling because I wasn't sure how to call an function outside of run_function(), but even then, I was confused how you create a function in the first place that allows you to pass paramaters. The simple scripting "call a function" option doesn't necessarily allow you to pass in variables unless I don't really understand it correctly. This global object is what I have been trying to figure out for a while. Thanks!

  • XiruXiru Posts: 496Member ✭✭✭✭
    edited January 12
    I have finally downloaded this system and bashing just became so much better, as I can do a lot more while that's what I'm doing.

    THANK YOU.

    edit: outta curiousity, why is Nano the one class without an autoheal?
    Vote for Starmourn! Don't hurt Poffy.
Sign In or Register to comment.