• 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 --->

Macro - Macro question on casting (1 Viewer)

Joined
Mar 23, 2019
RedCents
54¢
I have a little marco i use that does pretty basic stuff like

INI:
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Marked Shots].RankName}]}) /cast 3
/if (${Target.Type.Equal[NPC]} && ${Me.CombatAbilityReady[${Spell[Focused Gale of Blades].RankName}]}) /disc Focused Gale of Blades
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Dissident Fusillade].RankName}]}) /cast 4
/if (${Target.Type.Equal[NPC]} && ${Me.CombatAbilityReady[${Spell[Jolting Axe Kicks].RankName}]}) /disc Jolting Axe Kicks
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Focused Blizzard of Arrows].RankName}]}) /cast 2
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Pyroclastic Boon].RankName}]}) /cast 7
/if (${Target.Type.Equal[NPC]} && ${Me.CombatAbilityReady[${Spell[Jolting Axe Kicks].RankName}]}) /disc Jolting Axe Kicks
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Summer's Sleet].RankName}]}) /cast 5

I have 4 nukes on list. how do i make sure its casting all of them when there up? This is for a ranger and he spams summer's sleet but but other stuff it may cast, it may not.
 
I have a little marco i use that does pretty basic stuff like

INI:
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Marked Shots].RankName}]}) /cast 3
/if (${Target.Type.Equal[NPC]} && ${Me.CombatAbilityReady[${Spell[Focused Gale of Blades].RankName}]}) /disc Focused Gale of Blades
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Dissident Fusillade].RankName}]}) /cast 4
/if (${Target.Type.Equal[NPC]} && ${Me.CombatAbilityReady[${Spell[Jolting Axe Kicks].RankName}]}) /disc Jolting Axe Kicks
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Focused Blizzard of Arrows].RankName}]}) /cast 2
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Pyroclastic Boon].RankName}]}) /cast 7
/if (${Target.Type.Equal[NPC]} && ${Me.CombatAbilityReady[${Spell[Jolting Axe Kicks].RankName}]}) /disc Jolting Axe Kicks
/if (${Target.Type.Equal[NPC]} && ${Me.SpellReady[${Spell[Summer's Sleet].RankName}]}) /cast 5

I have 4 nukes on list. how do i make sure its casting all of them when there up? This is for a ranger and he spams summer's sleet but but other stuff it may cast, it may not.

So you are having issues with it casting the same one or same few over and over before is reaches the others?
 
That is the macro. I do /mac spam and it starts. just a simple mac with out conditions. its not a /kiss or anything. like, im not looking to cast them all the time. i looking for the mac to do a /check if that spell is ready. follow the order and when 1 is ready. it casts. when 2 is ready it casts. right now it casts all, but then will skip a some and keep spamming another. just using a simple mac is like 10 times faster in response then kissassist or any other prebuilt. it requires you to play it ya, but good for raiding if your only raiding 1 toon or focusing on 1 toon
 
Here is another one. This is the full mac. So what im looking for is it /cast 1 first, then 2, then 3 ect. 3 does cast if 2 is ready. any idea how i would write that? right now when i do it, it will most of the time /cast 1. then its random. 5 maybe 6 first, maybe 8. if possible, how do i make it go in order?

INI:
#warning
#turbo 200

Sub Main
/pet attack


:Loop

/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[12]} && ${Target.Buff[${Me.Gem[12].Name}].ID}==0 && ${Int[${Target.Buff[Malevolent Covenant].ID}]}==0) /cast 12
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[1]} && ${Target.Buff[${Me.Gem[1].Name}].ID}==0 && ${Int[${Target.Buff[Pyre of Klraggek].ID}]}==0) /cast 1
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[2]} && ${Target.Buff[${Me.Gem[2].Name}].ID}==0 && ${Int[${Target.Buff[Crystal Crawler Venom].ID}]}==0) /cast 2
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[3]} && ${Target.Buff[${Me.Gem[3].Name}].ID}==0 && ${Int[${Target.Buff[Dracnia's Pallid Haze].ID}]}==0) /cast 3
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[4]} && ${Target.Buff[${Me.Gem[4].Name}].ID}==0 && ${Int[${Target.Buff[Danvid's Decay].ID}]}==0) /cast 4
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[5]} && ${Target.Buff[${Me.Gem[5].Name}].ID}==0 && ${Int[${Target.Buff[Grip of Zorglim].ID}]}==0) /cast 5
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[6]} && ${Target.Buff[${Me.Gem[6].Name}].ID}==0 && ${Int[${Target.Buff[Ignite Intellect].ID}]}==0) /cast 6
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[7]} && ${Target.Buff[${Me.Gem[7].Name}].ID}==0 && ${Int[${Target.Buff[Dissident Paroxysm 1].ID}]}==0) /cast 7
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[8]} && ${Target.Buff[${Me.Gem[8].Name}].ID}==0 && ${Int[${Target.Buff[Broiling Shadow].ID}]}==0) /cast 8
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[9]} && ${Target.Buff[${Me.Gem[9].Name}].ID}==0 && ${Int[${Target.Buff[Pyre of the Wretched].ID}]}==0) /cast 9
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[13]} && ${Target.Buff[${Me.Gem[13].Name}].ID}==0) /cast 13






/goto :Loop
/return
 
Last edited by a moderator:
Here is another one. This is the full mac. So what im looking for is it /cast 1 first, then 2, then 3 ect. 3 does cast if 2 is ready. any idea how i would write that? right now when i do it, it will most of the time /cast 1. then its random. 5 maybe 6 first, maybe 8. if possible, how do i make it go in order?

INI:
#warning
#turbo 200

Sub Main
/pet attack


:Loop

/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[12]} && ${Target.Buff[${Me.Gem[12].Name}].ID}==0 && ${Int[${Target.Buff[Malevolent Covenant].ID}]}==0) /cast 12
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[1]} && ${Target.Buff[${Me.Gem[1].Name}].ID}==0 && ${Int[${Target.Buff[Pyre of Klraggek].ID}]}==0) /cast 1
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[2]} && ${Target.Buff[${Me.Gem[2].Name}].ID}==0 && ${Int[${Target.Buff[Crystal Crawler Venom].ID}]}==0) /cast 2
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[3]} && ${Target.Buff[${Me.Gem[3].Name}].ID}==0 && ${Int[${Target.Buff[Dracnia's Pallid Haze].ID}]}==0) /cast 3
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[4]} && ${Target.Buff[${Me.Gem[4].Name}].ID}==0 && ${Int[${Target.Buff[Danvid's Decay].ID}]}==0) /cast 4
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[5]} && ${Target.Buff[${Me.Gem[5].Name}].ID}==0 && ${Int[${Target.Buff[Grip of Zorglim].ID}]}==0) /cast 5
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[6]} && ${Target.Buff[${Me.Gem[6].Name}].ID}==0 && ${Int[${Target.Buff[Ignite Intellect].ID}]}==0) /cast 6
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[7]} && ${Target.Buff[${Me.Gem[7].Name}].ID}==0 && ${Int[${Target.Buff[Dissident Paroxysm 1].ID}]}==0) /cast 7
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[8]} && ${Target.Buff[${Me.Gem[8].Name}].ID}==0 && ${Int[${Target.Buff[Broiling Shadow].ID}]}==0) /cast 8
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[9]} && ${Target.Buff[${Me.Gem[9].Name}].ID}==0 && ${Int[${Target.Buff[Pyre of the Wretched].ID}]}==0) /cast 9
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[13]} && ${Target.Buff[${Me.Gem[13].Name}].ID}==0) /cast 13






/goto :Loop
/return

Add some conditional delays in. The global cooldown timer is causing the cast ready to not be positive, so it skips down the line.
 
a conditional delay is a delay that has an early finish condition.

/delay 200s ${Cursor.ID}

would wait either 200 seconds, or until you had an item on your cursor for example.


ok. I think its working better. This look right?

INI:
#warning
#turbo 200

Sub Main
/pet attack


:Loop

/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[12]} && ${Target.Buff[${Me.Gem[12].Name}].ID}==0 && ${Int[${Target.Buff[Malevolent Covenant].ID}]}==0) /cast 12
/delay 5s ${Cast.Ready[1]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[1]} && ${Target.Buff[${Me.Gem[1].Name}].ID}==0 && ${Int[${Target.Buff[Pyre of Klraggek].ID}]}==0) /cast 1
/delay 5s ${Cast.Ready[2]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[2]} && ${Target.Buff[${Me.Gem[2].Name}].ID}==0 && ${Int[${Target.Buff[Crystal Crawler Venom].ID}]}==0) /cast 2
/delay 5s ${Cast.Ready[3]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[3]} && ${Target.Buff[${Me.Gem[3].Name}].ID}==0 && ${Int[${Target.Buff[Dracnia's Pallid Haze].ID}]}==0) /cast 3
/delay 5s ${Cast.Ready[4]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[4]} && ${Target.Buff[${Me.Gem[4].Name}].ID}==0 && ${Int[${Target.Buff[Danvid's Decay].ID}]}==0) /cast 4
/delay 5s ${Cast.Ready[5]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[5]} && ${Target.Buff[${Me.Gem[5].Name}].ID}==0 && ${Int[${Target.Buff[Grip of Zorglim].ID}]}==0) /cast 5
/delay 5s ${Cast.Ready[6]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[6]} && ${Target.Buff[${Me.Gem[6].Name}].ID}==0 && ${Int[${Target.Buff[Ignite Intellect].ID}]}==0) /cast 6
/delay 5s ${Cast.Ready[7]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[7]} && ${Target.Buff[${Me.Gem[7].Name}].ID}==0 && ${Int[${Target.Buff[Dissident Paroxysm 1].ID}]}==0) /cast 7
/delay 5s ${Cast.Ready[8]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[8]} && ${Target.Buff[${Me.Gem[8].Name}].ID}==0 && ${Int[${Target.Buff[Broiling Shadow].ID}]}==0) /cast 8
/delay 5s ${Cast.Ready[9]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[9]} && ${Target.Buff[${Me.Gem[9].Name}].ID}==0 && ${Int[${Target.Buff[Pyre of the Wretched].ID}]}==0) /cast 9
/delay 5s ${Cast.Ready[13]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[13]} && ${Target.Buff[${Me.Gem[13].Name}].ID}==0) /cast 13






/goto :Loop
/return
 
ok. I think its working better. This look right?

INI:
#warning
#turbo 200

Sub Main
/pet attack


:Loop

/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[12]} && ${Target.Buff[${Me.Gem[12].Name}].ID}==0 && ${Int[${Target.Buff[Malevolent Covenant].ID}]}==0) /cast 12
/delay 5s ${Cast.Ready[1]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[1]} && ${Target.Buff[${Me.Gem[1].Name}].ID}==0 && ${Int[${Target.Buff[Pyre of Klraggek].ID}]}==0) /cast 1
/delay 5s ${Cast.Ready[2]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[2]} && ${Target.Buff[${Me.Gem[2].Name}].ID}==0 && ${Int[${Target.Buff[Crystal Crawler Venom].ID}]}==0) /cast 2
/delay 5s ${Cast.Ready[3]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[3]} && ${Target.Buff[${Me.Gem[3].Name}].ID}==0 && ${Int[${Target.Buff[Dracnia's Pallid Haze].ID}]}==0) /cast 3
/delay 5s ${Cast.Ready[4]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[4]} && ${Target.Buff[${Me.Gem[4].Name}].ID}==0 && ${Int[${Target.Buff[Danvid's Decay].ID}]}==0) /cast 4
/delay 5s ${Cast.Ready[5]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[5]} && ${Target.Buff[${Me.Gem[5].Name}].ID}==0 && ${Int[${Target.Buff[Grip of Zorglim].ID}]}==0) /cast 5
/delay 5s ${Cast.Ready[6]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[6]} && ${Target.Buff[${Me.Gem[6].Name}].ID}==0 && ${Int[${Target.Buff[Ignite Intellect].ID}]}==0) /cast 6
/delay 5s ${Cast.Ready[7]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[7]} && ${Target.Buff[${Me.Gem[7].Name}].ID}==0 && ${Int[${Target.Buff[Dissident Paroxysm 1].ID}]}==0) /cast 7
/delay 5s ${Cast.Ready[8]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[8]} && ${Target.Buff[${Me.Gem[8].Name}].ID}==0 && ${Int[${Target.Buff[Broiling Shadow].ID}]}==0) /cast 8
/delay 5s ${Cast.Ready[9]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[9]} && ${Target.Buff[${Me.Gem[9].Name}].ID}==0 && ${Int[${Target.Buff[Pyre of the Wretched].ID}]}==0) /cast 9
/delay 5s ${Cast.Ready[13]}
/if (${Target.Type.Equal[NPC]} && ${Cast.Ready[13]} && ${Target.Buff[${Me.Gem[13].Name}].ID}==0) /cast 13






/goto :Loop
/return

I'd change it to simply check if any cast is ready. Otherwise it will hold up waiting on each line before moving. Definitely a step in the right direction.
 
Macro - Macro question on casting

Users who are viewing this thread

Back
Top