• 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? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->

Macro - Macro question on casting (1 Viewer)

Joined
Mar 23, 2019
RedCents
40¢
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.
 
Joined
Feb 9, 2017
RedCents
1,741¢
Depending on how you are calling these to work, obviously it isn't going to be able to cast all of your nukes at once. Are you using this as conditions? What does the whole macro look like?
 
Joined
Dec 24, 2017
RedCents
1,031¢
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?
 
Joined
Mar 23, 2019
RedCents
40¢
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
 
Joined
Mar 23, 2019
RedCents
40¢
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?

Code:
#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:
Joined
Feb 19, 2016
RedCents
1,529¢
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.
 

ChatWithThisName

⚔️🛡️🗡️
Moderator
Joined
Dec 29, 2017
RedCents
251¢
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.
 
Joined
Mar 23, 2019
RedCents
40¢
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
 
Joined
Feb 19, 2016
RedCents
1,529¢
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.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Top