1 打图腾
From: Myrafae
这个宏会按照宏列表上的循序用魔杖依次打掉图腾。在用魔杖打掉所有图腾后会将目标重新切回到打图腾前的目标。
note:这个宏只在你的目标是SM时才会起作用。同时将按下列优先级打掉图腾:
根基图腾 1
火焰抗性图腾 2
冰霜抗性图腾 3
风怒图腾 4
地缚图腾 5
----------------------------------------------------------------------
/script c=CastSpellByName;n=TargetByName;if UnitClass("target")=="Shaman" then n("Earthbind totem") n("Windfury totem")
n("Frost Resist") n("Fire Resist") n("Grounding totem") c("Shoot") TargetLastEnemy() else c("Shoot") end;-----------------------------------------------------------------------
请注意这个宏只有当你的目标是SM的时候才能起作用,也就是说即使你和一个牧师一个SM战斗时——当SM放下图腾——你也要把目标切成SM才
能启动这个宏。一个判断对方是否是部落然后寻找图腾的宏如下:
----------------------------------------------------------------------
/script c=CastSpellByName;n=TargetByName;if UnitFactionGroup("target")=="Horde" then n("Earthbind totem") n("Windfury totem")
n("Frost Resist") n("Fire Resist") n("Grounding totem") c("Shoot") TargetLastEnemy() else c("Shoot") end;-----------------------------------------------------------------------
2 奥术飞弹BUG修复
用这个宏可以通过防止重叠来消除奥术飞弹BUG。 /script cS, W = "Arcane Missiles(Rank 7)", 3
/script --CastSpellByName("Arcane Missiles(Rank 7)")
/script if sA==nil then sT = time(); eT = time() + W; CastSpellByName(cS); sA = true end; if eT <= time() then sA = nil
end
3 狂暴/施法
只对巨魔法师有效。
note:有LVL11Frostbolt的法师将rank 10改成rank 11就好了~:)
第一个版本是当狂暴触发时施放寒冰箭。
/cast Berserking
/cast Frostbolt(Rank 10)
第二个版本是当且仅当你的生命低于50%的时候(你也可以改动这个值)
/script if UnitHealth('player') / UnitHealthMax('player') < 0.5 then CastSpellByName("Berserking"); end
/cast Frostbolt(Rank 10)第三个版本是检查你的目标生命值是否低于20%,如果是,则施放寒冰箭。然后检查你的生命值是否低于50%,如果是,则触发狂暴,如果不是
则释放寒冰箭。
/script if UnitHealth('target') / UnitHealthMax('target') < 0.2 then CastSpellByName("Frostbolt(Rank 10)") end;
/script if UnitHealth('player') / UnitHealthMax('player') < 0.5 then CastSpellByName("Berserking"); end
/cast Frostbolt(Rank 10)-----------------------------------------------------------------------
4 魔杖
这个宏不影响你使用技能,但是当你的魔法不够下次施法时,就会自动改为魔杖射击。用其他法术代替“Frostbolt (Rank 10)”和所耗mana“
260”就能改成其他法术切换魔杖射击宏。
/script if (UnitMana("player")>260) then CastSpellByName("Frostbolt (Rank 10)") else CastSpellByName("Shoot") end;
-----------------------------------------------------------------------
5 法术选择
这个宏可以根据目标的职业来施放冰箭或是火球。也可以按找个人的需要来修改宏中的职业。
下面这个例子是当目标是战士或盗贼施放寒冰箭,当不是WL和mage的时候施放火球。
/script x=UnitClass("target");if(x=="Rogue" or x=="Warrior") then CastSpellByName("Frostbolt(Rank 10)");end; else if not
(x=="Warlock" or x=="Mage") then CastSpellByName("Fireball(Rank 11)");end;end;-----------------------------------------------------------------------
6 下马-变形
From: Lowallyn
立即下马然后施放变形术。包包中的马的位置用bag#和item#来表示。
/script UseContainerItem(Bag#, Item#);
/cast Polymorph(Rank 4)-----------------------------------------------------------------------
7 寒冰箭风筝
From: Geon
气定神闲前用1级寒冰箭,气定后用最高级冰箭。
/script i=1;m=0;while(UnitBuff("player",i)~=nil) do if(strfind(UnitBuff("player",i),"Spell_Nature_EnchantArmor")~=nil) then
m=1; end;i=i+1;end; c=CastSpellByName; if(m==1) then c("Frostbolt");else c("Frostbolt(Rank 1)");end;----------------------------------------------------------------------
8 协助
From: Graven
清除当前目标同时将目标切至填入的角色。
/script ClearTarget();
/assist [Name of Character]----------------------------------------------------------------------
9 低生命值使用魔杖
这个宏不会影响你正常的施放寒冰箭(或其他技能),但是当目标的生命值低于5%时(可以自行修改),将用魔杖代替。
/script if UnitHealth('target') / UnitHealthMax('target') < 0.05 then CastSpellByName("Shoot") end;
/cast Frostbolt(Rank 10)-----------------------------------------------------------------------
10 灵风特效:火球/炎暴
From: Gello
施放火球(一样可以修改),但当灵风聚焦出现时,施放炎暴。
/script local f for i=1,24 do f=f or strfind(UnitBuff("player",i) or "","Shadow_Teleport") end if not f then CastSpellByName
("Fireball") else CastSpellByName("Pyroblast") end----------------------------------------------------------------------
11 灼烧触发节能施法后放奥术飞弹
平时释放灼烧(可以修改),当触发节能施法的时候,将自动施放奥术飞弹(或其他法术)。
note:考虑到服务器lag,你可能要等大概1S来等待节能施法的出现以便启动这个宏。当然如果你在一个新的,人少的服务器,并且还有台NB的
电脑,那就没问题了:)
-----------------------------------------------------------------------
/script local q; local t;for i=0,15,1 do t=GetPlayerBuffTexture(i); if (t and string.find(t, "ManaBurn")) then q=1;
break; end; end; if(q ~= nil) then CastSpellByName("Arcane Missiles(Rank 7)") else CastSpellByName("Scorch(Rank 7)"); end;
-----------------------------------------------------------------------
12 碎冰:冰系攻击
用1级寒冰箭攻击,当目标冻住了后,施放10级寒冰箭。一样的,你可以对法术进行调整。有的改版用灼烧代替了1级寒冰箭。
-----------------------------------------------------------------------
/script x=UnitDebuff("target");if(x=="Frost Nova" or x=="Frostbite") then CastSpellByName("Frostbolt(Rank 10)");end; else if
not(x=="Frost Nova" or x=="Frostbite") then CastSpellByName("Frostbolt(Rank 1)");end;end;-----------------------------------------------------------------------
13 护符+奥术强化+气定神闲+炎暴
一键施法。但是不能在移动中使用,除非你想按2次。如果有短暂/赞达拉的话,放在装备栏的13(顶部饰品栏)和14(底部饰品栏)2个位置。
如果没有短暂/赞达拉,去掉第3和第4行。如果没有奥术强化,去掉第5和第6行。
note:1.10不能双开了~~~~~:(
-----------------------------------------------------------------------/cast Presence of Mind
/script SpellStopCasting();
/script UseInventoryItem(13);
/script SpellStopCasting();
/cast Arcane Power
/script SpellStopCasting();
/cast Pyroblast(Rank 8)-----------------------------------------------------------------------
如果上面的版本有些困难,试试以下版本:
----------------------------------------------------------------------
/script CBN=CastSpellByName;SSC=SpellStopCasting;CBN('Presence of Mind');SSC();UseInventoryItem(13);SSC();UseInventoryItem
(13);SSC();CBN('Arcane Power');SSC();CBN('Pyroblast')-----------------------------------------------------------------------
下面这个Jered的版本有同样的作用不过只用气定,护符和炎暴。
-----------------------------------------------------------------------
/cast Presence of Mind
/script SpellStopCasting();
/script s,d,e=GetInventoryItemCooldown("player",13); t=GetTime(); if(s+d<=t and UnitIsEnemy("player","target")) then
UseInventoryItem(13); SpellStopCasting(); end; CastSpellByName("Pyroblast");----------------------------------------------------------------------
14 护符后安全施法
From: Graguk's Warlock Macros
当且仅当敌对目标的生命值高于30%时,点这个宏将触发短暂/赞达拉护符(取决于你把哪个带在第1个饰品位)。施放火球术(12)
----------------------------------------------------------------------
/script local a=GetInventorySlotInfo("Trinket1Slot");local b,c=GetInventoryItemCooldown("player",a);if c <= 0 and
(UnitHealth("target") > 30 or UnitIsPlayer("target")) then UseInventoryItem(a);SpellStopCasting();end CastSpellByName
("Fireball(Rank 12)"); -----------------------------------------------------------------------B 防御性法师宏
1 闪现:调整到背后视角
From: Bardog
这个宏能在闪现后将视角调整为背后视角。也可以自行调整视角改变角度。当闪现过一个目标后这个宏十分有用,能让你马上再一次看到目标。
更多的信息,可以看下面这个地址:
http://www.wowwiki.com/World_of_Warcraft_API#Camera_Functions
-----------------------------------------------------------------------
/script SpellStopCasting();
/cast Blink
/script FlipCameraYaw(180);
-----------------------------------------------------------------------
2 解除诅咒
From: Pyius
无须decursive,这个宏将自动将目标换成自身然后移除一个诅咒。然后目标切回上个目标。在[your characters name]中填入自己角色的名字。
-----------------------------------------------------------------------
/target [your characters name]
/cast Remove Lesser Curse
/script TargetLastEnemy();
-----------------------------------------------------------------------
3 冰环等级
如果有mana就施放最高级的冰环,如果没有就施放1级冰环。
-----------------------------------------------------------------------
/script if ((UnitMana("player"))<65) then CastSpellByName("Frost Nova(Rank 1)");end
/script if ((UnitMana("player"))>=65) then CastSpellByName("Frost Nova");end
-----------------------------------------------------------------------
4 安全冰环
From: They
当尝试冰环的时候,如果冰环CD超过19S或者短于2S,那么不会动作,如果在这段CD内,则使用急冷。
这个宏能阻止你贸然使用掉急冷,同时也允许你在紧急情况下使用冰环--------------------------------------------------------------------/script SpellStopCasting(); local start, duration = GetSpellCooldown(57, 0); if ((GetTime() - start) <= 2) or ((GetTime() - start) >= 19) then CastSpell(57,0); else CastSpell(52,0); end
-----------------------------------------------------------------------
Llas提供的另一个版本合并了[Macro 3: Frost Nova Ranks]。工作原理如下:如果冰环失败,尝试1级冰环,然后急冷,如果还失败,则施放奥术爆炸。同样,如果冰环的CD将在5S内结束的话,不会启动急冷。
note:110后要用冰环的代码代替。5S的临界时间也可以修改。
-----------------------------------------------------------------------
/cast Frost Nova
/cast Frost Nova(Rank 1)
/script local s,t = GetSpellCooldown(110,"spell"); local l = t- (GetTime()-s); if (l > 5) then CastSpellByName("Cold Snap") ; end
/cast Arcane Explosion
----------------------------------------------------------------------
5 冰箱/急冷
Note by Rounced
按一下施放冰箱,如果CD尚未结束,启动急冷。再按一次释放冰箱。
note:1.10后不能用同一个宏来开/关冰箱了。
这个冰箱/急冷宏仍然能用但是只能让冰箱持续完10S。
-----------------------------------------------------------------------
/cast Iceblock
/cast Cold Snap
-----------------------------------------------------------------------
6 冰箱开/关宏
From: Cid, Delak
分别用2个宏来控制冰箱的开/关,以防止因为多次按冰箱导致的冰箱快速消失。
冰箱:
-----------------------------------------------------------------------
/script SpellStopCasting(); if (GetSpellCooldown(159,0) == 0) then CastSpell(159,0); end-----------------------------------------------------------------------
取消冰箱:
-----------------------------------------------------------------------
/script if (GetTime() - GetSpellCooldown(159,0) < 10) then CastSpell(159,0); end
-----------------------------------------------------------------------
***应该将自己技能书内冰箱所在的的位置(ID)进行替换。打开技能书,从通用技能那一页开始数起,从左上方开始,第1个记为1,数到你想要设置的技能,此顺序数即为此技能ID。用(X,0)这个形式写入marco里面。***
在聊天窗口内输入以下语句来判断是否数对了:
-----------------------------------------------------------------------
/script DEFAULT_CHAT_FRAME:AddMessage(GetSpellName(X,0));-----------------------------------------------------------------------
7 寒冰护体/魔法盾
当在寒冰护体的CD到的时候开启寒冰护体,如果CD没到,则开启魔法盾。
-----------------------------------------------------------------------
/cast Ice Barrier(Rank 4)
/cast Mana Shield(Rank 6)-----------------------------------------------------------------------
8 自我绷带
自我绷带宏。需要将绷带在包中的位置注明,绷带后将自动切回上个目标。
----------------------------------------------------------------------
/script TargetUnit("Player")
/script UseContainerItem(Bag#, Item#);
/script TargetLastEnemy();-----------------------------------------------------------------------
9 变羊宏
在5人副本中很有用,这个宏将通告你的队友你打算变羊的目标,这样就能避免队友去攻击要被变羊的目标。这个宏会用“Sheeping 性别/等级/目标姓名”这个格式把目标通告出来。例如:"Sheeping 女性 60 奥尼克希亚。"这个宏会在小队或是团队频道中说出来,具体取决于你在哪种队伍中。
----------------------------------------------------------------------
/script if UnitSex("target")==1 then g="female " else g="male " end;s="Sheeping "..g..UnitLevel("target").." %T";c="say";if GetNumRaidMembers()>0 then c="raid" elseif GetNumPartyMembers()>0 then c="party" end;SendChatMessage(s,c)
/cast Polymorph(Rank 4)-----------------------------------------------------------------------
From Wyzik:
-----------------------------------------------------------------------
/script if UnitSex("target")==1 then g=" Female" else g=" Male" end;s="is sheeping level "..UnitLevel("target")..g.." %T";a=0;if GetPartyMember(1) then a=1;end;if a>0 then SendChatMessage(s,"EMOTE") end;
/cast Polymorph(Rank X)-----------------------------------------------------------------------
10 停止施法-魔法反制宏
-----------------------------------------------------------------------
/script SpellStopCasting()
/script CastSpellByName("counterspell")-----------------------------------------------------------------------
11 魔甲术/冰甲术转换
From: Foamyla
切换魔甲术/冰甲术。如果身上是魔甲,则换成冰甲。反之亦然。
-----------------------------------------------------------------------
/script local s="Mage" ; for i=1,16 do if strfind(UnitBuff("player",i) or "","MageArmor") then s="Frost" ; break ; end ; end ; CastSpellByName(s.." Armor")-----------------------------------------------------------------------
C 有益类法师宏
1 合适等级的奥术智慧
自动为低等级玩家找到合适等级奥术智慧的一个宏。
-----------------------------------------------------------------------
/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-----------------------------------------------------------------------
2 吃喝宏
当HP/MP低于70%时,自动吃/喝。需要把面包放到背包的第2个格,水放到背包的第1个格。
-----------------------------------------------------------------------
/script if UnitHealth('player') / UnitHealthMax('player') < 0.7 then UseContainerItem(0, 2); end
/script if UnitMana('player') / UnitManaMax('player') < 0.7 then UseContainerItem(0, 1); end----------------------------------------------------------------------
3 灰色物品自动贩卖
当与商人谈话时自动贩卖灰色物品。
-----------------------------------------------------------------------
/script for bag = 0,4,1 do for slot = 1, GetContainerNumSlots(bag), 1 do local name = GetContainerItemLink(bag,slot); if name
and string.find(name,"ff9d9d9d") then DEFAULT_CHAT_FRAME:AddMessage("Selling "..name); UseContainerItem(bag,slot) end; end;
end----------------------------------------------------------------------
4 魔法宝石:All-in-One
要求把魔法红宝石放到背包的第14格,魔法黄水晶放到第15格,魔法玛瑙放到第16格。当魔法宝石到CD时,能用这个宏来使用魔法宝石。
note:第14格是背包底排第2个格,15格是第3个,16格是第4个。
/script UseContainerItem(0,14);
/script UseContainerItem(0,15);
/script UseContainerItem(0,16);-----------------------------------------------------------------------
5 收邮件宏
第1次点击打开邮件,第2次点击收取。不停的点击将打开并收取所有的邮件。
/script GetInboxText(1); TakeInboxItem(1); TakeInboxMoney(1); DeleteInboxItem(1);6 快速换装
From: Mukiryoku
脱:
/script local i,j,k=1 myGear={} for j=0,4 do for k=1,GetContainerNumSlots(j) do if not GetContainerItemLink(j,k) then
PickupInventoryItem(i) PickupContainerItem(j,k) myGear={j,k} i=i+1 if i>19 then j,k=5,20 end end end end穿:
/script if myGear then local i for i in myGear do PickupContainerItem(myGear[1],myGear[2]) PickupInventoryItem(i) end end7 快速接受任务
/script AcceptQuest()
-----------------------------------------------------------------------
8 自我BUFF
1.10后自我施法被禁止了,所以这个宏对自我施法很有用。如果有目标,那么对目标施法,如果没有目标。则对自身施法。
note:用其他你想要施放的法术取代" Arcane Intellect (Rank 5)"
-----------------------------------------------------------------------/script CastSpellByName("Arcane Intellect(Rank 5)");if((SpellIsTargeting())and(not UnitIsFriend("player","target")))then SpellTargetUnit("player");end;TargetLastEnemy();
-----------------------------------------------------------------------
9 Shut Up!
From: Kikyo
这个宏是为了那些经常被无故要水的法师写的。=。=
-----------------------------------------------------------------------
/say No, I don't have time to make you free stacks of water, unless you want to pay me 5G per stack.
/script CancelTrade()----------------------------------------------------------------------
10 做水男专用宏。。。
不停的做水(但是要不停的点。。。)oom后将使用背包第1个格中的物品。
----------------------------------------------------------------------
/stand
/script if (UnitMana("player")>780) then CastSpellByName("Conjure Water(Rank 7)") else UseContainerItem(0, 1); end;-----------------------------------------------------------------------
另一个版本是oom后使用唤醒,之后再做水
/stand
/script if (UnitMana("player")>780) then CastSpellByName("Conjure Water(Rank 7)"); end;
/cast Evocation
/script UseContainerItem(0, 1);----------------------------------------------------------------------D 基础宏命令
下面是一些最常使用的宏命令,很好懂,不翻译了。
/assist [name] - Assist your target or the named unit if specified
/cast name - Cast the named spell, which may include the rank in parenthesis
/afk [message] - Toggle yourself as "away from keyboard"
/dnd [message] - Toggle yourself as "do not disturb"
/duel [name] - Request a duel with your target, or the named unit if specified
/yield - Surrender to your opponent in a duel
/emote message - Emote the message (e.g. /emote picks his nose -> [slouken] picks his nose)
/follow - Automatically move to follow your current target
/guild message - Send the message to your guild chat
/ignore name - Toggle ignoring the named unit
/inspect - Inspect your target
/invite [name] - Invite your target or the named unit to your group
/join name - Join (or create) the named chat channel
/leave name - Leave the named chat channel
/logout - Sit down and logout
/ffa - Set "free for all" loot policy
/master name - Set the named unit to be the master looter
/roundrobin - Set "round robin" loot policy
/party message - Send the message to your party chat
/played - Show how much time your character has been online
/pvp - Enable PvP for the next 5 minutes
/raid message - Send the message to your raid chat
/random num - Roll a random number between 1 and num
/reply message - Send the message to the last player to whisper to you
/say message - Send the message to people around you
/target name - Target the named unit
/time - Show the current game time
/trade - Initiate a trade with your target
/uninvite name - Remove the named unit from your group
/whisper name message - Whisper the message to the named unit
/who - List the players around your level in the current zone