• 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 --->
  • Unfortunately, yes, there is a suspension wave happening around the new tlp launch. :'( Please keep regular discussion to Suspension MegaThread and please consider submitting a Suspension report to RG.

delay between casts (1 Viewer)

ethereal

New member
Joined
Apr 28, 2006
RedCents
I have been trying to teach myself how to write my own macros. It is working fine so far but just with the most basic commands. The one I am currently working on is for a shaman. Since I am new at writing these I am not using anything that requires plugins because I don't quite understand how to write them in yet.

to make him slow I had him, after assisting the tank

[ code ]
/if (${Target.PctHPs}<98 && ${Target.PctHPs}>75) /goto :slow

because thats the only way I could figure it out to not chain cast slows during the entire fight. Problem is I want him to also panther me. Panther lasts 1.5mins iirc so I dont want him chain casting that every 10 seconds either. But if I put a /delay 900 after casting it, my guess is the macro itself would be on hold for that 90 seconds In which case I may die from lack of heals. So my first question is, how do you have him just put a timer on a certain spell to where he wont cast it again until it either wears off or for a set amount of time. The posts I see that have these in them are using spellroutines, which is cool, but like I said, I don't quite have a grasp on how to write one from scratch using plugins.

My second issue is sort of tied in with the first. I can set it up to cast me a pet. But, again he will keep doing that if there is nothing else with a higher priority that needs done. So that's no good. I'm not sure if it's possible to cast a pet only once and have some kind of a check to only cast it again if it dies. And also to have it attack the target of the tank if the mobs HP< 95%

Any help is appreciated. Hopefully I can get better at this and can maybe help other people along too.
 
/declare SlowTimer timer outer 1m
/declare PantherTimer timer outer 85s
[...]
/if (SlowTimer==0) /call Slow
/if (PantherTimer==0) /call Panther
/if (!${Pet.ID}) /call CastPet
/assist Tank
/delay 1
/if (${Target.PctHPs}<95) /pet attack
[...]

Sub Slow
/assist TANK
/delay 1
/call cast "SlowSpellZOMG"
[whatever else you want]
/varset SlowTimer 1m
/return

Sub Panther
/target Whoever
/delay 1
/call cast "PANTHER_GO_RAWR_RAWR!"
[whatever else you want]
/varset PantherTimer 85s
/return

Sub CastPet
/call cast "PetSPellZOMG"
[whatever else you want]
/return
 
A better way is to add a hard coded slow at the beginning of your combat routine and then varset the timer to be 5 seconds quicker then the usual wear off time.

Pet casting is so long that I wouldn't even leave it in the combat loop but do it when no mobs are in camp.

I also learned that hard coding in a HoT prior to the pull is also very good.
 
First off. I really appreciate your helping and quick response. Okay so now this is what I have after working what you gave me into my simple little thing. I am at work right now so I can't test it but maybe you would know if I have any obvious faults in how I put it together.

Rich (BB code):
| This is assuming you have gem1=hot. gem2=patch heal. Using delays between casts in 
| case of fizzles.


Sub Main

/declare SlowTimer timer outer 1m
/declare PantherTimer timer outer 85s
[...]

:loop

/if (${Me.State.NotEqual[Sit]}) /sit
/if (${Me.PctHPs}<70) /goto :hot
/delay 2
/target PC Tanksname
/delay 2
/if (${Target.ID.}==FALSE) /goto :loop
/if (${Me.Casting.ID}) /goto :loop
/if (${Target.PctHPs}<40) /goto :heal
/if (${Target.PctHPs}<70) /goto :hot2
/if (PantherTimer==0) /call Panther
/if (!${Pet.ID}) /call CastPet
/assist off
/delay 4
/if (SlowTimer==0) /call Slow
/if (${Target.PctHPs}<95) /pet attack
[...]

/return

Sub Slow
/assist TANK
/delay 1
/call cast "Balance of Discord"
/varset SlowTimer 1m
/return

Sub Panther
/target Tanksname
/delay 4
/call cast "Talisman of the Panther"
/varset PantherTimer 85s
/return

Sub CastPet
/call cast "Kyrah's Faithful"
/return

:hot
/Target PC Mynamehere
/delay 4
/cast gem 1
/delay 4
/cast gem 1
/delay 65
/goto :loop

:hot2
/delay 4
/cast gem 1
/delay 4
/cast gem 1
/delay 65
/goto :loop

:heal
/delay 4
/cast gem 2
/delay 4
/cast gem 2
/delay 65
/goto :loop

/return
 
Rich (BB code):
| This is assuming you have gem1=hot. gem2=patch heal. Using delays between casts in 
| case of fizzles.


Sub Main

/declare SlowTimer timer outer 50s
/declare PantherTimer timer outer 85s
[...]

:loop

/if (${Me.State.NotEqual[Sit]}) /sit
/if (${Me.PctHPs}<70) /goto :hot
/delay 2
/target PC Tanksname
/delay 2
/if (${Target.ID}) /goto :loop
/if (${Me.Casting.ID}) /goto :loop
/if (${Target.PctHPs}<40) /goto :heal
/if (${Target.PctHPs}<70) /goto :hot2
/if (${PantherTimer}==0) /call Panther
/if (!${Pet.ID}) /call CastPet
/assist off
/delay 4
/if (${SlowTimer}==0) /call Slow
/if (${Target.PctHPs}<95) /pet attack

[...]

:hot
/Target PC Mynamehere
/delay 4
/cast gem 1
/delay 4
/cast gem 1
/delay 65
/goto :loop

:hot2
/delay 4
/cast gem 1
/delay 4
/cast gem 1
/delay 65
/goto :loop

:heal
/delay 4
/cast gem 2
/delay 4
/cast gem 2
/delay 65
/goto :loop
/return

Sub Slow
/assist TANK
/delay 1
/call cast "Balance of Discord"
/varset SlowTimer 1m
/return

Sub Panther
/target Tanksname
/delay 4
/call cast "Talisman of the Panther"
/varset PantherTimer 85s
/return

Sub CastPet
/call cast "Kyrah's Faithful"
/return
 
Thanks a ton man. Will give this a shot as soon as I get home. 1 more quick question for you. How are you copying the
Rich (BB code):
 to show up like that instead of all noobish like mine?
 
delay between casts

Users who are viewing this thread

Back
Top