1. 首页 / 知识 /  正文

100分求高手手把手教我做宏!

100分求高手手把手教我做宏!

  的,出处忘了,知道的帮忙补下,看完你应该就明白个大概了

 1、由于CastSpellByName和TargetUnit在2。0被禁用,所以2。0之前的大部分宏将无法使用。现在,宏写法也有了很大的变化。没有宏可以检查Buff,Debuff,冷却,血量,魔法,怒气,能量。

  但是,大家也不用太惋惜,现在的宏可以实现许多新的功能,并且非常强大。

  2、在使用一些宏之前请先检查你的按键设置。系统默认Ctrl+1到10是使用宠物技能栏,而Shift+1到6是选定动作条。有些宏在使用时由于自己的设置有可能和这些默认的按键冲突,解决办法为改宏或者改掉系统默认的按键设置。

  3、把这篇文章一字不漏的看完,那么95%的宏你都可以自己写了。

身上各个部位编号:

  1:头

  2:颈

  3:肩

  4:衬衣

  5:胸

  6:腰带

  7:腿

  8:脚

  9:手腕

  10:手套

  11:手指1

  12:手指2

  13:饰品1

  14:饰品2

  15:背

  16:主手

  17:副手

  18:远程武器

动作条编号:

  主动作条1为 1--12

  主动作条2为13--24

  主动作条3(右1)为25--36

  主动作条4(右2)为37--48

  主动作条5(右下)为49--60

  主动作条6(左下)为61--72

背包及包裹格子编号:

  背包从右到左的编号分别是:4、3、2、1、0~

  包裹格子的编号是从左至右排列,一个包的第一行分别是:1、2、3、4~

  然后是包裹第2行:5、6、7、8~下面几行依次类推。

宏命令讲解:

/cast

简单的说就是/施放,并且使用这个命令的宏只有一个法术会被施放。现在的这个命令可以加入条件来判定法术是否被施放。比如“/cast [help,combat] 快速治疗”,这个宏的意思是当目标为友善,并且在战斗中,那么施放快速治疗。

  可用的条件:

  help-判断目标是否为友善;

  harm-判断目标是否为敌对;

  combat-判断你是否在战斗中;

  stance或stance:#-判断你是否在姿态中或是否在指定姿态中;

  stealth-判断你是否在潜行;

  modifier或modifier:x(x可为shift、ctrl、alt 或者是它们的组合)判断某个或某几个按键是否被按下。

  equipped:-判断某件物品是否在装备中。可以是装备栏编号、装备分类(武器、副手。。。)、装备子类(双手剑、法仗等等。。。)

  target=-可以把技能目标指定为任何有效的目标,并且可以另你不丢失当前目标!还可以为“none”,用来指定没有目标的时候。

  “self”,用来指定只对自己施放。比如“/use [target=self] 厚符文布绷带”,无论任何时候都只对自己使用绷带。

  actionbar:-判断当前动作条是否被列出。可为1、2、3、4、5、6~

pet:-pet type为宠物类型;pet name为宠物名字。

  如果不填写宠物类型或名字则判断宠物是否存在。

  mounted-判断是否在坐骑上。

  swimming-判断是否在游泳。

  flying-判断是否在飞行中。

  outdoors-判断你是否在室外。

  indoors-判断你是否在室内。

  button:判断某个特定按钮是否被用来触发技能。可为1(鼠标左键)、2(鼠标右键)、3(鼠标按键3,也就是鼠标滚轮向下按,不是向上滚也不是向下滚)、4(鼠标按键4,多键鼠标专用)、5(鼠标按键5,多键鼠标专用)。默认为1。

  channeling-判断你是否在引导法术。

  channeling:法术名称-判断你是否在引导特定的法术。

  exists-判断特定目标是否存在。

  dead-判断目标是否死亡。

  stance:-判断是否在姿态中,默认为1(只写stance不写编号为默认)。牧师的暗影形态,盗贼的潜行都为1。

  战士:1战斗、2防御、3狂暴

  德鲁伊:1熊、2海豹?、3猫、4旅行、5枭兽/树

  equipped:装备名称/类型/子类型-判断某件装备是否在装备中。比如“/cast [equipped:魔杖] 射击”,这个宏的意思是如果装备魔杖就使用射击。

/castsequence

  连续点击可以按顺序施放指定法术。一个法术施放失败,后面的法术就不会被施放。

  常使用的条件选相:

  reset=或target或combat或它们的组合,其他同“/cast”。

  简单介绍一下/target/combat的作用。

-代表数字,一般都是1到1800,单位为秒。/castsequence reset=120 部落徽记,亡灵意志,这个宏的功能是先使用部落徽记,然后使用亡灵意志。如果120秒后亡灵意志依然没有被施放那么还是使用部落徽记。但是,  reset=永远都是在你施放最后一个法术的时候开始记时。

  target-切换目标时重至宏。

  combat-战斗开始时重至宏。

  所有条件都可以在前面加“no”来达到相反的效果!比如“nocombat”,判断你是否不在战斗。

“,”相当于以前的and。比如“/cast [help,combat]快速治疗”,这句的意思就是目标为友方并且在战斗中时使用快速治疗。

“/”相当于以前的or。

/castrandom

  随机施放法术,比如“/castrandom 变形术:猪,变形术:羊,变形术:龟”。(我变~我变~我变变变!)

/use

使用物品或装备,不再需要指定编号。比如“/use 厚符文布绷带”。

/userandom

随即使用指定的几件物品。

目标选定:

/targetenemy

选定一个敌对目标。

/targetfriend

选定一个友善目标。

/targetparty

选定一个小队队友为目标。

/targetraid

选定一个团队队友为目标。

/targetlasttarget

选定上个目标。

/targetlastenemy

选定上个敌对目标。

/assist

协助~同“/协助”。

宠物类:

/petattack

宠物攻击。

/petstay

宠物停止。

/petfollow

宠物跟随。

/petpassive

宠物被动形态。

/petdefensive

宠物防御形态。

/petaggressive

宠物攻击形态。

/petautocaston 法术名称

宠物法术自动施放开启。

/petautocastoff 法术名称

宠物法术自动施放关闭。

/focus

一直锁定一个目标~比如把这个命令和宠物攻击结合做一个宏。再比如你当前的宠物是MM,并且用这个宏让MM去攻击一个战士,然后你切换了目标,并让MM施放诱惑,这时MM诱惑的目标不会是你当前的目标,而是刚才的那个战士。

# show

这个命令可以让你的宏显示指定法术或物品的图标。

/cancelaura

取消BUFF~比如“/cancelaura 奥术智慧”。

/stopmacro [option]

停止宏,可加条件判定。这里有一个特殊的例子:

/cast [harm] 变形术

/stopmacro [noharm]

/p 正在把%t?羊!?e去碰它!

如果变形术施放失败,那么就不会在小队内说话。

/click

点击?貌似是的。和“/cast”一样何以加事件判断。

实例:/click [pet:虚空行者]PetActionButton1

还要说的一个重点内容:“PetActionButton1”,1可以改为1-10任何一个数,意思就是宠物技能栏的1-10。

最后,送大家两个宏:

/console SET targetNearestDistance "50"

将“TAB”能选定目标的最远距离改为50码。

/console SET targetNearestDistanceRadius "50"

将“TAB”能选定身后目标的最远距离设为50码,不过并不推荐这么做,20就够了。

学习实践这个帖子的小经验和小问题

  学习实践这个帖子的小经验和小问题,终于可以用简体字了,我真不易。。

  因为在tf玩,所以下面有繁体字,技能名有出入。。。

经验:

  1。不要直接copy 别人的代码到以下文件中:

  "盘符:\Program Files\World of Warcraft\WTF\Account\帐号名\服务器名\人物名\macros-cache。

  txt"

  容易出问题,我就遇到过2行代码,死活不灵,在游戏里重新输入一遍,就好了 =。。=

  2。在宏里加一个"#showtooltip",看技能效果很方便,特别是"3吸取"那种宏,开始不熟悉快捷键可以看看。

  3。不要乱添分号 ";":

  但凡与写代码沾一点边的人,一行字结尾不加个";"就全身不舒服。

  。。。。以懒人练级宏为例:

  #showtooltip

  /castsequence [nomodifier] reset=combat/target 生命虹吸,痛苦詛咒,腐蝕術,獻祭,吸取生命,吸取生命;

  /cast [modifier:alt]吸取靈魂;[modifier:ctrl]吸取法力;[modifier:shift]吸取生命;

  这是一个错误的示范,加了";",后面的3吸取就没有效果了,要去掉。

  4。宏的图标选择,请多试试图标选择面板里的第一个"问号图标"。

  以亡灵意志宏为例,图标选择"?",如果看看macros-cache。txt,图标名就是"INV_Misc_QuestionMark"

  #showtooltip

  /stopcasting

  /cast [nomodifier]防護暗影結界;[modifier:alt]亡靈意志

  这个宏在我的技能栏1的第5格上,按5就是暗防,按alt+5就是反恐。

  当选择问号图标并拖到技能栏以后,问号图标就显示"防護暗影結界"的图标了,会显示该技能cd,当你按下"alt"(注意还不是"alt+5"),该图标自己变化为"亡靈意志",并且显示的是"亡靈意志"的cd。

  上面经验3里那个宏我就用的问号图标,特方便看现在该施放哪一个技能了

你的情况其实也就是使用了

/castsequence

这是一个顺序释放的宏,可以添加判定条件,如reset=5,target,combat

/castsequence reset=5,target,combat 技能1,技能2,技能3

RESET后面的分别代表5秒后,切换目标,是否进入战斗,如果符合条件就重置技能顺序

都这么多人说了

但我要告诉你 一键战士盾击(盾猛)+复仇+盾牌格档+破甲的宏是不可行的!!!切忌切忌 会自动选择 一个怒气最少的 都发出去不可能!

还有就是玩战士还想这么偷懒的话 我劝楼主不要玩战士了

后面的自己编译一下就好

拒绝一键战士下RAID~ 这种战士通常意识很差- -!

  终结宏教程 (转)

都是经常出现的问题

由于WOW 2。0即将来临,宏的写法也将发生巨大变化,由于CastSpellByName和UseAction两个核心函数的禁用,到时这里很多宏将需要新的写法,甚至失效。基础知识

1。 关于一键xx宏

公共CD是WOW中的基本法律,你平时要遵守,用宏仍然要遵守,所以那些需要按一下就能“变羊气定炎爆火冲冰锥”的可以离开了,我们无能为力,这里所说的一键xx是指:同一个宏,你每按一下做一个动作,同一个宏反复使用可以智能做出一系列反应,两次按键之间清自己留出公共CD时间

2。

   动作条编号

下面的宏经常会要求你自己填某技能在动作条上的编号,这是因为技能/物品的冷却时间,射程等信息只能这样得到

动作条共有6个,每条包括12个按钮,共72个,通过菜单-界面设置 可以全部显示出来

图上动作条上红色数字是每条第一个按钮和最后一个按钮的编号

实际上暴雪提供了120个按钮,不过后面73-120不显示的,通过Flexbar等插件可以全部看到

3。

   技能书编号

上边动作条编号大部分时间可以用技能在法术书中的编号代替,这样可以有效减少动作条的使用

但并不是都能代替,因为使用法术书中的编号只能得到技能的冷却信息,射程等其他信息无法得到

得到技能在法术书中编号请使用这个宏

技能名不要加等级,比如 多重射击

/script local s,i,n="你要查的技能名",1;while 1 do n=GetSpellName(i,"spell");ifbreak;end;i=i+1;else break;end;end;

4。

   物品在背包中的位置

现在使用背包中的物品必须指定物品所在包裹编号,以及物品在包裹中的格子序号:UseContainerItem(bag, slot)

bag就是包裹编号,slot就是包裹中格子序号,WOW 2。0中这种情况将得到改善

包裹编号请看上边的图,每个包裹最左上角编号是1,其余格子从左往右依次2 3 4。

公共部分

关于自身施法,包括给自己打绷带

自身施法已经被WOW整合,给自己打绷带也算自身施法

主菜单 - 界面设置 - 自动自身施法 上面打勾

首先是最常被问到的

饰品 + 强力buff + 技能 双开宏的写法

到处都是这种如何写双开宏的问题,无非就是一个强力buff如奥术强化,能量灌注;和一个护符一起开

后面再接一个秒人的技能,其实写法很简单,通用写法:

/施放 强力buff 比如奥术强化,能量灌注,血性狂暴等

/script SpellStopCasting;

/script UseInventoryItem(13); 13是指饰品1,14是饰品2

/script SpellStopCasting;

/施放 秒人技能

只要记住,其实护符也属于强力buff,使用强力buff,开护符都不会触发公共CD,所以才能最后跟一个大技能,

而这些buff,护符之所以能连续使用,是因为后面跟了个/script SpellStopCasting;注意,每句都要跟

例如

奥火法奥术强化 + 护符 + 炎爆

/施放 奥术强化

/script SpellStopCasting;

/script UseInventoryItem(13);

/script SpellStopCasting;

/施放 炎爆术

牧师能量灌注 + 心灵专注 + 护符 + 痛

/施放 能量灌注

/script SpellStopCasting;

/施放 心灵专注

/script SpellStopCasting;

/script UseInventoryItem(13);

/script SpellStopCasting;

/施放 暗言术:痛

格式很简单,每个buff/护符后面跟个/script SpellStopCasting,看明白了吧?

以后再有问这种月经问题者,砍

附:各职业无公共CD技能表

法师:气定神闲,奥术强化,急速冷却,燃烧

牧师:心灵专注,能量灌注

术士:诅咒增幅,恶魔支配,恶魔牺牲

盗贼:冷血,闪避,急跑,消失

德鲁伊:自然迅捷,低吼,狂怒,猛虎之怒,急奔

猎人:威慑,急速射击

萨满祭司:元素掌握,自然迅捷

战士:破釜沉舟,横扫攻击,嘲讽,挑战怒吼,血性狂暴,盾牌格挡

圣骑士:神恩术,审判

* 各种 “下一次攻击附加xxx”的技能也没有公共CD,比如猎人猛禽,战士英勇打击,熊德捶击

自动射击,魔杖射击等也属于这种情况!

双饰品 + 强力buff + 技能

有些有钱人不止有一个饰品,而现在饰品不能双开,开了一个另一个也跟着进入CD,这就需要使用下边的双饰品宏

两个饰品同时佩戴,哪个CD好了用哪个

/script local c,s,x,u,p,d,e,_=CastSpellByName,SpellStopCasting,GetInventoryItemCooldown,UseInventoryItem,"player";c("奥术强化");s;_,d,e=x(p,13);if d0 then u(13);else _,d,e=x(p,14);if d0 then u(14);end;end;s;c("炎爆术");

其他职业技能,种族天赋等请自己替换,同样,再有问类似月经问题者,砍

铁皮手雷

点一下用手雷,再点一下取消并再用手雷,没瞄好可以重新瞄准

这个宏会停止自动攻击,铁皮手雷不需要放到特定格子,会自动搜索

/script local b,s,l;if Combat then AttackTarget;end;SpellStopCasting;for b=0,4 do for s=1,18 do l=GetContainerItemLink(b,s);if l and strfind(l,"铁皮手雷") then UseContainerItem(b,s);break;end;end;end;

随机坐骑宏

把马放到最右边包里,从第一格开始往后放,你有几个坐骑就把上边红色数字改成几(不包括召唤的)

想放在其他地方的,参考上边基础知识自己修改,自动下坐骑的功能取消

/script UseContainerItem(0,random(你坐骑个数));

奸商叫卖宏

把你要叫买的东西放到最左边的包里,会把里边所有的东西在交易频道喊出来

喊话一行放的物品数目有限制的,所以每行只放了4个物品,分多次喊完

/2 出售以下物品,要的MM

/script local s,i,n,l="",1,0;while i2 or i17 then SendChatMessage(s,"CHANNEL",nil,2);s="";n=0;end;end;i=i+1;end;

切换动作条

在1,2两动作条间切换,数字可以自己改

/script if CURRENT_ACTIONBAR_PAGE==1 then CURRENT_ACTIONBAR_PAGE=2;else CURRENT_ACTIONBAR_PAGE=1;end;ChangeActionBarPage;

双采-切换雷达

/script local t=GetTrackingTexture;if t and strfind(t, "Flower") then CastSpellByName("寻找矿物");else CastSpellByName("寻找草药");end;

寻找精英怪

为了抓到断牙某些猎人会在荒芜蹲几天,阿拉西高地的纳兹加克王子会掉PK极品潮汐咒符,这个宏可以帮助你

/script local s="纳兹加克王子";TargetByName(s,1);if UnitName("target")==s then ChatFrame1:AddMessage("找到");end;

上边名字自己修改

要水宏 - 法师别打我……

如果对方是法师就说点好听的,如果按住Alt再用这个宏,还会同时发出交易,好像有点过分了……

/script if UnitClass("target")=="法师" then SendChatMessage("给点水好吗?谢谢");if IsAltKeyDown then InitiateTrade("target");end;end;

团队部分

既然是团队部分,那就说明只有在团队下才能使用,不在团里的别跑来问我为什么不能用!

RL专用,给目标上团队标记

现在团长可以给目标上星星,三角等标记,但每次点右键很不方便,试试这个

/script SetRaidTarget("target",图标编号);

上边红色数字取值 0-8

0 = 取消图标

1 = 黄色四角星

2 = 桔黄色圆

3 = 紫色钻石

4 = 绿色三角形

5 = 白色月亮

6 = 蓝色方块

7 = 红色X

8 = 骷髅

这样可以做8个宏,快捷键分别设成Ctrl-F1 。

  。。 Ctrl-F8,这个随意,这样给团员分配目标

比如放逐,变羊,休眠等的时候能够事半功倍

而且后面有些宏需要标记作为依据,可以和这个宏搭配使用

所以,先给你的队员分配好每个人专管的数字吧!

自动锁定RL给自己分配的怪,放逐/变羊/休眠并报告,怎么处理随你便

这个宏配合上面的RL分配标记宏一起使用,首先你需要RL给你分配你专门照顾的目标的图标

具体对应关系看上边那个宏,假如是黄色四角星,就是1

把下边红色的数字换成RL给你分配的数字

术士版

/script local i,t;for i=1,GetNumRaidMembers do t="raid"。

  。i。。"target";if GetRaidTargetIndex(t)==RL分给你的编号 then TargetUnit(t);CastSpellByName("放逐");SendChatMessage("%t放逐中","yell");break;end;end;

法师版

/script local i,t;for i=1,GetNumRaidMembers do t="raid"。

  。i。。"target";if GetRaidTargetIndex(t)==RL分给你的编号 then TargetUnit(t);CastSpellByName("变形术");SendChatMessage("%t变羊中","yell");break;end;end;

德鲁伊版

/script local i,t;for i=1,GetNumRaidMembers do t="raid"。

  。i。。"target";if GetRaidTargetIndex(t)==RL分给你的编号 then TargetUnit(t);CastSpellByName("休眠");SendChatMessage("%t催眠中","yell");break;end;end;

注意,这个宏不是每次都能奏效,因为它实际上是通过检查你队友目标是不是制定目标来实现的,

当包括团长的团队中没有任何人选中你的目标时你只能手动去选择了

密语团内所有指定职业 RL用比较好

一次M团队中所有指定职业,打Nef这种BOSS时应该很有用,注意别狂点,会刷屏……

指定职业,说话内容自己改

/script local i,p;for i=1,40 do p="raid"。

  。i;if UnitClass(p)=="牧师" then SendChatMessage("停止治疗!!","whisper",nil,UnitName(p));end;end;

根据目标职业要buff

如果目标是法师就M他要智力,牧师要韧,小D要爪子

/script local x,c,i,s={["法师"]="智力",["牧师"]="韧",["德鲁伊"]="爪子"},UnitClass("target");for i,s in x do if i==c then SendChatMessage("给个"。

  。s。。",谢谢~","whisper",nil,UnitName("target"));end;end;

报告当前团队活着、死亡、掉线人数,还有boss血量宏

/script local c,o,d,i,n,a,b,_=0,0,0;for i=1,40 do n,_,_,_,_,_,_,a,b=GetRaidRosterInfo(i);if n then c=c+1;if a then o=o+1;end;if b then d=d+1;end;end;end;SendChatMessage("%t 还剩"。

  。UnitHealth("target")。。"%,共"。。c。。"人,死亡"。。d。。",掉线"。。c-o,"raid")

给目标所在小队加群体Buff,并报告,团队/小队均可

/法师版

/script local t,n,g,i,_;CastSpellByName("奥术光辉");if UnitInRaid("player") then t=UnitName("target");for i=1,40 do n,_,g=GetRaidRosterInfo(i);if t==n then SendChatMessage(g。

  。" 队智力已加过","yell");break;end;end;end

/牧师版

/script local t,n,g,i,_;CastSpellByName("坚韧祷言");if UnitInRaid("player") then t=UnitName("target");for i=1,40 do n,_,g=GetRaidRosterInfo(i);if t==n then SendChatMessage(g。

  。" 队韧已加过","yell");break;end;end;end

/德鲁伊版

/script local t,n,g,i,_;CastSpellByName("野性赐福");if UnitInRaid("player") then t=UnitName("target");for i=1,40 do n,_,g=GetRaidRosterInfo(i);if t==n then SendChatMessage(g。

  。" 队爪子已加过","yell");break;end;end;end

团队中自动给血最少的人刷血宏

/script local p,h,i,j="raid",UnitHealth,1;for j=2,GetNumRaidMembers do if h(p。

  。i)h(p。。j) then i=j;end;end;p=p。。i;if not UnitIsDead(p) and UnitIsVisible(p) then TargetUnit(p);CastSpellByName("快速治疗");TargetLastTarget;end;

快速治疗可以换成别的法术,看你什么职业了

团队复活宏

本宏对所有复活职业通用,但首先你要知道你的复活技能所在按钮的序号,看上边基础知识图

用你查到的复活所在的序号替换红色数字

/script local p,i,t="raid";for i=1,40 do t=p。

  。i;if UnitIsDead(t) then TargetUnit(t);if IsActionInRange(你复活按钮编号) then UseAction(你复活按钮编号);SendChatMessage("我开始复活 %t",p);break;end;end;end;

一键驱散宏 - 256字节取代Decursive !!!

注意:

如果这个宏因为你和队友中间隔着柱子等障碍物而停止的话,请你走几步

宏只能帮你简化操作,不能帮你破坏游戏规则

牧师,德鲁伊,萨满祭司的提供了单独的 小队版 和 团队版,请注意版本,solo无效

法师和圣骑士的是团队/小队自适应版,solo无效

原因是法师,圣骑士只有一种解除魔法,而牧师,德鲁伊,萨满祭司有两种,限于256字节写不下了

===========================牧,德,萨 小队版========================

牧师版

/script local s,p,i,d,t,_={["Magic"]="驱散魔法",["Disease"]="驱除疾病"};for i=1,4 do p="party"。

  。i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget;break;end;end;end

德鲁伊版

/script local s,p,i,d,t,_={["Poison"]="驱毒术",["Curse"]="解除诅咒"};for i=1,4 do p="party"。

  。i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget;break;end;end;end

萨满祭司版

/script local s,p,i,d,t,_={["Poison"]="消毒术",["Disease"]="袪病术"};for i=1,4 do p="party"。

  。i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget;break;end;end;end

===========================牧,德,萨 团队版========================

牧师版

/script local s,p,i,d,t,_={["Magic"]="驱散魔法",["Disease"]="驱除疾病"};for i=1,40 do p="raid"。

  。i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget;break;end;end;end

德鲁伊版

/script local s,p,i,d,t,_={["Poison"]="驱毒术",["Curse"]="解除诅咒"};for i=1,40 do p="raid"。

  。i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget;break;end;end;end

萨满祭司版

/script local s,p,i,d,t,_={["Poison"]="消毒术",["Disease"]="袪病术"};for i=1,40 do p="raid"。

  。i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget;break;end;end;end

===========================法,骑 团队,小队自适应版===================

法师版

/script local n,p,t,i,d=4,"party";if UnitInRaid("player") then n=40;p="raid";end;for i=1,n do t=p。

  。i;if UnitDebuff(t,1,1) and CheckInteractDistance(t,4) then TargetUnit(t);CastSpellByName("解除次级诅咒");TargetLastTarget;break;end;end;

圣骑士版

/script local n,p,t,i,d=4,"party";if UnitInRaid("player") then n=40;p="raid";end;for i=1,n do t=p。

  。i;if UnitDebuff(t,1,1) and CheckInteractDistance(t,4) then TargetUnit(t);CastSpellByName("清洁术");TargetLastTarget;break;end;end;

团队自动补单体buff宏

说明:

自动搜索团队内没有相应单体buff(真言术:韧,奥术智慧,野性印记)的团队成员,

为其补上,掉线的,死亡的,不在射程的都会忽略掉。

牧师版 - 真言术:韧

/script local i,p;for i=1,40 do p="raid"。。i;if CheckInteractDistance(p,4) and not UnitBuff(p,1,1) then TargetUnit(p);CastSpellByName("真言术:韧");TargetLastTarget;break;end;end;

牧师版 - 神圣之灵

/script local i,j,b,f,p;for i=1,40 do f=nil;p="raid"。

  。i;if CheckInteractDistance(p,4) then for j=1,16 do b=UnitBuff(p,j);if b and strfind(b,"eSpir") then f=1;break;end;end;if not f then TargetUnit(p);CastSpellByName("神圣之灵");break;end;end;end;

法师版:

/script local i,p;for i=1,40 do p="raid"。

  。i;if CheckInteractDistance(p,4) and not UnitBuff(p,1,1) then TargetUnit(p);CastSpellByName("奥术智慧");TargetLastTarget;break;end;end;

德鲁伊版:

/script local i,p;for i=1,40 do p="raid"。

  。i;if CheckInteractDistance(p,4) and not UnitBuff(p,1,1) then TargetUnit(p);CastSpellByName("野性印记");TargetLast。