Macro Variables

Ok just added in a new feature that will be part of the 2.6 release. It is a game changer to a degree. You can create custom variables on a macro base that can be used to substitute . EG you could have a set of options like [nochanelling,blah,blah,blah] you could set a variable called say 'MOD" and replace that list with ~~MOD~~ There is a ~~GCD~~ that comes out of the box and replaces with your OOC GCD. /click pause ~~GCD~~ for example. A variable can also be a function as long as it returns a value. eg: function() return getcooldown(somespell) end

Full Detail (including Screenshots): Allow for variables to be added to macros · Issue #691 · TimothyLuke/GSE-Advanced-Macro-Compiler · GitHub


i am very interested in this. going to check it out.

Just to be aware though these are not dynamic. They are evaluated while you are out of combat. If a proc ups your haste temporarily, this won’t be reflected in the GCD variable. If you change gear out of combat though, this will be reflected.

Note the MOD variable and how its used in the macro
For the other two lines - this is what they output.


Love it, can’t wait to try it. Been waiting for it LOL :wink:


I don’t think I understood what is variable in the addon I don’t even see it inserted and I downloaded the new version what would it do in practice for example me playing hunter bm?

call it like a Type of “language” abbreviation but with “rights”

u can use fewer words and time on doing your macros

BUT the thing here you are able now to see the timestamp running of the gcd in chat window ( and not in the debug window of GSE )


@gamers You wont see it till Prepatch hits.

I am trying to think of how to use this for my classic hunters burst macro. I lost it in the update and now i need to rebuild it. but I’m thinking of how to put in the aimed shot cd time so if i spam it I don’t clip my autoshots. The one i had working popped my earthstrike and rapid fire and then aimed shot multi shot. It was really good at deleting people lol

@TimothyLuke I have been playing around with this. It appears variables are not recalculated during combat? My testing seems to indicate no. If it can, then I am guessing a macro cannot read the changed value until after combat ends? This would be awesome if it did, but simple reading of GetSpellCooldown would mean we could create conditionals in our macro, a real BIG game changer if this was allowed. For example, the following variable is not re-evaulated during combat when I GSE.Print() in a macro sequence:

function() local start, duration= GetSpellCooldown(19574) if ( start > 0 and duration > 0) then local cdLeft = start + duration - GetTime() return tostring(cdLeft) end return tostring(0) end

1 Like

They are only evaluated out of combat as once combat starts they are locked. If you want gSE to calculate in combat this is possible but not on Blizzard servers. This limitation is explicitly noted everywhere I talk about Variables.

From earlier in this thread …

1 Like

Thank you, I missed that, I read the top post, but didn’t fully read the remainder of the thread, my apologies. :slight_smile:

I’ve tried using /click pause ~~GCD~~

As far as I can tell it isn’t working. The reason I was playing with this was to solve my timing problems (using debug).

I understand that ~~GCD~~ is a feature of gse2. I was able to use the print command in this thread to prove the variable has a value. But /pause isn’t documented anywhere as being a supported wow macro command.

Is /pause command gse2 provides?

Yes it’s only a GSE thing and you need to set it up in GSE’s options. Was added a year ago.

Catch me on Twitch

1 Like

I was wondering if i could get a little more information on this. I checked the site and other comments but it was just for that GCD thing, but maybe im blind. I think it would be a nice tool to have in the toolbox but not necessarily a needed one being as you can just copy and paste stuff. I just need a little more info on how to implement it.

And that might be a never mind, i found some more info coincidentally here. Is this how you would do it then?

And after reading and understanding how this works a little more now i can see you did say it, even though it was briefly
“variable Trinket1 = 13
/use ~ ~Trinket1~~”

And I have now watched the video, thanks for all the info. And GSE3 looks like the original GS where you had to edit the file external of wow and had to know the format and stuff.

No the UI will cover this. But if you understand what is underneath it makes you more accurate. In GSe1 and GSE2 there were a lot of hidden things that happened. This is bringing those to the forefront and putting them under the macro authors control.

Well regardless, im excited to see what it is like. And thank you for all that you do.