As you know macros like this won't work:
/console SET TargetNearestDistance 10 /targetenemy [target=target, noexists] /console SET TargetNearestDistance 50 /focus /cast Sap /stopmacro [target=target, noexists] /script c=UnitClass("target"); SendChatMessage('SAP in use on %t ('..c..')',"PARTY")I've managed to create similiar macros, it's more than 255 symbols long so you'll need to create 3 macroses:
/script if not UnitExists("target") then te=0; else te=1; end; sn="Sap"; fn=IsSpellInRange /targetenemy [noexists] /script if te==0 and (fn(sn)==0 or not fn(sn)) then PickupAction(14); PickupAction(15); end /swapactionbar 1 2 /click ActionButton4Macros "SAP2":
/script PickupAction(15); PickupAction(14); /cleartargetMacros "SAP3":
/click ActionButton3 /swapactionbar 1 2 /focus /cast Sap /stopmacro [noexists] /script c=UnitClass("target"); SendChatMessage('SAPing %t ('..c..')',"PARTY")So what do you need for it to work: place macros "SAP" on your main bar, change current bar to 2, place macros "SAP2" in slot 2, and macros "SAP3" in slot 4.
How it works: if you have target, it won't deselect it and will attempt to SAP your target. If you don't have target then it will try to SAP anyone in the radius of 5/10yards(it checks your talants). Macros uses script functions that not avaible in combat, but i can assume that stealth=nocombat. If you happen to be in combat somehow macros will work but won't know the range to your enemy. Sapped enemy added to focus.
Another rogue usefull macroses:
/stopattack /focus [modifier:alt] party1target /focus [modifier:shift] /focus [target=focus,dead] /focus [target=focus,noexists] /stopmacro [modifier:ctrl] /cast [target=focus] Blind /p %f <Blind 10 sec>Blind your focus without modifiers(the one who was saped in most cases), with modifier shift blinds your current target, with modifier alt blinds your party member target.
/use [modifier:alt,modifier:ctrl] Instant Poison VII;[modifier:alt] Crippling Poison;[modifier:ctrl] Mind-numbing Poison;[modifier:shift] Wound Poison V;Deadly Poison VII /use [button:1] 16; [button:2] 17All poisons in one slot, push modifiers(alt,ctrl,shift) to change poison, left click applies poison to main hand, right click applies poison to off hand.
Eat in stealth:
/use [modifier:alt] Underspore Pod /use [modifier:ctrl] Conjured Croissant /use [nomod:alt,nomod:ctrl]Conjured Mana Strudel /stopcasting /cast [nostealth] StealthEats food in stealth, you can change food for modifiers if you want.
Evasion if you are target of you target(usefull only in PVE):
/cast First aid /script n1=UnitName("player"); n2=UnitName("targettarget"); if (not n2 or not n1==n2) then DoTradeSkill(2); end /cast First aid /cast Evasion /stopcasting /cast MutilateMacros perfoms your primary attack ability and pops evasion if the target looks on you. This macros will work only if you stand in one place, if you move it have chance to fail. You also need some frostweave in your inventory. Change Mutilate to your primary ability.
Dismantle/Expose armor in one button:
#showtooltip Dismantle /cast [nomod:shift] Expose Armor /cast [mod:shift] DismantleTwo actions in one button, tooltip always show cooldown for Dismantle. Click without modifiers casts Expose Armor, click with shift to cast Dismantle.
All finishers in one button:
/cast [modifier:ctrl] Rupture; [modifier:shift] Envenom; EvisceratePush modifiers to change ability.
Tricks of the Trade without selecting target:
/cast [target=Madcat] Tricks of the TradeChange Madcat to your mage name or someone else.
Night Elf Vanish:
/cast [nomod:shift] Vanish /cast [mod:shift, combat] Shadowmeld /cast [mod:shift, nostance:1] StealthClicking without modifiers uses vanish, with modifier shift it uses shadomeld+stealth. Note: you need to be standing in place to use Shadowmeld.
I've many other macroses in my arsenal, but they are not so interesting.