Page 1 of 5

KISS HealTarget Macro (PLers Rejoice)

Posted: Thu Sep 30, 2004 9:45 pm
by MacroFest
I made a simple Macro to Continually heal @ whatever percent you specify! My First Macro, tell me what you think. This is mostly for Multi-boxers, I use with my druid to PL my SK instead of switching screens i just pull to my druid w/SK and blast away =)


NEW VERSION:

Code: Select all

|PL-Easy, KISS Continuous Heal
----------------------------------------
|Where it says "PctHPs}<70) {" Change the 70 to What % You Want To Heal At 
|Where it says "/cast 8", make sure you replace with whatever spell slot you'd like to continually cast @ that percent 
|Where it says "/target", make sure you replace with whoever you're trying to heal
---------------------------------------------------
|v1.01 Added the "/if (${Me.Casting.ID})" Command to keep from spamming if you're already casting (thanks A_Druid_00) 
--------------------------------------------------- 
|v1.02 Added a "/target" command just put whoever you're looking to heal after /target (IE. /target Iamnoob) 
--------------------------------------------------- 
|v1.03 Changed some things to work correctly (thx lum and LPW) 
--------------------------------------------------- 
|v1.04 Changed to work with/without Mounts, will Auto-Sit Now. (thx peach and summar) 
----------------------------- 

#turbo 

Sub Main 

:loop 
/if (${Me.Casting.ID}) /goto :loop 
/target 
/if (${Target.PctHPs}<70) { 
/goto :heal 
} else { 
/goto :loop 
} 


:heal 
/cast 8 
/if (${Me.Standing} && !${Me.Mount.ID}) /sit 
} 

/goto :loop
MACRO EXTRA:
This macro could also be changed in such a way that you could practice a spell. Just target an NPC in PoK or Bazaar and set the "/cast" command to what spell you'd like to practice(Abjur, Evoc, Alter etc...). Just put a low level of the spell in the slot, so that you always have enough mana, and start it up. Make sure you change the Pct Hps to heal at to 100% so it will just continually do it...

Posted: Fri Oct 01, 2004 12:17 pm
by MacroFest
Test it out see if it works and let me know.

Lol, let me know what you think!

Posted: Fri Oct 01, 2004 12:56 pm
by A_Druid_00
Looks nice and simple. Only thing I'd suggest is adding:

Code: Select all

/if (${Me.Casting.ID}) /goto :loop 
above:

Code: Select all

/if (${Target.PctHPs}<70) {
to get rid of the spamming while the heal is inc.

Posted: Fri Oct 01, 2004 1:04 pm
by merkzu
you included spellcast.inc but never use it. /cast is eq's internal macro, you have to /call cast to use the spellcast.inc sub.

Code: Select all

#include spellcast.inc

Sub Main
:loop
/if  (${Target.PctHPs}<70) {
  /call cast "Heal Spell"
}
/goto :loop
/return

Posted: Sat Oct 02, 2004 9:19 pm
by MacroFest
Okay I modified it correctly according to what you said, thanks for the suggestion. I was tired of getting spammed with the "you cannot perform this action" lol. Now this is the perfect Heal under Certain % macro. If u guys have any other suggestions let me know... I also removed the

Code: Select all

#include spellcast.inc

cause I obviously didn't need it lol thanks for pointing that out

EDIT:Small Change, Added /target

Code: Select all

|This is My First Try At Making A Macro 
|Where it Says "PctHPs}<70) {" Change the 70 to What % You Want To Heal At 
|Where It says "/cast 8", make sure you replace with whatever spell slot you'd like to continually cast @ that percent 
---------------------------------------------------
|v1.01 Added the "/if (${Me.Casting.ID})" Command to keep from spamming if you're already casting (thanks A_Druid_00)
---------------------------------------------------
|v1.02 Added a "/target" command just put whoever you're looking to heal after /target (IE. /target Iamnoob)
--------------------------------- 

#turbo 

Sub Main 

:loop 
/if (${Me.Casting.ID}) 
/goto :loop 
/if (${Target.PctHPs}<70) { 
/goto :heal
} else { 
/goto :loop 
} 


:heal
/target
/cast 8 
/goto :loop 

Posted: Sat Oct 02, 2004 10:11 pm
by Oid
It has a solid loop ;) I like it.

Posted: Sat Oct 02, 2004 11:05 pm
by A_Druid_00
I have a question about the /target you added though. What's the point? In the main loop it's checking Target.PctHPs. If you don't have a target, it's never going to hit the :healme sub; therby making the /target Somebody portion rather redundant and quite pointless.

Posted: Sun Oct 03, 2004 10:11 am
by MacroFest
Well, after /target you put who you're trying to heal. I ran into some problems while trying to do this, because I'd accidentally target corpses and it heals anything under 70%(or whatever % I'm using) so it'd be continuously healing the corpse and not my PL subject. I put the /target there just as a surefire way of healing who you want to heal and not wasting mana. I was only using Chloroblast so it didn't take too much of my mana, but let's say you're trying to PL a level 55 or something, and you have Nature's Infusion loaded. There goes your mana pretty quickly if you're casting constantly. And in return, there goes your PL subject too... :wink:

Posted: Sun Oct 03, 2004 10:26 am
by MacroFest
My drive for this one, was the need to create my first macro. Also, the fact that I was frustrated that i was finding all these complicated macros, and it was virtually impossible to modify them to what you want to do. I searched through many posts seeing people asking for a macro like this so I chose this one to do. Needing one myself, I found it very convienient.

The rest of the macros I found I searched and searched for something to change for it to specify. The closest I came was the Wizard - Nuke Macro, which would nuke @ this % and stop at this %. I couldn't figure how to modify it to work not to assist though, and I kept getting errors.

I'm assuming this is sort of a blessing for some people that don't like creating macros on their own. All the rest of the healing macros I've gone though are too complex, and heal like "Anyone Around You Who's Under Said %", or they only target people in your group. As we all know, you can't PL a level, let's say... 20, in your group.

So, have fun, more feedback is ALWAYS welcome :D

Posted: Sun Oct 03, 2004 12:27 pm
by Lum
the comment A_Druid_00 was making about the /target is.......

If you start with the wrong target (say a corpse) your PL bot is going to trigger a heal earlier than he should, but will change to the target he does want to heal.

I would suggest putting the /target just before

Code: Select all

/if (${Target.PctHPs}<70) { 
so you get

Code: Select all

/target PLperson
/if (${Target.PctHPs}<70) { 

Posted: Sun Oct 03, 2004 2:14 pm
by loadingpleasewait
MacroFest wrote:

Code: Select all

#turbo 

Sub Main 

:loop 
/if (${Me.Casting.ID}) 
/goto :loop 

That if statement isnt formulated right.. /goto :loop should be right after the parenthesis, not on the next line. As it is, I dont see the macro working at all, as it would always /goto :loop regardless if casting or not..

Posted: Sun Oct 03, 2004 4:22 pm
by MacroFest
Changed it! Keep the awesome input coming :P



Code: Select all

|This is My First Try At Making A Macro 
|Where it Says "PctHPs}<70) {" Change the 70 to What % You Want To Heal At 
|Where It says "/cast 8", make sure you replace with whatever spell slot you'd like to continually cast @ that percent 
--------------------------------------------------- 
|v1.01 Added the "/if (${Me.Casting.ID})" Command to keep from spamming if you're already casting (thanks A_Druid_00) 
--------------------------------------------------- 
|v1.02 Added a "/target" command just put whoever you're looking to heal after /target (IE. /target Iamnoob) 
--------------------------------- -----------------
|v1.03 Changed some things to work correctly (thx lum and LPW)
---------------------------------
#turbo 

Sub Main 

:loop 
/if (${Me.Casting.ID}) /goto :loop 
/target
/if (${Target.PctHPs}<70) { 
/goto :heal 
} else { 
/goto :loop 
} 


:heal 
/cast 8 
/goto :loop 

Posted: Sun Oct 03, 2004 4:43 pm
by JimJohnson

Code: Select all

| Usage  /macro heal (Target name) (Heal Spell)

#Include spell_routines.inc


Sub Main 

:loop 
/if (${Me.Casting.ID}) {
/goto :loop
}
/target ${param0}
/if (${target}.PctHPs}<70) { 
/call heal
}  
/goto :loop 




Sub heal
 /if (${Me.SpellReady["${param1}"]}) /call cast "${param1}" nodismount 
  
/return

Posted: Mon Oct 04, 2004 7:13 am
by sommarnatt
I usually want my healer to continue medding between heals..

Code: Select all

#turbo

Sub Main

:loop
/if (${Me.Casting.ID}) /goto :loop
/target Ibash
/if (${Target.PctHPs}<30) {
/goto :heal
} else {
/goto :loop
}


:heal
/cast 1
/delay 5
/if (${Target.PctHPs}<30) {
/goto :heal
} else {
/delay 30
/if (${Me.Standing}) /sit 
}
/goto :loop

Posted: Mon Oct 04, 2004 12:10 pm
by MacroFest
I was thinking if you're on a Drogmor hehe...