i actually had an error in that i declared the timer as a string instead of a timer and had the scope/type reversed because i havent written code in months. but the premise is that you can
/declare global variables that exist until you shut down mq2. inside a macro you are declaring them as "outer", which really means they exist as long as the macro is running, or as "local" which means it only exists inside a sub within a macro.
So you can declare a bunch of global variables in a .cfg file that will exist in the background and use them to store information for
mq2melee, or
mq2hud, or etc purposes. all you have to do is have a mechanism in place to manipulate their values.
so inside my mq2/configs/ingame.cfg (this executes each time you enter game), i have the following:
/if (!${EQBC.Connected})
/bccmd connect
/viewport reset
that way my viewport resets and my eqbc connects when i enter game.
and for my zoned.cfg i have:
/if (${Twist.Twisting})
/squelch /twist off
/if (!${EQBC.Connected})
/bccmd connect
So if i zone and am /twisting something it stops, and it will reattempt to connect to eqbc in case i was dropped somehow.
So how I could use that in a holyshit:
ingame.cfg:
/if (!${Defined[Burn]})
/declare Burn bool global FALSE
mq2melee ini:
holyshit1=/if (${Burn} && ${Me.AltAbilityReady[super duper skill]})
/alt act ${Me.AltAbility[super duper skill].ID}
holyshit2=/if (${Burn} && ${Me.AltAbilityReady[super awesome skill]})
/alt act ${Me.AltAbility[super awesome skill].ID}
then you can make a hotkey:
/varset Burn ${If[${Burn},FALSE,TRUE]}
then when you hit that hotkey it toggles burn mode on and off to either fire or not fire your 2 holyshits.