Need a Macro that i can chain cast over many different accounts.

chunkybeef

Premium Member
Joined
Sep 22, 2023
Messages
2
Reaction score
2
Points
3
Hello,

Im looking for a macro that will do several things (that i can either modify or set a ini file for) that allows me to take 10 clerics over multi accounts and chain heal someone. Would also use this to cast Chain stuns for when i need my AA points farmed out.
Would love for this macro to have the ability to change on the fly if a cleric dies or tank dies and a new one is needed to entire.

Is there one out there like this or someone able to point me into the direction i would need to go to build my own or change a old one?

Any help would greatly be appreciated.
 
  • Like
Reactions: EQDAB
Here is the code I wrote for my use with my guild. We used a chat channel to run it, but if you are running them all, can just move it to eqbc by changing the /chat stuff to just /bc and figuring out the formatting changes needed for it to catch it in eqbc. Could also change from using a hotkey to having it just call all the stuff in hotkey described in the first part instead of the /keypress 1. And shouldn't take much to change the /cast 2 to either ch or a chanter stun. This was written so the "users" could have their clerics in the rot without distracting from other stuff.

Code:
| You need a hotkey in the slot for the keypress variable for this to work, change the pause to the pause you want for the rotation, 2 in the /cast to whichever spell gem CH is in, and Nextcleric to the cleric behind you in the rotation
| Line 1: /cast 2
| Line 2: /chat #flheals CH on %t
| Line 3: /cast 2
| Line 4: /pause 30
| Line 5: /chat #flheals Nextcleric GO NOW
| If you need to slow the rotation down, /chat #flheals flextrapause 20, pls
| with the 20 being changed to whatever pause you want to add.


| change requests:

#chat channel
#chat tell
#chat group



#Event takingaggro "#1# tells the raid, 'Taking Aggro:#*#"
#Event greaterconc "#*#greaterconc#*#"
#Event channelsworking "#*#flchchannelnowork#*#"
#Event extrapause "#*#flextrapause #1#, pls#*#"
#Event nextcleric "You tell flheals#*#'#1# GO NOW#*#"
#Event CH "#*# says #*#Go #1# #*#"
#Event CH "#*# says #*#, '#1# Go #*#"
#Event CH "#*# tells #*#Go #1# #*#"
#Event CH "#*# tells #*#, '#1# Go #*#"
#chat bc
#chat EQBC

#event EQBC                      "<#1#> #2#"
#event EQBC                       "[#1#(msg)] #2#"



Sub Main
/declare hotkeypress string outer 0
/declare totalclerics int outer NULL

/declare nextcleric string outer NULL
/declare lowmanacall string outer ${Me.CleanName} low on mana
/declare extrapause int outer NULL
/declare channelworking int outer 1
/declare greaterconc int outer 0
/declare chroton string outer yes


/call FLCH
/return

Sub FLCH

:MainLoop
/if (${Cursor.ID}==6346 || ${Cursor.ID}==3426) /autoinv
   /doevents
/delay 1
   /doevents
/delay 1
   /doevents
/delay 1
   /doevents
/delay 1
   /doevents
/delay 1
  /doevents
/delay 1
   /doevents
/delay 1
   /doevents
/delay 1
   /doevents
/delay 1
   /doevents
/delay 1
/if (${Me.PctMana} < 90 && ${FindItemCount[Summoned: Modulating Rod]}==1 && ${FindItem[Summoned: Modulating Rod].Timer}==0) /useitem "Summoned: Modulating Rod"
/if (${Me.PctMana} < 90 && ${FindItemCount[Rod of Mystical Transvergence]}==1 && ${FindItem[Rod of Mystical Transvergence].Timer}==0) /useitem "Rod of Mystical Transvergence"
/if (${Me.PctMana} < 99 && !${Me.Casting.ID} && !${Me.Sitting} && !${Stick.Active} && !${Me.Moving} && !${Me.Mount.ID}) /sit
/goto :MainLoop
/return

Sub Event_CH(string line, string who)
/if ((${Me.Class.ShortName.Equal[CLR]} || ${Me.Class.ShortName.Equal[DRU]}) && ${chroton.Equal[no]}) /return

/if (${who.Equal[${Me.CleanName}]} || ${who.Equal[OOM ${Me.CleanName}]} || ${who.Equal[${skipcleric}]} || ${who.Equal[${skipclericonce}]}) {
/if (!${Me.Buff[Clarity II].ID} && !${Me.Buff[Koadic's Endless Intellect].ID} && !${Me.Buff[Gift of Pure Thought].ID} && !${Me.Buff[Voice of Clairvoyance].ID} && !${Me.Buff[Tranquility].ID} && !${Me.Buff[Voice of Quellious].ID}) /chat #flheals ${Me.Name} needs Crack please.
/if (${Me.PctMana}<90) /chat #flheals ${Me.CleanName} is at ${Me.PctMana} percent mana
/if (${Me.CurrentMana} < 400) {
/chat #flheals Out of Mana
/if (${nextcleric.Equal[NULL]}) {
/chat #flheals NextCleric GO NOW

} else {
/chat #flheals ${nextcleric} GO NOW
}
/return
}
/if (${Me.PctMana} < 35) {
/if (${channelworking}==1) {
/chat #flheals ${lowmanacall}
} else {
/ooc ${lowmanacall}
}
}
/if (!${Target.ID}) {
/chat #flheals I don't have a target
}
/if (${extrapause}) /delay ${extrapause}
/keypress ${hotkeypress}
/delay 1s
:casting
/if (${Me.Casting.ID}) {
/goto :casting
}
/delay 2
/if (${greaterconc}==1) /useitem "Elixir of Greater Concentration"
/delay 2
:casting
/if (${Me.Casting.ID}) {
/goto :casting
}
/if (${Me.Buff[Greater Concentration].ID}) /varset greaterconc 0
}
/delay 4
/return

Sub Event_takingaggro(String line, sting 1)
/if (!${Me.Class.ShortName.Equal[CLR]}) /return
/target ${1}
/return

Sub Event_greaterconc
/if (!${Me.Buff[Greater Concentration].ID}) /varset greaterconc 1
/return

sub Event_channelsworking
/varset channelsworking 0
/return
sub Event_extrapause(String line, string 1)
/varset extrapause ${Int[${1}]}
/return
sub Event_Nextcleric(String line, sting 1)
/varset nextcleric ${1}
/return
 
This is interesting.
a good starting point for me to try and figure this out. I guess events are thing that passed by the MQ system. and Event_(random function name) is automatically picked out by the system? i dont see you calling these by name in the main loop. (i know a little bit about coding but not enough) need to read up on MQ system. Thanks a lot for the help and code =)
 
  • Like
Reactions: EQDAB
This is interesting.
a good starting point for me to try and figure this out. I guess events are thing that passed by the MQ system. and Event_(random function name) is automatically picked out by the system? i dont see you calling these by name in the main loop. (i know a little bit about coding but not enough) need to read up on MQ system. Thanks a lot for the help and code =)
Events are constantly being watched for, but only executed when you /doevents. I have all the /delay 1 /doevents so that it was both constantly watching for when to go, but also had time to get a clickie, buff or start moving.
 
  • Like
Reactions: EQDAB
I have this old cheal macro, i do not know who made it.
Been having it for years in my macro folder.
Has a readme also.
 

Attachments

  • CHRot(Complete Heal Chain) Readme.txt
    3.7 KB · Views: 1
  • chrot.mac
    10.9 KB · Views: 1