• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->
Resource icon

Plugin - MQ2NetHeal (1 Viewer)

Redbot

🖥️💖
Moderator
Joined
Oct 15, 2004
RedCents
88,102¢
Pronouns
He/Him
INTRODUCTION
Current goals of MQ2NetHeal are to keep information on HEALING and CURING and to provide more flexible way for macros, plugins and huds designers to access those INFORMATIONS. Also MQ2NetHeal act as a MONITOR that REPORT when it detect that someone in your group HEALTH goes beyong a defined point and/or when it detect that you are getting hit by some harmfull EFFECT. All Credits for this shoul go to A_Druid_00 and pinkfloydx33. They provided me the inspiration and the gots, to build this and push it beyong my imagination.

FEATURES
  • Im to bored right now to make list :P

HISTORY
Rich (BB code):
1.452
 - Renamed /netlife to /networst command to make it more appropriates.
 - Splitted ini settings into 3 groups. NetHeal, NetCure and NetWorst.
 - Added Resistance debuff informations to the NetCure TLO.
 - Fixed Lots of Displays Glitches and Reformated Some Output Messages.
 - Added isNPC[ID] isNPCPET[ID] isNPCCORPSE[ID] isPC[ID] isPCPET[ID] isPCCORPSE[ID]
1.426
 - Added Automatic Keys Bind W and E (/worsttarget and /worstcycle).
 - Added NetCure TLO (aka old mq2debuff styles) + trigger.
 - Added NetCure Watch Process, Initialization and Configuration. (beta)
 - Added NetWorst Watch Process, Initialization and Configuration. (beta)
 - Added Audio Support for NetCure and NetWorst Watch Process.
 - Combined GroupAdd and GroupMake in a single functions.
 - Modified Broadcast Sub to Echo Self if Not Connected to eqbcs/mq2eqbc.
 - Chaged Group ID Liste from map type to set, was more efficient.
1.105
 - Removed TTL wasnt doing what people ask for.
 - No longer needed mq2holyshit and mq2netbots to work alone.
 - Faster targetting for worsttarget and worstcycle command.
 - Fixed a last minute CTD thx to ieatacid,bardomatic and DKAA.
1.05
 - Added HP Threshold to clear da timer if hp increase by 5%+ or 
decrease by 1%+.
1.04
 - Added Linkdead Exclusion when da keyword used on filter/query.
1.03
 - Added /worsttarget and /worstcycle command.
 - Health could now be class specific but request still need to pass old hp##.
1.02
 - Added da/hot to NetHeal TLO to return time left on those.
 - Added ttl (estimate time to live, with those number i will die :P
 - Added ${NetHeal[id/name].ttl} to get number, max value is 60000.
   Lower the value is and closer to purple club you are!
1.01
 - Major Revamps of NetWorst TLO.
 - Added ${NetWorst.Affects} report # pc in area that will be hit.
 - ${NetWorst.Members} now report last query id`s list.
 - ${NetWorst.Request[filter]} return # of matches.
 - Added 5 new filtering options: fd/hot/da/self and ####.
 - NetHeal could be accessed as an array for last ${NetWorst.Request[]}
 - Added DATimer and HOTimer to healing records info.
 - Added /netheal <da/hot> <durationms> <listname/id>. 
1.00
 - Initial Release.

COMMANDS
Rich (BB code):
/netheal on|off|auto         :Turn On/Off Healing Informations
/netheal grab=on|off|auto    :Turn On/Off Gather of Healing Informations.
/netheal send=on|off|auto    :Turn On/Off Broadcasting of Healing Informations.
/netheal hot timems list     :Use for macro only.
/netheal da  timems list     :Use for macro only.

/netcure on|off|auto         :Turn On/Off Watching for HarmFull Effects.
/netcure audio=on|off|auto   :Turn On/Off Report Audio Sound.
/netcure popup=on|off|auto   :Turn On/Off Report Popup Style.
/netcure quiet=on|off|auto   :Turn On/Off Report to MQ2 Window.

/networst on|off|auto        :Turn On/Off Watching for Group Health.
/networst audio=on|off|auto  :Turn On/Off Report Audio Sound.
/networst popup=on|off|auto  :Turn On/Off Report Popup Style.
/networst quiet=on|off|auto  :Turn On/Off Report to MQ2 Window.

/worsttarget query           :Target Worst One if Any Matching Query.
/worstcycle  query           :Cycle to Next Worst One if Any Matching Query.

INI SETTINGS
Plugin MQ2NetHeal settings could be found in servername_tooname.ini, some of those settigns could only be set by editing the INI file.
Rich (BB code):
[MQ2NetHeal]
Stat=1                            :0(off)1(on) same as /netheal on|off|auto
Grab=1                            :0(off)1(on) same as /netheal grab=on|off|auto
Send=1                            :0(off)1(on) same as /netheal send=on|off|auto

[MQ2NetCure]
Watch=1                           :0(off)1(on) same as /netcure on|off|auto
Audio=1                           :0(off)1(on) same as /netcure audio=on|off|auto
Popup=1                           :0(off)1(on) same as /netcure popup=on|off|auto
Quiet=0                           :0(off)1(on) same as /netcure quiet=on|off|auto
Sound=e:\\mq2\\energy.wav         :Path to Sound File.

[MQ2NetWorst]
Watch=1                           :0(off)1(on) same as /networst on|off|auto
Audio=1                           :0(off)1(on) same as /networst audio=on|off|auto
Popup=1                           :0(off)1(on) same as /networst popup=on|off|auto
Quiet=1                           :0(off)1(on) same as /networst quiet=on|off|auto
Sound=e:\\mq2\\heartbeat.wav      :Path to Sound File.
Query=pc group all radius270 hp80 :default query for networst /worsttarget and /worstcycle.

TOP LEVEL OBJECTS
MQ2NetHeal now have built in Top Level Objects (TLO) that provide data informations that could be used for macro scripting, hud designing or with internal built in user defined conditions. I plan on expending TLO`s with request i get.
Rich (BB code):
NETCURE:
${NetCure[X]}              string return list of harmfull effects.
${NetCure[X].Detrimentals} int return # of Detrimental Spells.
${NetCure[X].Counters}     int return # of Counters.
${NetCure[X].Cursed}       int return # of Curse Counters.
${NetCure[X].Diseased}     int return # of Disease Counters.
${NetCure[X].Poisoned}     int return # of Poison Counters.
${NetCure[X].EnduDrain}    int return # of Endurance Drain Per Tick.
${NetCure[X].LifeDrain}    int return # of Life Drain Per Tick.
${NetCure[X].ManaDrain     int return # of Mana Drain Per Tick
${NetCure[X].Blinded}      int return # Blind Spells.
${NetCure[X].CastingLevel} int return # Reducing Casting Level.
${NetCure[X].Charmed}      int return # Charm Spells.
${NetCure[X].Feared}       int return # Fear Spells.
${NetCure[X].Healing}      int return # Reducing Healing Effectiveness.
${NetCure[X].Invulnerable} int return # Invulnerability Spells
${NetCure[X].Mesmerized}   int return # Memsmerize Spells.
${NetCure[X].Resistance}   int return # Resist Debuff Spells.
${NetCure[X].Rooted}       int return # Root Spells.
${NetCure[X].Silenced)     int return # Silence Spells.
${NetCure[X].Slowed}       int return # Slow Spells.	
${NetCure[X].Snared}       int return # Snare Spells.
${NetCure[X].SpellCost}    int return # Affecting Spell Mana Cost.
${NetCure[X].SpellSlowed}  int return # Slowing Casting Speed.
${NetCure[X].SpellDamage}  int return # Reducing Spell Damage.
${NetCure[X].Trigger}      int return # That Trigger Something.

*Where X could be (self,myself,pet,warder,spellid,spellidlist);

NETWORST:
${NetWorst.Affects}        int return Last # of People in Query Range.
${NetWorst.Average}      float return HP Average People in Last Query.
${NetWorst.Counter)        int return Last # of People Matching Last Query.
${NetWorst.Members}     string return People SpawnID List of Last Query.
${NetWorst.Request[X]}     int return # of People Matching That Query.

*Where X is the Query to Perform. 
*Valid Keywords are: radius,hp,pet,pc,group,self,fd,da,hot,war,clr,pal,rng,shd,dru,mnk,brd,rog,shm,nec,wiz,mag,enc,bst,ber,all or #ID#.
*hp,war,clr,pal,rng,shd,dru,mnk,brd,rog,shm,nec,wiz,mag,enc,bst,ber,all could be use with % ie: shm80 war60.
*order you pass paramters might influence query results.

NETHEAL:
${NetHeal[X].Name}     or ${NetHeal.Name[Y]}    string return Name.
${NetHeal[X].ID}       or ${NetHeal.ID[Y]}         int return SpawnID.
${NetHeal[X].Distance} or ${NetHeal.Distance[Y]} float return Distance.
${NetHeal[X].PctHPs}   or ${NetHeal.PctHPs[Y]}     int return PctHPs.
${NetHeal[X].Pet}      or ${NetHeal.Pet[Y]}       bool return This is a Pet?
${NetHeal[X].Class}    or ${NetHeal.Class[Y]}      int return Class.
${NetHeal[X].Feign}    or ${NetHeal.Feign[Y]}     bool return This is Feign Class?
${NetHeal[X].Canni}    or ${NetHeal.Canni[Y]}     bool return This is Cannibalize Class?
${NetHeal[X].Spawn}    or ${NetHeal.Spawn[Y]}      int return Spawn.
${NetHeal[X].da}       or ${NetHeal.da[Y]}         int return da timer left.
${NetHeal[X].hot}      or ${NetHeal.hot[Y]}        int return hot timer left.
${NetHeal[X].ttl}      or ${NetHeal.ttl[Y]}        int return 60000.
${NetHeal[X].Updated}  or ${NetHeal.Updated[Y]}    int return how old is This?

*Where X Could be ID or Name.
*Where Y is a Numerical Indice on Last ${NetWorst.Request} Enabling This to Act as Some Kind of Array.

IS:
${isNPC[ID]}          bool return true when Spawn[ID] is a NPC.
${isNPCPET[ID]}       bool return true when Spawn[ID] is a PET and Owner is a NPC.
${isNPCCORPSE[ID]}    bool return true when Spawn[ID] is a CORPSE and Owner is a NPC.
${isPC[ID]}           bool return true when Spawn[ID] is a PC.
${isPCPET[ID]}        bool return true when Spawn[ID] is a PET and Owner is a PC.
${isPCCORPSE[ID]}     bool return true when Spawn[ID] is a CORPSE and Owner is a PC.

DOWNLOAD
http://www.geocities.com/s0rcier_mq2/MQ2NetHeal1.452.zip

DONATIONS
If you really enjoy my plugins and want to throw me a bone for all my good hard works, you could send me some via PAYPAL. Just click on the green donations title to open Paypal Site. or use this id: [email protected].
 
Bump and question. What is the best sort of way to integrate this with a current healing macro, such as afcleric. Im not the most tech savy guy, i just basically want my heal mac to be able to self diagonis (is it curse, poison, etc) and self cure. If it can do it for others too that would be good, but itself is more important to me. Anyhow thanks for the help.
 
if that doesn't help. watch the next time yer using for when you get poisoned/diseased/etc... see what the text says when it happens.

i.e. "you have been splatted" - if splatted = disease then add another #event for that text string.
if you get poisoned and it says "you have been poked" then add an #event for that text string. then when yer cleric bot see that text string it will auto cure said harmful event.

hope that helps a little bit. (i'm sure someone else could explain better then i just did)
 
The problem is that while there is a way to do it, it would be fairly complicated to set up. The best way that I could imagine to do it would be to use MQ2Debuffs. It uses a TLO system exactly the same as the NetHeal one. What you would need to do is add a sub to your main loop that would loop through and see if you had any counters on you, then if you do, cast the cure that will cure that particular counter type. You'd need to have it a) still do a /doevents, to make sure that you aren't neglecting your group while trying to cure yourself, and b) need to repeat itself if it casts a cure spell to go through and check if you still need more curing.
 
The problem is that while there is a way to do it, it would be fairly complicated to set up. The best way that I could imagine to do it would be to use MQ2Debuffs. It uses a TLO system exactly the same as the NetHeal one. What you would need to do is add a sub to your main loop that would loop through and see if you had any counters on you, then if you do, cast the cure that will cure that particular counter type. You'd need to have it a) still do a /doevents, to make sure that you aren't neglecting your group while trying to cure yourself, and b) need to repeat itself if it casts a cure spell to go through and check if you still need more curing.

i would take his word for it before you take mine :)

seriously. lmfao.

i was just tossing ideas, not facts like "thez".
 
A better way than auto-curing would be an activated #event. Do something like /echo cure and have that trigger the sub that goes through and checks for all of your curing needs. The reason that that would be better is that you could do it when it was convenient...which would stop it from happening at an awkward time when it'd be better to heal instead of cure.
 
MQ2NetHeal - This plugin supplies some TLOs and functions to help out healing macros and plugins.

Syntax:
Rich (BB code):
/netheal on|off|auto :Turn On/Off Healing Informations
/netheal grab=on|off|auto :Turn On/Off Gather of Healing Informations.
/netheal send=on|off|auto :Turn On/Off Broadcasting of Healing Informations.
/netheal hot timems list :Use for macro only.
/netheal da timems list :Use for macro only.
 
/netcure on|off|auto :Turn On/Off Watching for HarmFull Effects.
/netcure audio=on|off|auto :Turn On/Off Report Audio Sound.
/netcure popup=on|off|auto :Turn On/Off Report Popup Style.
/netcure quiet=on|off|auto :Turn On/Off Report to MQ2 Window.
 
/networst on|off|auto :Turn On/Off Watching for Group Health.
/networst audio=on|off|auto :Turn On/Off Report Audio Sound.
/networst popup=on|off|auto :Turn On/Off Report Popup Style.
/networst quiet=on|off|auto :Turn On/Off Report to MQ2 Window.
 
/worsttarget query :Target Worst One if Any Matching Query.
/worstcycle query :Cycle to Next Worst One if Any Matching Query.

TLO's and other information:
Rich (BB code):
NETCURE
${NetCure[X]} string return list of harmfull effects.
${NetCure[X].Detrimentals} int return # of Detrimental Spells.
${NetCure[X].Counters} int return # of Counters.
${NetCure[X].Cursed} int return # of Curse Counters.
${NetCure[X].Diseased} int return # of Disease Counters.
${NetCure[X].Poisoned} int return # of Poison Counters.
${NetCure[X].EnduDrain} int return # of Endurance Drain Per Tick.
${NetCure[X].LifeDrain} int return # of Life Drain Per Tick.
${NetCure[X].ManaDrain int return # of Mana Drain Per Tick
${NetCure[X].Blinded} int return # Blind Spells.
${NetCure[X].CastingLevel} int return # Reducing Casting Level.
${NetCure[X].Charmed} int return # Charm Spells.
${NetCure[X].Feared} int return # Fear Spells.
${NetCure[X].Healing} int return # Reducing Healing Effectiveness.
${NetCure[X].Invulnerable} int return # Invulnerability Spells
${NetCure[X].Mesmerized} int return # Memsmerize Spells.
${NetCure[X].Resistance} int return # Resist Debuff Spells.
${NetCure[X].Rooted} int return # Root Spells.
${NetCure[X].Silenced) int return # Silence Spells.
${NetCure[X].Slowed} int return # Slow Spells.	
${NetCure[X].Snared} int return # Snare Spells.
${NetCure[X].SpellCost} int return # Affecting Spell Mana Cost.
${NetCure[X].SpellSlowed} int return # Slowing Casting Speed.
${NetCure[X].SpellDamage} int return # Reducing Spell Damage.
${NetCure[X].Trigger} int return # That Trigger Something.
 
*Where X could be (self,myself,pet,warder,spellid,spellidlist)
 
NETWORST
${NetWorst.Affects} int return Last # of People in Query Range.
${NetWorst.Average} float return HP Average People in Last Query.
${NetWorst.Counter) int return Last # of People Matching Last Query.
${NetWorst.Members} string return People SpawnID List of Last Query.
${NetWorst.Request[X]} int return # of People Matching That Query.
 
*Where X is the Query to Perform. 
*Valid Keywords are: radius,hp,pet,pc,group,self,fd,da,hot,war,clr,pal,rng,shd,dru,mnk,brd,rog,shm,nec,wiz,mag,enc,bst,ber,all or #ID#.
*hp,war,clr,pal,rng,shd,dru,mnk,brd,rog,shm,nec,wiz,mag,enc,bst,ber,all could be use with % ie: shm80 war60.
*order you pass paramters might influence query results.
 
NETHEAL
${NetHeal[X].Name} or ${NetHeal.Name[Y]} string return Name.
${NetHeal[X].ID} or ${NetHeal.ID[Y]} int return SpawnID.
${NetHeal[X].Distance} or ${NetHeal.Distance[Y]} float return Distance.
${NetHeal[X].PctHPs} or ${NetHeal.PctHPs[Y]} int return PctHPs.
${NetHeal[X].Pet} or ${NetHeal.Pet[Y]} bool return This is a Pet?
${NetHeal[X].Class} or ${NetHeal.Class[Y]} int return Class.
${NetHeal[X].Feign} or ${NetHeal.Feign[Y]} bool return This is Feign Class?
${NetHeal[X].Canni} or ${NetHeal.Canni[Y]} bool return This is Cannibalize Class?
${NetHeal[X].Spawn} or ${NetHeal.Spawn[Y]} int return Spawn.
${NetHeal[X].da} or ${NetHeal.da[Y]} int return da timer left.
${NetHeal[X].hot} or ${NetHeal.hot[Y]} int return hot timer left.
${NetHeal[X].ttl} or ${NetHeal.ttl[Y]} int return 60000.
${NetHeal[X].Updated} or ${NetHeal.Updated[Y]} int return how old is This?
 
*Where X Could be ID or Name.
*Where Y is a Numerical Indice on Last ${NetWorst.Request} Enabling This to Act as Some Kind of Array.
 
IS
${isNPC[ID]} bool return true when Spawn[ID] is a NPC.
${isNPCPET[ID]} bool return true when Spawn[ID] is a PET and Owner is a NPC.
${isNPCCORPSE[ID]} bool return true when Spawn[ID] is a CORPSE and Owner is a NPC.
${isPC[ID]} bool return true when Spawn[ID] is a PC.
${isPCPET[ID]} bool return true when Spawn[ID] is a PET and Owner is a PC.
${isPCCORPSE[ID]} bool return true when Spawn[ID] is a CORPSE and Owner is a PC.
 
Last edited by a moderator:
Good afternoon.

I just started using Next this morning.

I just did /pluign mq2netheal and it returns "Plugin netheal could not be loaded

I tried /mq2netheal same result.

I looked in my plugins and its not in there

So I extracted it from the Master Download.. That didn't work.

Am I missing something ?

Please help.
Thank you
 
Good afternoon.

I just started using Next this morning.

I just did /pluign mq2netheal and it returns "Plugin netheal could not be loaded

I tried /mq2netheal same result.

I looked in my plugins and its not in there

So I extracted it from the Master Download.. That didn't work.

Am I missing something ?

Please help.
Thank you
you're probably the first person to request it. (ive never even heard of this plugin lol)

@Knightly usually does the port-overs if folks request stuff
 
I just always have had it loaded, I was never sure it was doing anything or not just was comfortable with it there.

If its not of any additional help however, then I feel good you telling me this.

Thank you
 
Plugin - MQ2NetHeal

Users who are viewing this thread

Back
Top