宏命令完全手册
一:基础教程
1.什么是宏命令?
玩过EQ的都知道一点宏的知识,比如组队时用来告诉队友你的行动,告诉目标等。最简单的比如puller 常用
的: /v %t过来了,大家集中火力。 法师常用的: /v 我要催眠%t,大家不要打醒他 这些宏个性鲜明,是EQ的一
大乐趣之一。
然而EQ毕竟是N年前的游戏,宏也比较简单,和它比起来。WOW的宏就复杂和强大的多了。它的函数就有上千种
,如果都掌握,能实现许多匪夷所思的功能。
一个宏可以完成一个相对比较复杂的命令.比如战斗中发布命令,如果打字当然不算麻烦,但在战斗中却很要命.
浪费了时间和生命.一个简单的宏便可以用一个键来完成这一切.
2.宏命令的设置流程:
首先,回车,再敲/MACRO。看见了吧?会弹出一个窗口,上面有New(新建宏命令)和Complete(完成宏命令
)两个按键。点New,又会弹出一个窗口,哇,花花绿绿的,里面包括了WOW几乎所有的技能图标,随你喜欢,随便
选一个!它就是你设置的宏命令的图标了,给它取个名字吧!方便你用的时候好找。然后回到第一个窗口,在它上
面有一个输入菜单(别告诉我找不到…它可是占了这个窗口的一半多…)在里面输入特定的内容,然后点Complete
。接下来你要做的就是把这个代表你宏命令的图标用鼠标左键拉到快捷栏里,想怎么用就怎么用…
3.下面就是怎样设置宏的内容了,简单的设置大家可以看我们网站上"基础"篇的宏介绍.
相信很多人都知道WOW中的斜杠"/"和表情命令.宏可以将这些命令按照自己对条件的设置串联起来,比
如:/Kneel是让你跪下来的动作而/say就是最基础的对话动作
我们现在用一个宏把他们串起来:
第一行内容:“/Kneel”
第二行内容:“/say 如果你不嫁给我,那么我就一辈子不起来…” ”
这样你的人物就会先下跪再说:"如果你不嫁给我,那么我就一辈子不起来…"
宏可以应用所有WOW中已经定义了的斜杠"/"和表情命令,更要命的是,宏甚至可以应用人物的魔法和技能,
只需要在宏的定义过程中应用"/cast"命令,下面是已知的一些常用命令:
/Assist 这是个援助进攻的命令。当你的队伍同时面对几个敌人时,只要点击自己的队友(一般是队伍中的战
士),然后使用这个命令,你的目标就会变成战士所选中的目标。大家集中火力消灭一个起!
/Cast 这是个使用技能的命令。当你在宏命令里输入/Cast 技能名(技能等级)或者只要按住Shift同时用鼠
标点击一下你想要输入的技能的图标。例如当你是一个战士,想制作一个使用战斗怒吼的宏时,你可以输入/Cast
Battle Shout(Rank 1)或者是直接按住Shift点击Battle Shout这个技能的图标。当然你可以在一个宏的不同行
上输入几个技能,那么当你使用这个宏时,几个技能就会一起释放出来,再用不着你像章鱼一样同时按下几个键了
。
%t 这个符号也许会经常出现在你的宏命令里,它是一个代码,代表你当前所选中的人名。例如,你在宏里写
下这么一句。(注意:后面要加一空格。) “/g %t ,今天天气真好,有没兴趣和我一起上山采蘑菇…”
如果你点中一位名叫苯笨的玩家,那么当你按下这个宏时,你就会说:“笨笨,今天天气真好,有没兴趣和我
一起上山采蘑菇…”
/Target 这是一个自动选择目标的命令,你可以在宏里输入/Target (xxx),那么当你按下这个宏时,你将
自动选定这个叫xxx的目标。
/in 这是一个延时命令,时间以秒为单位.同时它不支持攻击指令.格式:/in 3 dance 三秒后跳舞,如/in 3
dance,就是在3秒后跳舞,
/say start!
/in 3 say 3s later
/in 6 say 6s later
二:进阶教程
一些有用的 Macro
1。允许你在窗口和全屏状态之间切换
/script SetCVar("gxWindow", 1 - GetCVar("gxWindow"));
/console gxRestart
2。对于法师,必须要有的:将“X”换为你目前的变形术等级(下同);用它替换掉变形术技能。当你在队伍
之外时使用它会得到“你不在队伍中。”的信息,但在队伍中的时候其它同伴会了解到你将释放的变形术目标。
/p Sheeping >>> %t <<<
/cast Polymorph (Rank X)
3。作为一个术士,这是在队伍中使用的宏:首先将目标转为拖怪手或者坦克正在攻击的目标,然后命令宠物
向前攻击,跟着一个虚弱诅咒。
/assist 队伍中的拖怪手或者坦克的名字
/script PetAttack();
/cast Curse of Weakness (Rank X)
4。从背包和袋子里切换身上的武器
/script if ( not CursorHasItem() ) then PickupContainerItem(, );
PickupInventoryItem( ); end
bag# - 使用哪一个袋子的物品(0、1、2、3、4。0是背包)
slot# - 袋子里的位置(从0至左上)
equip# - 16 是主要武器, 17 是副武器
5。这个宏治疗队伍里你指定的人,如果你不在队伍中它会治疗你自己。然后会自动将目标切换回你最后一个
敌人。它同时还会使用队聊提醒队友你会治疗哪一个人。
/script if (UnitName("target") ~=nil and UnitIsFriend("player","target")) then
CastSpellByName("Heal(Rank X)") SendChatMessage("Incoming Heal to %T", "Party") else
TargetUnit("player") CastSpellByName("Heal(Rank X)") TargetLastEnemy(); end
6。加速任务显示速度
/script QUEST_DEscriptION_GRADIENT_CPS = 600000
/script RegisterForSave("QUEST_DEscriptION_GRADIENT_CPS")
/script DEFAULT_CHAT_FRAME:AddMessage("quest text will scroll faster now");
7。消除等待接受任务的时间
/script AcceptQuest()
8。这个宏可以在路上自动护送玩家做任务。
/assist [player name]
/cast 法术(Rank X)
/target [player name]
/follow [player name]
9。切换主副武器,详情看第四条
/script PickupInventoryItem(16); PickupInventoryItem(17);
10。在没有目标或者目标是敌人的时候给自己加增益魔法或治疗。
CastSpellByName("Spell Name(Rank X)");
if ((SpellIsTargeting()) and (not UnitIsFriend("player","target")))
then
SpellTargetUnit("player");
end;
TargetLastEnemy();
11。切换双手武器与单手 盾或者双手挥舞武器
/script PickupInventoryItem(17);if(CursorHasItem()) then PickupContainerItem
(4,2);PickupContainerItem(4,1);PickupInventoryItem(16);else PickupContainerItem
(4,1);PickupInventoryItem(16);PickupContainerItem(4,2);PickupInventoryItem(17);end
12。设定“真实鼠标视野”
/script CameraOrSelectOrMoveStart(arg1);
想取消就再次输入。
13。切换近程技能栏和远程技能栏
/script CURRENT_ACTIONBAR_PAGE = 2;
/script ChangeActionBarPage();
/cast aspectofmon key (just use the left click)
/script CURRENT_ACTIONBAR_PAGE = 1;
/script ChangeActionBarPage();
/cast aspectofhawk (just use the left click)
14。牧师对队友的一键加血,比如一号键给第一队友加血,二号键给第二队友加血,免除了还要鼠标确
定目标的操作。依次类推,从第一个人到最后一个
给队友1加血:
/script TargetUnit(GetPartyMember(1))
CastSpellByName(Heal(Rank X)) TargetLastEnemy()
给队友2加血:
/script TargetUnit(GetPartyMember(2)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
给队友3加血:
/script TargetUnit(GetPartyMember(3)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
15。一键解决喂养宠物:这个宏会从最左边的袋子里的第一个位置拿出食物喂养宠物,如果所在的位置
没有食物,它会自动打开袋子。
/script if (not PlayerFrame.inCombat) then if (not GetContainerItemLink(4, 1)) then
OpenBag(4); else CastSpellByName("Feed Pet"); PickupContainerItem(4, 1); end end
16。术士宏
1)如果目标生命大于20,释放抽取生命法术,否则使用灵魂抽取。
/script if (UnitHealth("target")>20) then CastSpellByName("Drain Life(Rank X)") else
CastSpellByName("Drain Soul(Rank 2)") end;
2)虚弱诅咒版本
/script if (UnitMana("target")>0) then CastSpellByName("Curse of Tongues(Rank X)") else
CastSpellByName("Curse of Weakness(Rank X)") end;
17.先治疗自己,然后自动选中上次的敌人
/target Pugar //选择自己,假设自己的名字是Pugar
/cast Lesser Heal (Rank 1) //施展次级治疗rank1
/script TargetLastEnemy(); //重新选择刚刚选择的敌人
/script AttackTarget(); //攻击,等同于右键点击敌人
18.对于一个术士很有用的宏:首先将目标转为拖怪手或者坦克正在攻击的目标,然后命令宠物向前攻击
,跟着一个虚弱诅咒。
/assist 队伍中的拖怪手或者坦克的名字
/script PetAttack();
/cast Curse of Weakness (Rank X)
19.等治疗完之后提醒别人注意下自己有可能被怪打,不加延时的话,就没这个效果了。
/p healing %T, need 3s, don"t run away
/cast heal (rank 1)
/in 4 p cured %T 300HP,please notice the enemies turn on me^_^
20.在路上自动护送朋友做任务。
/assist [player name]
/cast 法术(Rank X)
/target [player name]
/follow [player name]
三:高级教程
WOW的宏函数库可以去这两个地方查:
http://www.cosmosui.org/texts/BlizzardCommands.xml
http://www.wowwiki.com/index.php/World_of_Warcraft_API
函数的使用比较简单,学习过编程的都比较容易上手,基本的用法是在函数前加/script 来使用。比如
/script CURRENT_ACTIONBAR_PAGE = X;
/script ChangeActionBarPage();
就是将你的快捷栏翻到第X页。
函数库中有许多函数都是非常有用和方便的,比如一次打开所有包包:
/script OpenAllBags();
配合关闭包包的函数,一次关闭所有包的宏也可以实现:
/script CloseBag(0);
/script CloseBag(1);
/script CloseBag(2);
/script CloseBag(3);
/script CloseBag(4);
怎么样,下次你卖东西的时候不会一个个开包关包了吧?
使用函数还不是最恐怖的,恐怖的是WOW的宏是可以用条件判断的,看下面这两个:
/script if ( GetComboPoints() >= 3 ) then CastSpellByName("Rip(Rank 2)"); else if (
UnitMana("player") >= 40 ) then CastSpellByName("Rake(Rank 1)"); end end
据说这个包含if,then的宏可以让盗贼实现自动根据combo点数来使用技能(未测试),其中还使用了角
色MANA值的调用,恐怖吧?还有这个查找spell的宏:
function GetSpellIdByItsName(myWantedSpell, myWantedRank)
local spellId = 1;
local spellBook = "spell";
local spellName, rankName;
spellName, rankName = GetSpellName(spellId, spellBook);
while (spellName ) do
if ( ( spellName == myWantedSpell ) and ( ( not myWantedRank ) or ( rankName = myWantedRank
) ) ) then return spellId; end
spellName, rankName = GetSpellName(spellId, spellBook);
end
return -1;
end
里面可以自己定义function,还使用了while,do这样的循环,是不是让你想到了N种应用的可能呢?
遗憾的是,目前官方似乎没有提供延时的宏,所以在战斗中使用多种有延时的技能是无法实现的(无延时的技
能可以实现同时使用),类似换其他武器-使用技能或法术-换回武器这样的功能也无法实现,
(所谓用宏实现剑盾战士换双手武器MS再换回来是行不通的),不过使用COSMOS的朋友可以用/in 来实现非战
斗指令的延时,比如
/in 3 say hi 就会在3秒后说句hi。
/in 6 /script MoveForwardStart(arg1);
就会在6秒后向前跑。
虽然法术和技能无法用/in指令来延时,但这样已经很强大了,比如,你可以编出各种运动的宏,如兜后,转
身等。PVP时估计是必不可少的。
下面是一个玩家写的双手武器战士自动逃跑的宏:
/script UseContainerItem(0, 2);ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown
(12);ActionButtonUp(12);
/cast Thunder Clap(Rank 1);
/script TurnLeftStart(arg1);
/in 1 /script TurnLeftStop(arg1);ToggleAutoRun();
使用这个宏的条件:在大包包第二格放了回复药,快捷栏第11,12分别是一单手一盾的快捷方式。
使用这个宏后,角色自动喝回复药,装备上盾,使用Thunder Clap(这三个动作同时进行),向后转180度后
开自动跑步键逃走。其中技能等可以根据需要自己改。怎么样,是不是很夸张啊,哈哈。
还有一些有用的宏:
切换装备,
双手切换单手并换第二个快捷栏,快捷栏第11,12分别是一单手一盾的快捷方式
/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);
/script CURRENT_ACTIONBAR_PAGE = 2;
/script ChangeActionBarPage();
单手切换双手并换回第一快捷栏,快捷栏12是一双手武器快捷方式
/script ActionButtonDown(12);ActionButtonUp(12);
/script CURRENT_ACTIONBAR_PAGE = 1;
/script ChangeActionBarPage();
几个简单的宏
1. 对自己使用绷带
/script TargetUnit("Player");
/use Mageweave Bandage
/script TargetLastEnemy();
* 这里用的时 Mageweave Bandage ,你可以改成适合你自己的绷带名
* use 是 Cosmos 支持的命令,你必须安装 Cosmos 才能使用这个宏,如果你没有 Cosmos,使用下面的宏(绷带必
须放在主背包第一格)
/script TargetUnit("Player");
/script UseContainerItem(0,1);
/script TargetLastEnemy();
2. 对敌人的 Pet 使用技能
/script TargetUnitsPet("target");
/cast Blind
/script TargetLastEnemy();
* Blind 是技能名,你可以用自己的技能,这里用了盗贼的 Blind (我是盗贼啦,呵呵)
** /script 是使用 脚本 的命令,可供使用的命令参考附件
** 可以用 Shift 点击 技能书里图标的方式在宏中添加释放技能的命令
** 可以用 Shift 点击 物品的方式在宏中添加物品名
3. 打开所有背包
/script OpenBag(0);
/script OpenBag(1);
/script OpenBag(2);
/script OpenBag(3);
/script OpenBag(4);
打开所有背包,可能
/script OpenAllBags()
一样搞定:P
热键Shift B 也是可以的
4.战士用,双手武器切换单手武器+盾:
首先在快捷栏10、11、12(也就是0、 -、 =的位置)拖上双手武器、单手武器、盾的快捷方式;
双手武器:
/script ActionButtonDown(10);ActionButtonUp(10);
单手武器+盾:
/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);
以下命令全部中空格用下划线_来表示
%后面的都是变量
=各种命令分类收集=
参数设置
%t
切换当前目标命令
/target_%name
/assist_%name
/script_TargetLastEnemy();
游戏动作
/cast_%skillname(rank_%d)
/f
/script_UseAction(n%d, %d);
设置延迟命令
/pause_%d
聊天常用命令
/s_
/p_
/g_
/raid_
=应用部分说明=
聊天部分命令我就省略了...重点说明游戏中实际关系到游戏操作的命令
首先%t是指当前目标名称,%t大多是用在聊天中...比如:
...
你好,%t
我开始攻击%t,大家请注意...
Pull
/script TargetNearestEnemy();
/p Pulling %t
/script AttackTarget();
/v inc
[术士]宏命令大全
[1]自动绷带宏
/script UseContainerItem(3,1)
/script if ( SpellIsTargeting() ) then TargetUnit('player'); end
说明:这个才是真正的智能型绷带宏,这个宏可以实现当无目标或者目标是敌人时,会不改变当前目标对自己施加绷带,但当目标是队友时,会帮队友绑绷带。网络上那个什么/target 'player'
是误导人的,一点也不好用!说明一下参数:第一条的(3,1)表示从右往左数第一个背包是零开始数,数到第三个背包,把绷带放在第一位置
[2]法术石连用宏(自己修改测试出来的自创宏,半年前就在用)
/script SpellStopCasting();
/script UseInventoryItem(17);
/script UseContainerItem(3,8)
说明:这个宏最后一个参数代表你需要把法术石放到第三个背包(实际第一个是零,也就是右数第四个背包)的第8格,其实放那里随便你喜欢,把数字改一下就可以了,如果想实现多开不同级的法术石,只需要先做好,然后复制一个就可以实现三开,四开法术石
[3]增幅 痛苦诅咒:
/施放 诅咒增幅
/script SpellStopCasting();
/施放 痛苦诅咒(等级 6)
[4]双开饰品宏:
/script SpellStopCasting();
/script UseInventoryItem(13);
/script UseInventoryItem(14);
说明:现在不能两个护符共cd,但同样比较好用,比如说,,法师变你羊,你把徽章放第一,火反放第二的话,,那法师的大火球肯定自己硬吃。。。
[5]狗解自身魔法宏:
/script TargetUnit('Player')
/script CastPetAction(6)
/script TargetLastEnemy()
说明:这个是pk杀人越货必用的了。。。可以实现不改变敌人目标,而狗解自己负面魔法。。第二条的参数六是看你狗放技能的位置,我是放到宠物栏第六,放那里自己喜欢,我全快键操作)
[6]一键脱全身装备宏:
/script for j=1,10 do PickupInventoryItem(j); PickupContainerItem(0, j); end
/script for j=16,18 do PickupInventoryItem(j); PickupContainerItem(0, j-5); end
/script PickupInventoryItem(18);
说明:没啥好说的。。。没进战斗前防止自杀失败。。。唯一的条件是第0个包包。。也就是最右边的包包要有13个空位置,
[7]宠物打战栗图腾
/target 战粟图腾
/script PetAttack();
/施放 射击
/script targetlasttarget();
[8]宠物打根基图腾
/target 根基图腾
/script PetAttack();
/施放 射击
/script targetlasttarget();
说明:我习惯了不带宠物在奥门口pk,所以我在当中加上了魔杖打掉图腾的语句,有没宠一样用,反正放技能时,魔仗仍不出,不会占用cd!这个宏可以让你跟撒满打时的胜率提高几倍!
[9]拉风女王诱惑宏
/script CastPetAction(3)
/in 2 /y 对<<%T>>施放诱惑 ~(冒心心的小宝宝,一边凉快去!oye!^^!!)
说明:in是延时命令,可以让你喊出这话时,敌人已经给你诱惑住了,想反应都反应不过来,不加in的后果是。。等于提前告诉敌人你要诱惑了ˉ-ˉ!还有第一条的参数代表诱惑技能放在宠物栏第三,我狗的沉默也是在第三,所以换宠物时很方便,一样能用到,只要把狗的宏对拖一下就好。
[10]拉风狗沉默宏
/script CastPetAction(3)
/y 对<<%T>>施放沉默 ~安静点!!~~小宝宝,乖啦~~~^^!!)
/s
说明:这个对比可以看出第一条命令的作用,取代所有那种所谓命令什么/施放 法术封锁 的垃圾语句。。沉默不需要加延时命令in,因为沉默就沉默吧。。看到字你都很乖了,还有反应?
[11]灵魂石绑定宏
/script un=UnitName('target') for b=0,4 do for s=1,GetContainerNumSlots(b) do il=GetContainerItemLink(b,s) if un and il and strfind(il, '灵魂石') then UseContainerItem(b,s) SendChatMessage(format('灵魂绑定 >>%T<< ',un),'SAY') end end end
说明:网上流传很多要把灵魂石拖到技能栏或者放到背包特定位置才能用的宏(你觉得ss还有多余的技能栏放垃圾?)但这个宏不用,你只需要做好一个灵魂石。。然后按宏就能绑,并且通知队友,不需要管放到那里。拉风点可以把话改成:你已在黑暗中永生。。奉上你的灵魂。。。雄起!~
[12]侦测强效隐形
/script if(UnitIsFriend('player', 'target')) then CastSpellByName('侦测强效隐形');
else TargetUnit('player');CastSpellByName('侦测强效隐形');TargetLastTarget();end
[13]魔息术
/script if(UnitIsFriend('player', 'target')) then CastSpellByName('魔息术');
else TargetUnit('player');CastSpellByName('魔息术');TargetLastTarget();end
说明:这两个宏的作用和绷带那个差不多,都是实现自动上自身或者队友buff而不改变敌人目标,但目标是队友就可以加上。
[14]召唤门宏
/施放 召唤仪式
/团队 正在传送<<%T>>,请傍边的两名朋友脱离战斗右键点一下门后不要动。。谢谢(动了的是猪^^)~~
/p 正在传送<<%T>>,请傍边的两名朋友脱离战斗右键点一下门后不要移动。。谢谢(动了的是猪^^)~~
[15]找人拉人宏
/script SendChatMessage('加一下,拉个人,谢谢!','WHISPER','通用语',UnitName('target'));
[16]选中法师按宏就行了,乞讨宏
/script SendChatMessage('朋友 给点面包和水,谢谢!','WHISPER','通用语',UnitName
('target'));
说明:有了这几个要水、要面包、拉人、有效率。呜呼。。。 。。
[17]激发世界事件宏
/script TargetUnit('player');
/script SendChatMessage('impig','WHISPER','通用语',UnitName('target'));
/大笑
说明:一个拉风宏,杀人越货居家旅行的拉风必备
是我的朋友就是我的BABY , 就算你打我踢我也都OK , 就是要宠你宠你宠上了天!
[2 楼] | Posted: 2006-10-11 21:36
nsT-LED
贪婪Tの神
级别: 论坛版主
精华: 2
发帖: 4068
威望: 3779 点
金钱: 3707 诺神
贡献值: 0 点
在线时间:0(小时)
注册时间:2006-10-02
最后登录:2007-05-15
超级牛B的BT宏!!!
function ScanDebuffs()
if UnitExists('target') then
local i=1;
HasCOA=0;
HasCorruption=0;
HasImmolate=0;
HasSiphon=0;
while UnitDebuff('target', i) do
GameTooltipTextLeft1:SetText(nil);
GameTooltip:SetUnitDebuff('target',i);
local DebuffName = GameTooltipTextLeft1:GetText();
if DebuffName == '痛苦诅咒' then
HasCOA = 1;
elseif DebuffName == '腐蚀术' then
HasCorruption = 1;
elseif DebuffName == '献祭' then
HasImmolate = 1;
elseif DebuffName == '生命虹吸' then
HasSiphon = 1;
end
i = i 1;
end
end
end
function CastDebuffs()
if UnitExists('target') then
if HasSiphon == 0 then
CastSpellByName('生命虹吸(等级 4)');
elseif HasCorruption == 0 then
CastSpellByName('腐蚀术(等级 6)');
elseif HasCOA == 0 then
local start, duration = GetSpellCooldown(164, SpellBookFrame.bookType);
if (duration <= 0) then
CastSpellByName('诅咒增幅');
else
CastSpellByName('痛苦诅咒(等级 6)');
end
elseif HasImmolate == 0 then
CastSpellByName('献祭(等级 7)');
end
end
end
说明:这个我收集到的。。功能:
1.自动check目标身上的DEBUFF。
2.如果没有虹吸就上虹吸,如果没有腐蚀就上腐蚀,如果没有痛苦就上痛苦(自动使用诅咒增幅),如果没有献祭就上献祭。简单点说,,闭眼睛按一个键就实现智能判断上什么dot。。
黄色那里的字需要替换,是我自己的诅咒增幅在法书书里的位置,因为我出了夜莫,增幅,延烧,所以是164,正确数字需要运行以下宏
/script for id = 1, 180, 1 do local spellName, subSpellName = GetSpellName(id,
SpellBookFrame.bookType);if spellName and string.find(spellName, '诅咒增幅', 1, true) then ChatFrame1:AddMessage('ID is '..id, 1.0, 1.0, 0.5); end; end;
用得到的数字来替换。
魔兽世界猎人宏设置
1.自动选最近目标
说明:〈标记最近敌人 宠物攻击 宠防御模式 按目标距离使用自动射击或攻击〉
快捷键:Tab (宏图标放在右下快捷栏)
/script TargetNearestEnemy()
/script PetDefensiveMode()
/script PetAttack()
/script if(UnitName("target")~=nil and (IsActionInRange(2) == 1)) then CastSpellByName("自动射击"); else CastSpellByName("攻击");end
/施放 猎人印记(等级 3)
/施放 猎人印记(等级 3)
特别说明:使用这个宏的时候系统原始物品快捷栏从左数起第12个栏(即最后一栏)要放置自动射击
2.印记目标/雄鹰
说明:〈如果有灵猴则施放雄鹰,如果有雄鹰则施放猎人印记 宠物攻击 自动射击〉
快捷键:Q (宏图标放在右下快捷栏)
/施放 自动射击
/script PetAttack()
/script for i=1,16,1 do if (UnitBuff("player",i)~=nil) then if (string.find(UnitBuff ("player",i),"Mon")~=nil) then CastSpellByName("雄鹰守护(等级 4)");break;end end if(i==16) then CastSpellByName("猎人印记(等级 3)");end end
3.射击 SOLO模式(保留长冷切时间的技能)
说明:〈如果没有自动射击则施放自动射击 宠防御模式 宠物攻击 智能钉刺〉 奥术射击 多重射击
快捷键:E (宏图标放在右下快捷栏)
/script if(not IsAutoRepeatAction(40)) then CastSpellByName("自动射击"); end
/script PetDefensiveMode()
/script PetAttack()
/script UseAction(9)---------------------将此介绍的宏(9.智能钉刺)放在物品栏9
/施放 奥术射击(等级 6)
/施放 多重射击(等级 3)
4.射击 PK模式 (使用长冷切时间的技能)
说明:<无自动射击则开启自动射击 宠防御模式 宠物攻击 急速射击> 震荡射击 智能钉刺 狂野怒火 奥术射击 多重射击 胁迫
快捷键:R (宏图标放在右下快捷栏)
/script if(not IsAutoRepeatAction(40)) then CastSpellByName("自动射击"); end
/script PetDefensiveMode()
/script PetAttack()
/施放 急速射击
/施放 震荡射击
/script UseAction(9)---------------------将此介绍的宏(9.智能钉刺)放在物品栏9
/施放 狂野怒火
/施放
奥术射击(等级 6)
/施放 多重射击(等级 3)
/施放 胁迫
5.近身攻击
说明:<(如果身上没有灵猴则施放灵猴/有则使用猛禽一击) 目标没有摔绊则摔绊 宠物攻击> 猫鼬撕咬 猛禽一击
快捷键:F (宏图标放在右下快捷栏)
/script UseAction(7)----------------------将此介绍的宏(7.切换灵猴守护)放在物品栏7
/script UseAction(8)----------------------将此介绍的宏(8.近身技能)放在物品栏8
/施放 胁迫
/施放 狂野怒火
6.使用绷带
说明:<对自己使用绷带后,不丢失目标>
快捷键:F1 (宏图标放在左下快捷栏1)
/script TargetUnit("Player");
/use 厚魔纹绷带
/script TargetLastEnemy();
/script PetDefensiveMode()
7.切换灵猴守护
说明:<有灵候则猛禽一击,无则灵候>
快捷键7:(宏图标放在主快捷栏7)
/script for i=1,16,1 do if (UnitBuff("player",i)~=nil) then if (string.find(UnitBuff("player",i),"Mon")~=nil) then CastSpellByName("猛禽一击(等级 6)");break;end end if(i==16) then CastSpellByName("灵猴守护");end end
8.近身技能
说明:如果躲避攻击则猫鼬撕咬,否则<如果目标无摔拌则施放摔拌/有则猛禽一击 宠物攻击>
快捷键8:(宏图标放在主快捷栏8)
/施放 猫鼬撕咬(等级 3)
/script local T; for i=0,15,1 do T=UnitDebuff("target", i); if (T and string.find (T,"Trip")) then break; end; end; if (T and string.find (T,"Trip")) then CastSpellByName("猛禽一击(等级 6)"); else CastSpellByName("摔绊(等级 2)"); PetAttack() end
9.智能钉刺
说明:首先判断目标是否牧师/圣骑士,如果是则使用宏(10.吸魔钉刺),否则使用宏(11.毒蛇钉刺)
快捷键9:(宏图标放在主快捷栏9)
/script class = UnitClass("target"); if ( ( class == "牧师" ) or ( class == "圣骑士" ) ) then UseAction(10); else UseAction(11); end
10.吸魔钉刺
说明:自动判断目标是否已有吸魔钉刺,如果有则宠物攻击,如果没有则加上
快捷10:(宏图标放在主快捷栏10)
/script local T; for i=1,16,1 do T=UnitDebuff("target", i); if (T and string.find (T,"AimedShot")) then break; end; end; if (T and string.find (T,"AimedShot")) then PetAttack(); else CastSpellByName("蝰蛇钉刺(等级 2)"); end;
11.毒蛇钉刺
说明:自动判断目标是否已有毒蛇钉刺,如果有则宠物攻击,如果没有则加上
快捷键11:(宏图标放在主快捷栏11)
/script local T; for i=1,16,1 do T=UnitDebuff("target", i); if (T and string.find (T,"Quickshot")) then break; end; end; if (T and string.find (T,"Quickshot")) then PetAttack(); else CastSpellByName("毒蛇钉刺(等级 6)"); end;
12.跳放冰冻陷阱/爆炸陷阱
说明: <跳 冰冻陷阱>
快捷键:C (宏图标放在右下快捷栏)
/script U=UseAction Jump()
/施放 冰冻陷阱(等级 2)
13.找JY宠物
说明:<方便抓JY宠物,如果目标野兽在40码内就有显示目标头像>
快捷键:无需
/target 拉克西里
/script if UnitExists("target") then Jump();end
14.假死陷阱
说明:<按第一下是假死 宠物停止攻击收宠 清除目标><按第2下是冰冻陷阱 重新锁定目标>。可以在15秒的毒蛇钉刺过后使用
快捷键:4 (宏图标放在主快捷栏4)
/script TargetLastEnemy()
/script PetPassiveMode()
/script PetFollow()
/script ClearTarget()
/施放 假死
/施放 冰冻陷阱(等级 2)
/script TargetLastEnemy()
在真正使用这些宏的时候,提示的信息会在游戏右上角显示,这样会防碍我们的视线,在此希望各位使用转移错误信息的插件,下载地址:
http://www.wowunion.com/soft/481.htm
如果你使用上面这个办法之后,插件还是显示版本错误的话,只要在选择人物的时候在插件设置中点击“加载过时插件”就可以了
以上的宏请根据自己的技能实际等级修改 例如: /施放 奥术射击(等级 6) 请自己将其中的“6”改成自己想要的数字
其他地方都不需要做任何修改,照抄就可以了。希望各位都采用上述的14个宏(一个都不要少)和快捷键设置,操作起来非常方便的!
还有关于放风筝的问题,因为目前的宏并不支持自动转身。所以最简单,最有效的放风筝方法是:
开启鼠标移动模式(1)用鼠标左键点自己身后进行转身,(2)转身后再快速点一次鼠标左键向远处跑,(3)拉开距离后迅速鼠标左键点自己身后同时按一下R<4.射击 PK模式>同时进行一次普通射击和奥术射击
wow 的战士宏
拦截
/script C=CastSpellByName;
/script U=IsUsableAction;
/script R=IsActionInRange;
/script if(U(61)==1)then C("冲锋");elseif(R(61)==1)then C("拦截");elseif(U(63)==nil)then C("断筋");elseif(GetActionCooldown(63)==0)then C("压制");else C("断筋");end
单体
/script C=CastSpellByName;
/script if(GetActionCooldown(63)==0) then C("压制");end
/script if(UnitHealth("target")<20) then C("斩杀");end
/施放 致死打击
/script if(IsActionInRange(63)==1)then C("旋风斩");end
/script if(UnitMana("Player")>39) then C("英勇打击");end
群体攻击
/script G=GetActionCooldown;C=CastSpellByName;
/script F=CastShapeshiftForm;if(G(71)<2)then F(1);else F(3);end
/script if(IsUsableAction(71)==1)then C("横扫攻击");end
/施放 旋风斩
/施放 顺劈斩
/script if(UnitHealth("target")<5)then TargetNearestEnemy();end
防御
/script C=CastSpellByName;
/script U=IsUsableAction;
/施放 盾牌格挡
/script SpellStopCasting()
/script if(U(64)==nil)then C("破甲攻击");elseif(GetActionCooldown(64)==0)then C("复仇");else C("破甲攻击");end
/script SpellStopCasting()
/施放 英勇打击
缴械
/script CastShapeshiftForm(2)
/施放 缴械
一键用绷带
使用绷带治疗自己并选择之前你最后一个敌人做目标
/script UseContainerItem(0,1) (main bag的左边第一格)
/target 你角色的名字
/targetLastEnemy();
如果你当前选择的目标是可以对其使用绷带的友好单位的话,则对其使用绷带。
如当前目标是不能被打绷带的单位,或没有选择任何目标的话,则对自己使用绷带。
而且不会对当前目标进行切换,不会中断对当前敌人的攻击。
/script UseContainerItem(X,Y)
/script SpellCastTarget("player")
将第一行换成/script UseAction(25,0,1),则不需将绷带放在背包特定位置,但必须将绷带拖入技能栏的特定位置。25表示技能栏的编号。第一排第一格编号为1,最后一格为12。第二排第一格编号为13,最后一格为24。以此类推。25表示第三排的第一格。
此宏也还有如下的实现方法:
/script UseContainerItem(0,1)
/script if ( SpellIsTargeting() ) then TargetUnit("player"); end
如果想在任何条件下都只对自己使用绷带的话,用如下的宏:
/target "player"
/script UseContainerItem(X,Y)
/script TargetLastEnemy()
同样,这个宏会切换当前目标,中断攻击,盗贼的连击点也会被清空。
下面这个宏也只对自己使用绷带,但在使用后会切换回先前的目标(不管是敌对中立还是友好的)。
/script p="player";t="target";if(not UnitCanAttack(t, p))then ot=UnitName(t);TargetUnit(p);else ot=nil;end;
UseAction(ActionID);if(SpellIsTargeting()) then SpellTargetUnit(p); end if(ot) then TargetByName(ot);end
wow 法师宏
. 用侦测魔法标记变羊对象
/p ----=[ %t ]=---- 是即将被变羊的对象
/em 正在准备对%t施展变羊术
/施放 侦测魔法
将这个宏放在第一介绍,我认为这是法师最需要的宏。 这个宏使用后,会在当前指向的敌人目标身上升起一个围绕着的光点,同时以队聊方式说出敌人目标即将被变羊。
之所以推荐先使用这个宏然后再按变羊法术,而不是推荐一个变羊宏,是因为我一直认为这个明显比常见的变羊宏要更明显,更有提醒队友的功能。当需要变羊时,仅仅靠常见的变羊宏说出变羊对象的名字同时开始变羊,队友很可能没有时间去注意看到底会被变羊的是哪一个敌人。何况常常遇到一堆同名字的怪物,甚至等级也相同。
使用侦测魔法标记后,队友可以很明显的看到即将被变羊的对象是哪一个。
尤其有用的是,当你选中被标记过的对象后,debuff栏会出现一个侦测魔法的图标,这将让你很容易在怪物从变羊状态恢复后找到你曾经变羊的怪物。 尤其队伍中有一个以上法师的时候尤其有用,这样会让你更容易照看你的羊,不然两只以上的羊可能让你不知道哪一只是你变的,除非你们事先商量好安排人变猪。
2。变羊宏/script if (UnitExists("target") and UnitIsEnemy("player","target")) then SendChatMessage("XXXX准备变羊!想剪羊毛的速度了哈!目标: >>["..UnitLevel("target").."]级 "..UnitName("target").."<<");end
/施放 变形术(等级 4)3。副本中的辅助宏。
作用:清除你选错的当前目标,重新选择和MT ABC相同的目标。
/script ClearTarget();
/assist ABC当你混乱找不到MT目标不知所措的时候就点这个宏吧。对提高你的效率绝对有莫大帮助。 4。绷带宏
/Script UseContainerItem(0,1);
/Script if ( SpellIsTargeting() ) then SpellTargetUnit("Player");end 这个宏将在自动使用绷带。当你没有指向自己,或者指向的目标不能被急救时(比如当前的目标是敌人),这个宏将自动对你自己使用绷带。当目标是可以被急救的对象(如队友,自己阵营的同伴,友好npc)时,会对该目标进行急救。需要注意的是,用这个宏必须将绷带放在出生时送的那个包裹的第一格(第一句括号里的0,1代表出生送的那个包裹的第一格,当然你可以更改这个数字,那么你就可以把绷带放在其他的地方。
当然,第一个语句的功能并不只被限制在用绷带上,你可以把其他东西比如药水,卷轴放在第一格。现在在pvp中,变羊法术非常短暂且不稳定,这个宏可以帮你在变羊后快速开始对自己绷带以争取到时间减少危险。
5. 解除次级诅咒宏、魔法抑制宏
/施放 解除次级诅咒
/Script if ( SpellIsTargeting() ) then SpellTargetUnit("Player");end 如果你有插件的话,一件解诅咒设个按键更省事。不习惯用插件的此宏必做。这个宏在你指向目标是敌人或者没有目标时对自己施放解除次级诅咒法术,并且指向的目标不变。这在对付术士或者中了其他诅咒时非常有用,只需要按一下宏便可以将诅咒驱除,并且指向的目标仍然是敌人。在当前目标是指向一个可以被施放魔法抑制的对象时,会对该目标施放而不是自己。
把第一行换成 /施放 魔法抑制(等级 x) 就变成魔法抑制宏了。把x改为你当前学会的魔法抑制的最高等级同理你可以制作出奥术智慧宏等等
6.中断当前魔法并且对目标施放魔法抑制
/Script SpellStopCasting()
/施放 魔法抑制
魔法抑制常常用在打断敌人加血法术,或者其他重要法术。这时候你需要良好的反应和及时的操作。这个宏会自动打断你正在施放的法术并对敌人使用魔法反制。非常节省时间。
7. 瞬羊宏、瞬火宏
if unitIsEnemy("target") then
/施放 气定神闲
/施放 变形术(等级 x)
注意:这个宏需要点击2次。
8. 瞬羊宏、瞬火宏
if unitIsEnemy("target") then
/施放 气定神闲
/施放 变形术(等级 x)
注意:这个宏需要点击2次。第一次激活气定神闲,第2次变羊。
把x改为你现在学会的变羊术的最高等级
把第二句改为/施放 炎爆术(等级 x) 就是瞬火宏了
当然你也可以用
/施放 强化奥术
/施放 气定神闲
/施放 炎爆术(等级 x)
然后连点宏3次来开启强化奥术并施放瞬大火球
PK时奥火法此宏必做。
以上是法师常会用到的一些宏,欢迎继续补充。
下面附带一些宏的命令,比较杂乱并且有可能在中文版并没有效果。仅供参考。
1.一些常用的动作表情如/下跪等等
2./Assist 这是个援助进攻的命令
3.%t 这个符号也许会经常出现在你的宏命令里,它是一个代码,代表你当前所选中的人名。
4./Target 这是一个自动选择目标的命令
5.允许你在窗口和全屏状态之间切换
/script SetCVar("gxWindow", 1 - GetCVar("gxWindow"));
/console gxRestart
6.从背包和袋子里切换身上的武器
/script if ( not CursorHasItem() ) then PickupContainerItem(, );
PickupInventoryItem( ); end
bag# - 使用哪一个袋子的物品(0、1、2、3、4。0是背包)
slot# - 袋子里的位置(从0至左上)
equip# - 16 是主要武器, 17 是副武器
7.加速任务显示速度
/script QUEST_DEscriptION_GRADIENT_CPS = 600000
/script RegisterForSave("QUEST_DEscriptION_GRADIENT_CPS")
/script DEFAULT_CHAT_FRAME:AddMessage("quest text will scroll faster now");
魔兽世界牧师宏
真言术:韧
/script r=6;l={1,12,24,36,48,60};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l-10) then CastSpellByName("真言术:韧(等级 "..i..")");break;end;end
神圣之灵
/script r=3;l={40,42,54};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l-10) then CastSpellByName("神圣之灵(等级 "..i..")");break;end;end
恢复
/script r=9;l={8,14,20,26,32,38,44,50,56};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l-10) then CastSpellByName("恢复(等级 "..i..")");break;end;end
真言术:盾
/script r=10;l={6,12,18,24,30,36,42,48,54,60};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l-10) then CastSpellByName("真言术:盾(等级 "..i..")");break;end;end
这个宏治疗队伍里你指定的人,如果你不在队伍中它会治疗你自己。然后会自动将目标切换回你最后一个敌人。它同时还会使用队聊提醒队友你会治疗哪一个人。
/script if (UnitName("target") ~=nil and UnitIsFriend("player","target")) then
CastSpellByName("Heal(Rank X)") SendChatMessage("Incoming Heal to %T", "Party") else
TargetUnit("player") CastSpellByName("Heal(Rank X)") TargetLastEnemy(); end
牧师对队友的一键加血,比如一号键给第一队友加血,二号键给第二队友加血,免除了还要鼠标确
定目标的操作。依次类推,从第一个人到最后一个
给队友1加血:
/script TargetUnit(GetPartyMember(1))
CastSpellByName(Heal(Rank X)) TargetLastEnemy()
给队友2加血:
/script TargetUnit(GetPartyMember(2)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
给队友3加血:
/script TargetUnit(GetPartyMember(3)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
wow 盗贼宏
用绷带的宏,绷带放第一包第一格,用法:先凿击,再马上用这个宏,不回消除目标连击点数哦! 选中友方目标的话就直接给他用了,
/script if UnitIsFriend("player","target" then UseContainerItem(0,1); else UseContainerItem(0,1);SpellTargetUnit("player";end;
还有背刺,伏击前主手换匕首,之后主手换剑,以备邪恶攻击使用(一手慢剑,一手匕首的那种),会用的话很方便,打架时也可以用得上,很轻松的:
背刺
/script iL=GetInventoryItemLink("player",16);b=string.find(iL,"%[";iID=string.sub(iL,13,b-1);i1,i2,i3,i4,i5,i6=GetItemInfo(iID);if i6=="匕首" then CastSpellByName("背刺(等级 1)";end;PickupInventoryItem(16);PickupInventoryItem(17);
伏击
/script iL=GetInventoryItemLink("player",16);b=string.find(iL,"%[";iID=string.sub(iL,13,b-1);i1,i2,i3,i4,i5,i6=GetItemInfo(iID);if i6=="匕首" then CastSpellByName("伏击(等级 1)";end;PickupInventoryItem(16);PickupInventoryItem(17);
使用这两个宏要注意的是,能量值不够也不要狂按,因为按一次就会换一次武器,而刺客换武器后会隐含的有1秒左右的武器冷却时间,也就是说匕首才换上后,不能立刻用背刺或伏击,狂按的话只会更慢.
举例:潜行到怪背后时,按一下,如果主手已是匕首,就伏击,并将副手剑换到主手上,之后就用剑来邪恶攻击;如果不是匕首,就先换成匕首,稍等武器冷却,再按一下,就像前面一样了.当然事先准备最好,下一步要用背刺的时候就按一下换成匕首先,到背后就可直接使用,不用等那1秒
武器冷却时间,比如先凿击一下(这时主手应该是剑),马上按一下,冲到背后转身后就可以背刺了,然后用邪恶(不用说剑的邪恶攻击伤害比匕首高得多).
使用的时候需要自己改把背刺伏击的等级改成人物学了的技能等级,这里是用1级表示的.
5 灯剔骨
/script if(UnitName("target" == nil) then TargetNearestEnemy();else if(not UnitCanAttack("player","target") then AssistUnit("target" end end
/script if ( GetComboPoints() >= 5 ) then CastSpellByName(" 剔骨 ( 等级 " end
/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot"); if(GameTooltipTextRight3:GetText()==" 匕首 " then CastSpellByName(" 背刺 ( 等级 ";else CastSpellByName("邪恶攻击( 等级 " ;end
功能 : 如果目标身上是 5 灯就剔骨 , 如果主手是匕首就出背刺 , 如果是其他武器 , 就出邪恶攻击
萨满的史诗级的宏
宏的特点:在战斗中,你不停按空格键,宏命令根据战斗形式自动选择释放各种技
能,不需要用鼠标点技能,只用鼠标和键盘控制好你的方向和站位,就能轻松战胜所
有的对手!本人用此套宏, 凭一套很烂的装备,单挑还没输过的!!!
宏1:
/script function BU(s) P,B,i='player',true,1 while UnitBuff(P,i) do if string.find(UnitBuff(P,i),s) then B=false end i=i 1 end return B end
宏2:
/script function DE(s) P,B,i='player',false,1 while UnitDebuff(P,i) do if string.find(UnitDebuff(P,i),s) then B=true end i=i 1 end return B end
宏3:
/script nn=1 function UN() nn=nn 1 if nn>3 then nn=1 end uc,ii=UnitClass('target'),6 if (uc=='盗贼' and nn==1) then ii=5 elseif (uc=='猎人' and nn==1) then ii=4 end return ii end
宏4:
/script function HL() P,U='player',UseAction if (UnitHealthMax(P)-UnitHealth(P))>1800 then if BU('Nature_RavenForm') then CastSpellByName('自然迅捷') else U(8,0,1) end end if DE('Hunter_AimedShot') then U(9,0,1) end end
宏5:
/script U=UseAction HL() if UnitCanAttack('player','target') then if not PlayerFrame.inCombat then AttackTarget() end if (GetActionCooldown(6)==0 and IsActionInRange(6)==1) then jj=UN() U(jj) elseif BU('LightningShield') then U(7) end else Jump() end
各个宏的作用:
宏1: 建立函数BU(s), 判断自己是否有某个BUFF
宏2: 建立函数DE(s), 判断'选定的对象'是否有某个DEBUFF
宏3:建立函数UN(), 判断'选定的对象'是否是盗贼,或猎人,或其他职业,返回某个值
宏4:建立函数HL(), 自己的“血的最大值”减去“目前的血的值”,看结果是否大于1800 ? 大于的话,将自动释放(“迅捷自然之速” “治疗波”), 来一个“第二次生命”, 并判断你自己是否中了猎人的“抽蓝”技能,否则自动解毒
宏5: 本宏将调用以上4个宏的函数, 这个宏将做以下事情:
1. 调用宏4,看自己是否掉血1800 以上,否则自动释放(“迅捷自然之速” “治疗波”),是否中了猎人的“抽蓝”钉刺,否则解毒
2. 看当前选定的目标 是否能被攻击? 如果不能被攻击, 自己将执行跳跃动作后,宏结束....如果目标能被攻击,则继续以下
3. 判断你是否在进行普通攻击, 没有普通攻击,则自动开普通攻击模式
4. 判断目标是否在你的震击魔法(地震,冰震,火震)的范围内(20码),且震击魔法是否技能冷却,则掉用宏3,根据敌人不同的职业选择适当的“震击魔法”,进行攻击
5. 判断你自己是否有闪电盾,没有时补上
建立宏:
1. 将宏1-4定义到(不经常用的位置), 在您选择人物刚进入游戏后,将宏1到宏4每个宏的动作执行一次, (这4个宏只建立函数用,所以只在进人物后运行一次)
2. 将宏5 定义到常用位置,并将“空格键”绑定这个宏,即每次按空格键,系统自动执行宏5一次
定义你的技能位置(这一步是必须的, 技能位置不能摆错!!!)
位置8:治疗波(大补的那个)
位置9: 解毒术
位置7:闪电盾
位置4: 冰震
位置5: 火震
位置6: 地震
天赋要求:
21点恢复,出迅捷之速(必须)
15点元素,全部增强3个震击魔法(主攻魔法,推荐增强)
强化闪电盾(主攻魔法,推荐增强),
WOW 小D宏
1:野性印记
/script r=6;l={1,10,20,30,40,50,60};t=UnitLevel('target');for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName('野性印记(等级 '..j..')');break;end;end
技能介绍:只要是DRU就该知道这个技能的受欢迎程度乐,一般组队下副本的情况下,你第一个使用的肯定是这个技能。
宏介绍:这个,如果有看置顶贴习惯的人,肯定有知道。是DRU的基本宏,根据目标的角色使用不同等级的魔法。
使用频率:中
实用度:高
2:荆棘术
/script r=6;l={6,14,24,34,44,54};t=UnitLevel('target');for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName('荆棘术(等级 '..j..')');break;end;end
技能介绍:给TANK加一个,可以有效帮助TANK给近战伤害型怪物制造高仇恨。主healer的时候一定要记得每10分钟给TANK套一个。
宏介绍:BUFF形技能,同野性印记。
使用频率:中
使用度:高
3:回春
/script r=9;l={4,10,16,22,28,34,40,46,52,58};t=UnitLevel('target');for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName('回春术(等级 '..j..')');break;end;end
技能介绍:DRU的基本heal手段之一。作为主HEALER,一但TANK开始掉血至4/5以下,就应该保持TANK身上一直有这个BUFF。
宏介绍:同野性印记。因为魔兽里BUFF系的技能都要根据目标等级来选择对应技能等级,是BUFF系的技能就都要用到这个宏。因为SOLO的时候比较多,所以这个宏里我还加乐不是队友则对自己施法的判断。
使用频率:高
实用度:高
4:愈合
/script r=7;l={12,18,24,30,36,42,48,54,60};t=UnitLevel('target');for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName('愈合(等级 '..j..')');break;end;end
技能介绍:主恢复DRU常用技能,经过天赋加强后的愈合不论是HPS还是HPM都是DRU最强heal技能。再加上其2S的释放速度,更可以配合法师奔放。
宏介绍:愈合也是BUFF型的heal技能,所以同回春。
使用频率:高
实用度:高
5:猫科形态连击点宏
/script if ( GetComboPoints() >= 3 ) then CastSpellByName('凶猛撕咬(等级 3)'); else CastSpellByName('爪击(等级 4)') end
技能介绍:这两个技能没什么好介绍的,一个是攒点技能,一个是终结技能。猫科形态下虽然也有一个DOT型的攒点技、一个DOT型的终结技,但个别怪物对那两个技能免疫。所以普通情况下,猫科形态都以这两个技能为主力。
宏介绍:把两个技能捆绑在一个快捷键上,可以根据连击点的数量来自动判断使用什么技能,既省乐一个快捷键,操作起来又省力。
使用频率:中
实用度:高
6:自动判断潜行形态宏
/script x=1;found=0;while(UnitBuff('player',x)) do if(string.find(UnitBuff('player',x),'Ambush'))then found=1;end;x=x 1;end;
/script if(found==1)then CastSpellByName('毁灭(等级 3)');else CastSpellByName('撕碎(等级 4)')end
技能介绍:都是目标背后释放的技能,猫形态下偷袭必备。
宏介绍:用过盗贼的人应该都知道,盗贼潜行形态和非潜行形态的技能栏是会自动切换的,只要把两种形态下的技能都放在一个键位上(比如偷袭放在潜行形态下的5 键位,背刺放在非潜行形态下的5键位),就不存在误操作的可能。这个宏的初衷就是避免误操作,在对应的形态下施展对应的技能,而且可以省一个键位。既省力又省空间。
使用频率:中
实用度:高
7:树皮 宁静
/script x=1;found=0;while(UnitBuff('player',x)) do if(string.find(UnitBuff('player',x),'StoneClaw'))then found=1;end;x=x 1;end;
/script if(found==1)then CastSpellByName('宁静(等级 3)');else CastSpellByName('树皮术')end
技能介绍:宁静,是DRU唯一全体heal的技能,CD很长,单体heal效果不论是HPS还是HPM都很差。不过在局面比较混乱,而且全体损血的情况下能有很好的效果。树皮,减少部分物理伤害,更主要的是可以保证宁静这类通道魔法不被普通攻击打断。
宏介绍:一键双技能,在没有树皮的情况下使用树皮,在有树皮的情况下使用宁静。没什么大用,省个快捷栏而已。-_-b
使用频率:低
实用度:中
另:上次论坛里有个朋友提示,这个宏只能显示树皮的冷却时间,不能显示宁静的冷却时间。我想乐一下,解决的办法有两个,一个比较白痴,就是直接拖一个宁静的技能到不影响快捷键的界面位置来,直接看就可以。另一个方法程序要稍微改一改,用notstring.find的命令(准确的命令忘乐,不过稍微查一下就能找到),然后把两个技能在判断中的位置互换。应该可以改成显示宁静冷却时间而不显示树皮冷却时间。不过这个只是想法,我没有实际试验过,有兴趣的朋友可以自己试验下。
8:熊变人 愈合
/script x=1;found=0;while(UnitBuff('player',x)) do if(string.find(UnitBuff('player',x),'BearForm'))then found=1;end;x=x 1;end;
/script if(found==1)then CastShapeshiftForm(1);else CastSpellByName('愈合(等级 7)')TargetUnit('player')end
技能介绍:-_-b 没有什么好介绍。就是一键双技能。
宏介绍:判断是否在熊形态,是则变身,不是则对自己使用愈合。喜欢熊形态PK的好用,比手忙脚乱找快捷键好。
使用频率:低
实用度:中
9:自然之速 治疗之触
/script a=GetActionCooldown(37);if (a>0) then CastSpellByName('治疗之触(等级 9)')TargetUnit('player');else CastSpellByName('自然迅捷');end
技能介绍:治疗之触,DRU 6级以后的治疗之触是HPM最高的heal技能,但是3.5秒的施法时间比较痛苦,一般给TANK加才用。好象6级之后的治疗之触随着技能等级的提升 HPM只有少量的提升,不象愈合和回春那么明显,所以导致越到高等级用得越少。自然之速 治疗之触,能在短时间内给目标heal原来需要3.5秒才有的血量。至于这个时间有多短,恩……相当于两个没有公共冷却的瞬发技能加起来的时间。
宏介绍:使用这个宏前,需要把自然迅捷技能拖到技能面板的第4页第1个快捷栏。程序里的37就是指的这个位置。宏会自动判断自然之速是否可用,当可用时,使用自然之速,不可用,则使用治疗之触。另有个 GetSpellCooldown()的命令也可以达到这个效果,但因为需要计算技能书里的技能位置,所以60之前不推荐,经常洗天赋的也不推荐。
使用频率:低
实用度:高
10:自然之速 催眠
/script a=GetActionCooldown(37);if (a>0) then CastSpellByName('休眠(等级 2)');else CastSpellByName('自然迅捷');end
技能介绍:催眠,只对野兽型、龙型的怪物有效,下副本或者在野外急着赶路的情况下使用比较多,一般用不到宏。用宏的情况一般是和猎人PVP或者PK。
宏介绍:同自然之速 治疗之触 需把自然之速技能拖到指定位置才可用。
使用频率:低
实用度:低
11:自然之速 缠绕
/script a=GetActionCooldown(37);if (a>0) then CastSpellByName('纠缠根须(等级 5)');else CastSpellByName('自然迅捷');end
技能介绍:缠绕,这个技能可以说是让人又爱又恨,一方面它是DRU少数几个控制技能中性能最好的一个。一方面又有太大的限制。而且随着3次规则开始影响缠绕,DRU再一次被弱化。
宏介绍:同自然之速 治疗之触
使用频率:低
实用度:低
12:聚精 说话
/script if (UnitName('Target') ~=nil and UnitIsFriend('player','Target')) then CastSpellByName('激活');SendChatMessage('已对你使用乐激活,20秒内法力恢复速度400%,请抓紧时间恢复。 ','Whisper','兽人语',UnitName'Target'); end
技能介绍:聚精,(官方翻译叫激活,感觉没聚精好听,呵呵)可以让目标以400%的速度回复mana,施法时仍然保证100%的恢复。这个技能的效果好象有点争议,我试验下来的结果是这样,聚精受5秒规则的影响,要完全体现聚精的效果最好还是完全停止施法。
宏介绍:在给目标聚精的时候M对方一段上面双引号里的话,做这个宏的目的,一呢,提醒一下法师注意一下法力恢复的5秒规则。二是因为很多人不了解德鲁依这个职业。不知道德鲁依在副本究竟能为队友做什么。记得在一次下神庙副本时,我主healer,在法师mana没有回满的情况下,战士引怪,法师半蓝上去奥爆,我就给法师加乐个聚精。这队怪清完以后,法师呆乐半天,突然说乐句“我第一次被人用这个……”。个60级的法师,没有德鲁依给他加过聚精,我想,更多的可能还是他从来没注意过。
使用频率:低
实用度:高
13:月火打图腾宏
/script if (UnitName('target') ~=nil) and UnitCreatureType'Target'=='未指定' then CastSpellByName('月火术(等级 1)') else CastSpellByName('月火术(等级 9)'); end
技能介绍:因为我主恢复,副野性,月火的使用频率已经越来越少乐,也没什么心得,但不管是PVP还是PVE,不受时间距离限制的瞬发低等级月火都是名副其实的图腾杀手。
宏介绍:以前论坛里有讨论过这个宏,根据目标名字里是不是包含图腾或结界字样来判断是否图腾。只是不区分目标的类型,名字里包含图腾或结界字样的NPC、PLAYER也会被当成图腾。这个宏里用乐判断目标类型的参数,经本人测试暂时没有纰漏,大家可以试一下。
使用频率:中
实用度:中