Spell_routines.inc help/advice?

kombat

Spammer
Joined
Feb 25, 2007
Messages
66
Reaction score
0
Points
0
Hi after hundreds of hours(possibly longer) ive been trying to work out why there
is a massive pause sometimes during my macro running.

The pause can last anywhere between 10 to 30 secs (so i die as it should be casting a lifetap),9 times out of 10 it works fine.

To try and rule out my macro being retarded I went over it carefully and removed ALL the delays I could find....still no luck...

So I made up the same macro but used a War to run around and edited out the spell_rountines.inc to see what happened, well it ran like a cut cat and never blinked once even after training over 15 mobs on the war.

So i guess what im asking is.... is there a cut down version of this file that just gets on with it rather than standing around waiting for what ever it is? its waiting for.

Or can some one educate me on how to get past this "wait" time its doing.

Cheers :)
 
Last edited:
Example line from macro
/call Cast "spell name" gem1 7s CheckHP 2

How it passes to Cast routine:
Sub Cast(spellName,spellType,giveUpValue,mySub,int ResistTotal)

What that means:
That spell would try to cast for 7 seconds before moving on to something else. There is a default value if you dont use anything, depending on the version you use. But that should only matter if you are scribing a spell. /casting using MQ2Cast has an up to 18 second delay i think.

Bottom line: if your spell is memmed and ready, you either have a typo or are doing something wrong. and if it isnt memmed and ready, you should make a check for that as an /if (${Me.SpellReady[Name]}) /call Cast so you dont run into the issue you are describing.
 
Last edited:
This sounds similar to the problem I had, it just fails to recognize that the longer recast spells are in fact ready for some reason regardless of what recast times are set in a macro.

The give up time seems to be incredibly large though and given it's hard coded in MQ2Cast, it makes things more of a pain to work with.

What I did find helps is enabling the MQ2CastTimer plugin, it didn't resolve the issue completely but it seemed to make a noticeable difference.
 
This sounds similar to the problem I had, it just fails to recognize that the longer recast spells are in fact ready for some reason regardless of what recast times are set in a macro.

The give up time seems to be incredibly large though and given it's hard coded in MQ2Cast, it makes things more of a pain to work with.

What I did find helps is enabling the MQ2CastTimer plugin, it didn't resolve the issue completely but it seemed to make a noticeable difference.
Then you are doing it wrong. You should set up a method to /memorize a spell if not memmed, and then wait until Me.SpellReady to try to cast.
 
I don't write the macros, if you'd be as kind to 'do it right' for me I would be happy to compensate... how ever these are the premium bots I bought from Devestator and this was the 'solution' that reduced the severity.


I also always have had the spell memmed and they are always ready to cast when I get the error.



Can replicate it no worries.
 
/if (${Me.SpellReady[Name]}) /call Cast

Thanks Pete for the check ready code, ive put this in and ill test it out!

/if (${Me.SpellReady[Name]}) /call Cast
 
I don't write the macros, if you'd be as kind to 'do it right' for me I would be happy to compensate... how ever these are the premium bots I bought from Devestator and this was the 'solution' that reduced the severity.


I also always have had the spell memmed and they are always ready to cast when I get the error.



Can replicate it no worries.
He would have to code it differently for macro purposes. For downshit/holyshit purposes, use /memspell (http://www.macroquest2.com/wiki/index.php/Memspell) if you have some really long recast spell that keeps getting de-memmed
Code:
downflag1=/if (!${Me.Buff[icon name].ID} && ${Spell[icon name].Stacks} && !${Me.Gem[1].Equal[Buff spell name]}) /memspell 1 "Buff spell name"
downflag2=/if (${Me.SpellReady[Buff spell name]} && !${Me.Buff[icon name].ID} && ${Spell[icon name].Stacks}) /casting "Buff spell name" gem1 30s
There arent too many spells that would require that work around, but there are a few. Realize that you need to dedicate a buff slot to this that the others dont use or you would get that same de-memorization problem.
 
Last edited:
I am not sure how that would work for combat spells ie nukes or swarm pets?

Also the spells I have issues with don't share gem #'s with any any other spell, never de-memmed by the macro or otherwise really. If im manually playing the char it remains the same also.