(cleric) Simple GroupHeal Bot [manual setup]

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

irishlover89
decaying skeleton
decaying skeleton
Posts: 1
Joined: Fri Nov 05, 2010 7:29 am

(cleric) Simple GroupHeal Bot [manual setup]

Post by irishlover89 » Wed Nov 17, 2010 3:44 am

First post, Learning code as i go and need my boxes to perform!
Let the criticism flow and let me know if you find it useful!

I do networking not programming...
Yes its ugly.
Yes it may be buggy.

As far as tweaking for your use, if you see a box like this ---> [your name here] , delete it and enter the info that pertains to you!

Code: Select all

#turbo

Sub Main

| ############ main loop ################

:Main_loop

|/call assist  <-------- This will not parse because of the | before it. If you want to activate it, remove that charater.

/call healtank  <------ This line will parse, Got it? K, thanks!

/call healgroup

/call regan

/goto :Main_loop

This is the Macro Template!

Code: Select all

|This is obviously my first Macro, created by Disected Hubbas shmbot and    |
| a loop cleric heal macro by MacroFest until i learned what the code was   |
|doing. May be buggy, definately is ugly, but it basically shuffles through | 
|listed group members until they meet the listed "LOW HP" mark set by you!  |	
|---------By Irishlover89------Credit to those i missed---------------------|
|___________________________________________________________________________|


#turbo

Sub Main

| ############ main loop ################

:Main_loop

|/call assist

/call healtank

/call healgroup

/call regan

/goto :Main_loop

| ################# assist/on pull spell casts/merc attack/ECT. #########################

| ( if you know how to make this work, then PM me please)

|Sub assist
	
|	:assist1
|	/target [TANKS NAME HERE]  
|	/assist
|	/delay 1
|	/keypress q
|  	/if (${Target.Distance}<40) {
|	/goto :assist2
|	} else { 
|	/goto :assist1
|	}
	
|	:assist2
|	/keypress 1
|	/return


| #################[HIGH PRIORITY] heal tank  ######################


Sub healtank

	:tank
	/if (${Me.Casting.ID}) /goto :tank
	/target [YOUR TANK HERE]
	/if (${Target.PctHPs}<20) { 
	/goto :castqhealtank
	} else { 
	/goto :tank2
	} 
	
	:tank2
	/if (${Me.Casting.ID}) /goto :tank
	/target [YOUR TANK HERE]
	/if (${Target.PctHPs}<80) { 
	/goto :casthealtank
	} else { 
	/goto :tank3
	} 

	
	:castqhealtank
	/cast 1
	/delay 2s
	/if (${Me.Standing} && !${Me.Mount.ID}) /sit 
	} 

	/goto :tank2

	:casthealtank
	/cast 2
	/delay 2s
	/if (${Me.Standing} && !${Me.Mount.ID}) /sit 
	} 

	/goto :tank
	
	:tank3
	/return

| ################[MEDIUM PRIORITY] group heals  ##################

Sub healgroup
	
	:group1
	/if (${Me.Casting.ID}) /goto :group
	/target [YOUR NAME HERE]
	/if (${Target.PctHPs}<60) { 
	/goto :casthealgroupself
	} else { 
	/goto :group2
	} 

|	:group2
|	/if (${Me.Casting.ID}) /goto :group
|	/target [YOUR GROUPMATE'S NAME HERE]
|	/if (${Target.PctHPs}<60) { 
|	/goto :casthealgroupmember
|	} else { 
|	/goto :group3 
|	} 

|	:group[X]
|	/if (${Me.Casting.ID}) /goto :group
|	/target [YOUR GROUPMATE'S NAME HERE]
|	/if (${Target.PctHPs}<60) { 
|	/goto :casthealgroupmember
|	} else { 
|	/goto :group[Y] 
|	}

|	:group[Y]
|	/if (${Me.Casting.ID}) /goto :group
|	/target [YOUR GROUPMATE'S NAME HERE]
|	/if (${Target.PctHPs}<60) { 
|	/goto :casthealgroupmember
|	} else { 
|	/goto :group[Z] 
|	}

	:casthealgroupself
	/cast 3
	/delay 5
	/if (${Me.Standing} && !${Me.Mount.ID}) /sit 
	} 

	/return

	:casthealgroupmember
	/cast 2
	/delay 3
	/if (${Me.Standing} && !${Me.Mount.ID}) /sit 
	} 

	/return

	:group[Z]
	/return

| ###########[LOW PRIORITY]  Check mana, cast regan, sit #################
|(THIS IS A MANA REGAN SPELL FOR THE HIDDEN FOREST EMU SERVER, ADJUST/REMOVE ACCORDINGLY)

Sub regan

	
	:mana
	/if (${Me.PctMana} < 80) {
	/goto :manaregan
	} else {
	/goto :mana2
	}
	
	:manaregan
	/cast 7 
	/delay 3s
	/if (${Me.Standing} && !${Me.Mount.ID}) /sit 
	} 
	/goto :mana2

	:mana2
	/call Main

Enjoy!

-Irish

caj
a hill giant
a hill giant
Posts: 244
Joined: Tue Sep 12, 2006 9:35 am

Re: (cleric) Simple GroupHeal Bot [manual setup]

Post by caj » Sat Dec 18, 2010 7:52 pm

most will not critisize you for at least trying.

Code: Select all

| ( if you know how to make this work, then PM me please)

|Sub assist
   
|   :assist1
|   /target [TANKS NAME HERE]  
|   /assist
|   /delay 1
|   /keypress q
|     /if (${Target.Distance}<40) {
|   /goto :assist2
|   } else { 
|   /goto :assist1
|   }
   
|   :assist2
|   /keypress 1
|   /return

not sure what your shooting for with /keypress q it usually means Quit. Keypress 1 could mean just about anything on anybodys computer such as sit, sneak, hide, kick, afk, ect... try to be more specific to what your trying to accomplish in future posts.

but if you just want to assist a MainTank its pretty straight forward.

Code: Select all

sub assist
   /assist [Name of TAnk]
   :waitfortarget
   /delay 3s
   /if (${Target.Distance}>=40) /goto :waitfortarget
   /attack on
   /delay 1s
   /keypress 1? <-whatever that is, Im assuming your casting a debuff, send your pet on incoming mob? 
   /pet attack <sends pet to attack
/return
on a side note you dont need a seperate sub routine to assist, you can put it just about anywheres as needed










xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: (cleric) Simple GroupHeal Bot [manual setup]

Post by xyilla » Wed Jan 14, 2026 11:13 am