AutoTarget 鼠标划过敌对阵营自动选其为目标,对很远地方很小的点不到的目标非常好用
NECB 显示对方施法进度条的插件,不用多介绍相信基本人人都有
Sheepwatch/Nova watch 显示变型和冰环解除的进度条计时器,同类插件有不少
EzDismount 按技能自动先下马,冲到人群里狂按冰环就下马冰环了,碰到迎面来的敌人狂按羊就下马开始羊~
Decursive 一键解诅咒,人手一个的东西
其他一些像SpellAlert SCT的相信不用多说
值得推荐的是一个叫做Super Macro的插件,它支持7000字长的宏,还支持/use命令,自己寻找背包内物品而不用把物品放在固定格子再做宏来使用,还支持宏显示宏内含的技能的冷却倒计时,还支持以buff名字来取消buff以下我会介绍一些基于这个插件的宏(基本都是我自创或者改写的,如果发现网上有类似的绝对我发布在别处被人引用的):
首先介绍个取得技能名字的语句
/script DEFAULT_CHAT_FRAME:AddMessage(GetSpellName(X,0));
可以把这句做成宏,然后要用的时候复制里面的内容到聊天栏,把这里的X请换成数字,可以显示出相应编号的技能,想要知道技能编号就一点点用数字试,因为不同天赋技能书的技能编号是不同的(因为有些技能要天赋支持)
奥术智慧宏:
/script r=5;l={1,14,28,42,56};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l[ i]-10) then CastSpellByName("Arcane Intellect(Rank "..i..")");break;end;end;
/script if UnitIsUnit("player","target") then TargetLastTarget();end;
/script if( SpellIsTargeting()) then SpellTargetUnit("player");end;
效果:根据目标等级自动选择相应等级的奥术智慧,这个宏网上到处都是但是因为宏长度的关系所以不完善,我把它改了改但是超过255个字了所以必须要supermacro支持。原版没有的功能:如果目标为不可施放单位(敌对,npc等)则对自己使用并且不丢失目标,如果无目标则对自己使用并且保持无目标。
绷带宏:
/script if (GetZoneText() == "Arathi Basin") then UseItemByName("Defiler‘s Runecloth Bandage"); elseif (GetZoneText() == "Warsong Gulch") then UseItemByName("Warsong Gulch Runecloth Bandage"); elseif (GetZoneText() == "Alterac Valley") then UseItemByName("Alterac Heavy Runecloth Bandage"); else UseItemByName("Heavy Runecloth Bandage");end;
/script if( SpellIsTargeting()) then SpellTargetUnit("player");end;
效果:根据3大战场和其他场所自动选择对应3大战场的绷带及厚符问绷带,无目标/目标为敌人/目标不可被绷带/目标为自己时给自己打绷带,目标为友方时对其打绷带。身上带4种绷带就好无论放什么位置。原来为传统宏使用者设计过这个宏但是要分2个先点一个取变量很麻烦,现在既然用这个插件就合并成一键了。
强制对自己绷带宏:
/script TargetUnit("player");
/script if (GetZoneText() == "Arathi Basin") then UseItemByName("Arathi Basin Runecloth Bandage"); elseif (GetZoneText() == "Warsong Gulch") then UseItemByName("Warsong Gulch Runecloth Bandage"); elseif (GetZoneText() == "Alterac Valley") then UseItemByName("Alterac Heavy Runecloth Bandage"); else UseItemByName("Heavy Runecloth Bandage");end;
/script TargetLastTarget();
功能如上一个只是无论什么情况都对自己打(盗贼用丢星,法师用没事)
最完美的冰箱宏:
/script SpellStopCasting(); CancelBuff("Ice Block"); if (GetSpellCooldown(179,0) >= 2) then CastSpell(147,0); else CastSpellByName("Ice Block"); end;
功能:中断正在施放法术并使用冰箱;如果在冰箱中就解冰箱;如果冰箱冷却时间大于2秒则使用急冷。传统冰箱宏能解决冷却中使用急冷的问题,但是又没办法做到像按技能书里拉出来冰箱技能那样1键开1键解,这个宏把2者合并了,需要supermacro的cancelbuff语句支持
注:其中179是我目前的冰箱编号,147是急冷编号,下同
解毒剂宏:
/use Powerful Anti-Venom
/script if( SpellIsTargeting()) then SpellTargetUnit("player");end;
功能:对目标使用解毒剂,无目标/目标为敌人/目标为自己/目标无法使用该物品则对自己使用
铁皮手雷宏:
/script SpellStopCasting();
/use Iron Grenade
功能:使用手雷,再按为取消;不限制手雷放在背包什么位置
一键喝红:
/use Major Healthstone
/use Major Healing Draught
/use Combat Healing Potion
/use Major Healing Potion
效果:按顺序使用极效治疗石,战场5分钟冷却的瓶子,荣誉瓶子,极红
一键萝卜/夜龙:
/use Whipper Root Tuber
/use Night Dragon‘s Breath
一键4种魔法石按顺序吃:
/use Mana Ruby
/use Mana Citrine
/use Mana Jade
/use Mana Agate
从大到小顺序,不用再为他们准备不同的格子了
以上宏都需要super macro支持
再来其他一些常规宏:
冰环宏:
/script SpellStopCasting(); local start, duration = GetSpellCooldown(156, 0); if ((GetTime() - start) <= 2) or ((GetTime() - start) >= 19) then CastSpellByName("Frost Nova(Rank 1)"); else CastSpellByName("Cold Snap"); end
效果:放冰环,冷却时间如果大于2秒小于19秒则使用急冷。
注:其中156是我目前的1级冰环编号