
Originally Posted by
Pandorablue
I remember reading a discussion about this a while ago, but I've lost it. I could ask this in the spellcast thread, but I'll ask here anyway.
Say I want to make a macro that switches to PDT/MDT set mid-fight by using spellcast and a variable, how would I go about doing that?
I remember a guy saying something like he wrote a macro that would just say "//sc var set" etc. followed by a "dummy spell" like /ma "Meteor" <t>, but I just tried that and it doesn't work. Both of those lines when typed in a macro result in "... A command error occurred" and spellcast does nothing.
Anyone know how to accomplish this? Would be annoying to have to type it out every time...
Well, I use a more complex version of this to handle all of my Evasion/Acc/Defense/etc. swaps, but more simplified:
Code:
<!--Variables-->
<var name="MDT">0</var>
<var name="PDT">0</var>
<!--End-->
<!--Toggles-->
<if spell="DummySpell1">
<if advanced='"$MDT" = "0"'>
<var cmd="set MDT 1" />
<addtochat color="57">Gear Toggle - MDT On</addtochat>
</if>
<else>
<var cmd="set MDT 0" />
<addtochat color="57">Gear Toggle - MDT Off</addtochat>
</else>
</if>
<if spell="DummySpell2">
<if advanced='"$PDT" = "0"'>
<var cmd="set PDT 1" />
<addtochat color="57">Gear Toggle - PDT On</addtochat>
</if>
<else>
<var cmd="set PDT 0" />
<addtochat color="57">Gear Toggle - PDT Off</addtochat>
</else>
</if>
<!--Aftercast and Gear Swap Handling-->
<if spell="Dummy Spell1|Dummy Spell2|etc."><var cmd="set Time precast" /></if>
<elseif spell="autoset">
<if status="resting"><var cmd="set Time resting" /></if>
<elseif status="idle"><var cmd="set Time idle" /></elseif>
<elseif status="engaged"><var cmd="set Time engaged" /></elseif>
</elseif>
<else><var cmd="set Time aftercast" /></else>
<!--End-->
<if status="engaged">
<if Advanced='"$MDT" = "1"'><equip when="$Time" set="MDT" /></if>
<elseif Advanced='"$PDT" = "1"'><equip when="$Time" set="PDT" /></elseif>
<else><equip when="$Time" set="TP" /></else>
</if>
<!--End-->
Something like that should work.