Call to Arms auto queue macro

UI and Macro
Purpose: Queries the CTA buff every 10s, if the CTA buff is present then queue for LFD and stop checking for CTA. Additionally provides a stop button in the upper left hand corner of the screen to stop checking the CTA buff.

Usage: Run the first macro when ever your UI is reloaded. To start watching for the CTA buff hit the 2nd macro. I created a third macro that calls them both in order. Your macro to do so will vary depending on what buttons you put these macros.

/click MacaroonButton45
/click MacaroonButton58


Lastly this macro is for healers only, to make it for tanks change the "_,_,h" to "_,h" in the first macro below.

The Macros:


/run u="OnUpdate";m=UIParent;x=function(y) y:SetScript(u,function(f,e)f.t=f.t+e;if f.t>10 then f.t = 0;RequestLFDPlayerLockInfo();_,_,h =GetLFGRoleShortageRewards(434, 1);if h then LFDQueueFrame_Join();f:SetScript(u,nil);f:Hide();end end end);end;


/run if n==nil then n=CreateFrame("Button","a",m,"UIPanelButtonTemplate");x(n);n.t=0;n:SetPoint("TOPLEFT",0,0);n:SetWidth(40);n:SetHeight(22);n:SetText("Stop");n:SetScript("OnClick",function(f) f:SetScript(u,nil);f:Hide();end);else n:Show();x(n);end
Is there a way to get this macro to display a visual to alert you instead of just queueing you automatically? I love that you put something like this together, just not sure how to tweak it like this myself.

Thanks,

Beldar
If you want a visual cue instead, try something like:

http://www.wowinterface.com/downloads/info19750-LFDCalltoArms.html
http://www.wowinterface.com/downloads/info20784-Spooner.html

and then there's LDB pluggins if you're using an broker info bar.
My queuing macro also adds some text.


/run print("Queing when CTA is active");
/run function p() print("Queueing for LFD"); end
/click MacaroonButton45
/click MacaroonButton58


Then in the 2nd macro I added a p(); after the f:hide(); so it looks like

/run u="OnUpdate";m=UIParent;x=function(y) y:SetScript(u,function(f,e)f.t=f.t+e;if f.t>10 then f.t = 0;RequestLFDPlayerLockInfo();_,_,h =GetLFGRoleShortageRewards(434, 1);if h then LFDQueueFrame_Join();f:SetScript(u,nil);f:Hide();p();end end end);end;

SO now when I hit the macro it says "Queing when CTA is active" and then when it actually queues it says "Queueing for LFD".

Join the Conversation

Return to Forum