宏在魔兽世界60级的时候还是比较少见的东西,慢慢的在70级开始变得应用广泛。
在70级版本中比较突出的就是猎人当时的输出一键宏,通过不挺的按一个宏DPS达到无人能及的高度。
下面是宏的制作方法,不懂或者不精的同学可以研究下 以后就不用求人了
1.常用的宏命令
1.1常用的宏命令
1.释放技能命令
/cast
释放一个或多个技能,可以加入一些条件判断,是最常用的命令
/castsequence
依次释放释放数个技能,同样可以加入一些条件判断,常见于所谓的"无脑宏"
/use
使用一个物品,可以直接用物品名称也可以用物品栏位置
2.动作命令
/cancelform
取消变形
/cancelaura
取消状态或增益
/startattack
开始攻击,一般写不写差别不大,释放技能会自动开始攻击的
/stopattack
停止攻击,与startattack相反,用于防止破除控制等功能,也不大会用到
/target /targetenemy
切换目标,用到的也不多,抓贼宏会用到,更多时候需要的反而是不切换目标的情况下对特定目标释放技能
/mount
召唤坐骑
/dismount
解散坐骑
3.语言表情命令
/1 /2 /3 /4
在不同的频道里面说话,1综合,2交易,3本地防务,4寻求组队
/s /y /p /ra /bg
在不同的范围说话,s说,y喊,p小队,ra团队,bg战场
/e
做出一串表情,同时也可以/+内置表情
4.特殊命令
#showtooltip
显示技能描述,可以指定技能名或是缺省,让你的界面更有可读性
/focus
指定某个目标为焦点目标
/clearfocus
清除焦点目标
/stopmacro
停止宏,可加入条件判断
/console /script
控制命令,抓贼宏会用到
1.2常用的条件判断
1.目标条件判断
help noharm
目标为友方
harm nohelp
目标为敌方
exists
目标存在
dead nodead
目标死亡/存活
2.自身条件判断
stance:1/2/3/4/5/6 form:1/2/3/4/5/6
处在某形态中,对应为
野性:1熊,2水栖,3豹,4旅行,5飞行
平衡:1熊,2水栖,3豹,4旅行,5枭兽,6飞行
恢复:1熊,2水栖,3豹,4旅行,5树,6飞行
combat nocombat
战斗中/非战斗中
stealth nostealth
潜行中,非潜行中
mod:alt/shift/ctrl
按下功能键alt/shift/ctrl,可缺省
swimming noswimming
游泳中/非游泳中
flyable noflyable
可飞行/不可飞行
indoors outdoors
室内/室外
3.其他条件判断
@ target=name/player/focus/targettarget/mouseover/raid#/party#/arena#
选定目标指定名字/自己/焦点/目标的目标/鼠标指向/团队#号/小队#号/竞技场#号敌人
reset=#/target/combat/shift/alt/ctrl
用于/castsequence中,设定重置条件,可以是#秒/切换目标/进入战斗/按下shift/按下alt/按下ctrl
1.3简单的宏知识
1.宏内容
宏可以取名和设置图标,如果设置为?图标的话就是自动选择宏技能的图标
宏最长不超过255个字符,每个英文字母是一个字符,汉字是两个字符
如果包含汉字且超过了255个字符但没超过255个字,在保存时是不会出现问题的,但是下线以后会丢失宏内容
2.标点符号
除去技能名之外所有的标点符号英文字母都是半角的
技能名之间一般用";"间隔,而castsequence中队列里的技能名则用","间隔
需要同时满足的条件由中括号"[]"包裹,","间隔
3.技能名
技能名必须正确,可以打开技能书shift+点击技能来获取技能名
如果分辨率不够的话也许会导致技能书和宏菜单不能同时打开,可以尝试调节UI缩放
2.实例
2.1简单宏
1.对特定目标释放技能
#showtooltip
/cast [@目标名,exists] []技能名
此宏会对特定目标释放所定的技能,目标不存在的话就直接释放技能
如果没有同名的那么系统会选择一个"某种程度上比较相近"的人
同时也可以写player,raid#之类的,详见第一部分
例:
Code:
#showtooltip
/cast[@哀木涕,exists][]生命绽放
2.喊话宏
/频道 喊话内容
在指定频道喊话
频道可以是:
s(说)y(喊)1(综合)2(交易)3(本地防务)4(组队)p(小队)ra(团队)bg(战场)e(表情)
例:
Code:
/1FL10人便当1-3缺1T,9=1来的带装等成就MMM
3.变形宏
#showtooltip
/cast !变形技能
可以在人形态释放来变形,也可以在变形状态下重新变形来解减速等等
例:
Code:
#showtooltip
/cast!熊形态
简单的循环
#showtooltip
/castsequence reset=条件1/条件2 技能1,技能2,技能3
依次释放技能,技能名之间用","间隔
条件可以是
#(秒数)target(切换目标)combat(进入战斗)shift/alt/ctrl(按下shifit/alt/ctrl)
例
Code:
#showtooltip
/castsequencereset=6/combat痛击,横扫,挫志咆哮,横扫
4.双技能宏
#showtooltip
/cast [条件]技能1;技能2
符合条件就释放技能1,否则就释放技能2
技能名之间用";"间隔
条件可以是自身条件也可以是目标条件
可以用来节省空间,制作也极为简单
例1:
Code:
#showtooltip
/cast[stance:1]激怒;猛虎之怒
例2:
Code:
#showtooltip
/cast[harm]安抚;解除腐蚀
5.使用物品宏
#showtooltip
/use 物品
使用物品
可以直接打物品名字也可以是物品位置编号
编号对应:
6(腰带)10(手套)13(饰品上)14(饰品下)15(披风)
例:
Code:
showtooltip
/use6
/e绝尘而去
6.取消buff宏
/cancelaura 增益名
取消buff用,例如取消保护,疾跑奔窜连放
例:
Code:
#showtooltip
/cancelaura急奔
/cast[stance:3]狂奔怒吼(猎豹形态);狂奔怒吼(熊形态)
2.2进阶
以上是各种最基本的宏,那么我们能不能将这些宏拓展开来呢?
条件更复杂,技能数量更多,多种不同的语句糅杂在一起,那就可以实现更多的功能
1.分支选择宏
"对特定目标释放技能宏"可以实现目标的选择,那么能不能加入判断,使得不同条件下对不同的目标施放呢?
[@player,mod:alt]
按住alt的话对自己释放
用了宏的话系统内置的自我施法按键(alt)就不好用了,所以很多技能都会加上这一个条件来人工实现这个功能
[@mouseover,harm/help,exists]
对鼠标指向的目标释放
这是很多治疗喜爱的宏,可以免去不断切换目标的麻烦
其中,harm和help则根据技能需要改动
[@focus,mod:shift]
按住shift则对焦点目标释放
PvP非常常用且有用,shift也可以换成alt或是ctrl
[@targettarget,harm/help,exists]
对目标的目标释放
这里需要注意的是这个harm和help所指的不是目标的属性,而是目标的目标的属性
例如如果目标是boss,则对目标的目标施放治疗
那么这里应该写的是help而不是harm,很多人都会觉得是:目标是harm的,所以转向目标的目标;这是不对的
以上列举了几个常见的,你也可以自己试着写一写,"在某个条件下则以某人为目标"
条件和目标的词汇则在第1部分里面有详细的介绍
下面便可以把所有你认为会出现的条件写到一起了
条件判断是从左到右的,也就是把你觉得应该先进行判断的条件写到左边
#showtooltip
/cast [@目标1,条件1] [@目标2,条件2] [@目标3,条件3] []技能
最后的结果就是
如果满足条件1,则对目标1释放,否则
如果满足条件2,则对目标2释放,否则
如果满足条件3,则对目标3释放
这里建议最后加上一个空的中括号,来避免条件限制太死,有时候放不出技能的情况
还有如果不写目标的话则默认为@target对当前目标,所以一般"@target"都省略掉了
例:
Code:
#showtooltip
/cast[@player,mod:alt][@mouseover,help,exists][help,exists][@targettarget,help,exists][]回春术
2.复杂变形宏
在"变形宏"上再加上各种条件判断,实现多种变形一键完成
常用的条件有
[swimming]水栖形态
水里用水栖
[flyable,nocombat]迅捷飞行形态
飞行需要能飞且不战斗
[outdoors,noflyable,nocombat]大型棕色科多兽
不能飞那就只能坐骑了
[outdoors,noflyable,combat]旅行形态
要是还是战斗的话就旅行
[indoors]猎豹形态
室内就只能猎豹了
然后我们直接把以上的全部加到一起,就得到了最终的宏
Code:
#showtooltip
/cast[swimming]水栖形态;[flyable,nocombat]迅捷飞行形态;[outdoors,noflyable,nocombat]大型棕色科多兽;[outdoors,noflyable,combat]旅行形态;[indoors]猎豹形态
事实上还有一个化简的问题
例如说/cast [combat]猎豹形态;[nocombat]旅行形态
后面那个nocombat需要吗?不需要
因为判断从左至右进行,判断到第二个的时候就说明第一个没有通过了,那么combat没有通过必然是nocombat了
但由于实际情况有很多条件并列,导致判断某个条件是否需要就比较复杂,有些人可能会绕不过来
下面给出前面宏的化简结果
Code:
#showtooltip
/cast[swimming]水栖形态;[flyable,nocombat]迅捷飞行形态;[outdoors,nocombat]大型棕色科多兽;[outdoors]旅行形态;猎豹形态
当然,还可以加上"!"来防止连按又变回来,注意"!"放在技能名前面
再给一个我自己用的变形宏,尝试下能不能看得懂
Code:
#showtooltip
/cast[flyable,nocombat,nomod]!迅捷飞行形态;[form:4,nomod,outdoors][nomod.nocombat,outdoors][noform,outdoors]!旅行形态;[swimming,nomod]!水栖形态;[form:1,nomod]!巨熊形态;[form:3,nomod]!猎豹形态;[form:5,nomod][nomod,indoors]!生命之树
/cancelform[form:6][mod]
由于宏太长不得已把stance换成form了,效果一样
3.简单循环中夹杂条件判断的宏
下面我们再来给castsequence语句加点条件判断
你也可以理解为把"简单循环宏"和"双技能宏"结合起来
#showtooltip
/castsequence [条件1] reset=重置条件A1/重置条件A2 循环A; reset=重置条件B1/重置条件B2 循环B
循环之间用";"分隔
而每个循环则写作
技能1,技能2,技能3
同一个循环里的不同技能用","分隔
无脑宏什么的就不说了,这里举个野性冲锋的例子:
Code:
#showtooltip
/castsequence[stance:3]reset=10野性冲锋(猎豹形态),毁灭;野性冲锋(熊形态)
作用就是释放对应形态的冲锋,猫跳后再按就是接免费毁灭
这里的reset=10是因为免费毁灭buff持续10秒
4.其他的一些命令
/focus
这条命令有3个作用
1.没有焦点目标的时候将目标设置为焦点目标
2.有焦点目标的时候将焦点目标更改成当前目标
3.当前目标为空时清空焦点目标
同时这条命令也是可以加条件判断的,如果不加判断的话非常容易误改了焦点
不过判断中的@仅针对判断语句的对象,会被设为焦点的永远是当前目标
同时配套的还有清空焦点目标
/clearfocus
这是一个最常见的焦点宏:没焦点就设焦点,按住alt强制设焦点,焦点死亡就清除焦点
Code:
/focus[mod:alt][@focus,noexists]
/clearfocus[@focus,dead]
这些命令还可以加进针对焦点目标的技能宏里
例:
Code:
#showtooltip
/focus[mod:alt][@focus,noexists]
/clearfocus[@focus,dead]
/cast[@focus,mod:shift,harm,exists][@mouseover,harm,exists][]旋风