1.经常要使用的对话/你的口号和宣言
在WOW中,你一定有经常需要说的话,比如牧师经常需要大喊“牧师正在受到攻击,大家赶快救命,9999999……”,而下副本的时候队长要招呼大家“情况不妙,牧师快跑,战士死挡,大家扯乎”等等。而真的在这种危机情况中,你来得及打字把问题交待清楚吗?这时刻宏就能助上你一臂之力:
新建一个宏(什么什么?不懂得怎么新建宏?那麻烦请你去查一下官方或者其他网站的操作指导,我这里就不多罗嗦了),然后在宏的编辑框中输入这样的命令行(为方便大家,我用一对~~表示在同一行中的内容,实际使用时,请去除首尾的~标记):
~/p牧师正在受到攻击,大家赶快救命,9999999999……~
然后把你新建的这个宏象法术或者技能一样拖放到快捷栏中,这样你就可以快速的说出一大段文字来,如果你要说的话不止一行怎么办?很简单,有几行就说几行,比如:
~/p牧师正在受到攻击,大家赶快救命,9999999999……~
~/p赶快救我啊,否则我会恨死你们一辈子的……~
在这里附带一个新手指导:/p团队说话;/s对话泡泡;/g工会说话;/x在某个频道说话(x为具体的数字,比如1是综合频道,2是交易频道等……)
到现在为止都很简单,对不对?让我们接着往下
2.释放魔法和技能
很多时候你往往需要告诉同伴们一些话后自己做一些动作,比如作为牧师的我往往需要在喊救命的同时释放一个“尖叫”的魔法,这个时候有个非常简单的办法完成这个宏:先打开你的魔法书,然后我们再次进入宏的编辑界面,在你已经编辑好的内容后面,SHIFT左键选择相应的魔法/技能,我们就得到以下的内容:
~/p牧师正在受到攻击,大家赶快救命,9999999999……~
~/释放心灵尖啸(等级1)~
这样当你在危急时刻调用这个宏时,就不仅能及时向队友求救,同时能赶跑2个围攻你的怪8秒,争取宝贵的自救时间
所有在法术书中的技能和魔法都可以这样应用,只除了平时就不能拖放到快捷栏的被动技能。嗯,很容易理解,对不对?让我们来看看稍微复杂一些的用法
3.定义目标/使用目标参数
现在我们再来看看如何定义魔法/技能的目标并在对话中加入参数。下副本的时候,几乎所有的队员都可能向牧师求救,但是牧师一次只能救一人,在界面很卡的时候,牧师卡1秒就有可能带来灭团的危险,这个时候使用宏能大大增加魔法的准确性和及时性
比如我可以常备两个宏,专门用来给Tank加盾牌加血:
~/target玩家名字~
~/释放真言术:盾(等级3)~
以及
~/target玩家名字~
~/释放治疗(等级1)
有的时候大家七嘴八舌的向你求救会弄得你晕头转向,当然你有你的判断,但给大家打个招呼,让没有加血加盾的队员耐心等候会促进团队凝聚力,这个时候可以使用“%t”来告诉大家你当前加血加盾的对象是谁(%t一定是你的大头像旁边的大头像,由于怪物攻击可能会改变你的%t所代表的玩家名字,但是血和盾一定是加给自己人的,这个不用担心)
以上文提到的加盾牌的宏为例:
~/target玩家名字~
~/释放真言术:盾(等级3)~
~/p正在对%t加盾牌,4秒后才能为其他队员加,请耐心等候~
像这样定义了的宏,你只要在募集好队员后确定哪个是Tank,然后把他的名字替代掉上文的玩家名字就可以了。
Script(脚本)虽然不是我在这篇文章中要讨论的对象,但为了方便大家还是先介绍两个函数TargetLastEnemy(),TargetNearstEnemy(),望文思义,这两个函数就是设定上次攻击的敌人为目标以及设定距离最近的敌人为目标,具体使用如下:
~/target玩家名字~
~/释放真言术:盾(等级3)~
~/p正在对%t加盾牌,4秒后才能为其他队员加,请耐心等候~
~/scriptTargetLastEnemy()~
这样就能在结束这个宏的时候,自动把目标转回你上次攻击的对象上,当然这个对牧师的意义可能不大,让我们再来看看常用的两种不使用script定义目标的方法。经常的作为牧师的我需要把目标转回自己,而其他队员需要协助Tank一鼓作气击破一个敌人,我的宏就是:
~/target玩家名字~
~/释放真言术:盾(等级3)~
~/p正在对%t加盾牌,4秒后才能为其他队员加,请耐心等候~
~/targetYvonne~*Yvonne是我的名字
而其他的队员就有可能是
~/target自己的名字~
~/释放增益或补血法术的名字(等级X)~
~/assistTank玩家名字~
其中/assist就写协助某个玩家,把他的当前目标作为你的目标,如果选择Tank的名字当然就是大家集中火力猛攻一个怪。/assist是可以使用%t作为参数的,比如队伍中专职保护牧师的伙伴可以定义一个宏,在牧师求救的时候,把枪口立即对准正在攻击牧师的怪:
~/assist%t~
使用的时候听到牧师求救,立刻点牧师的头像然后使用宏,你的枪口就对准了对牧师威胁最大的怪了,我当然万分的希望大家多多使用这个宏,呵呵
这里再提一个类似/assist的使用方法,但是也是极其有用的命令/follow。在和其他玩家一起组队做任务的时候,往往我还在四处掠夺的时候,他就起跑了,等到我点他的头像,右键然后跟随的时候,他可能早就跑出我的视野之外,通常我会备着这样一个宏
~/p我现在正要跟随%t,请你确定我跟上后再一起走~
~/assist%t~
到现在为止虽然开始有些复杂了,但应该都可以理解,对不对?接下来,我们来看看,为什么不能在一个宏里面使用两个魔法/技能
4.关于为何不能在一个宏里面放两个魔法/技能
一定有很多朋友像我一样,在初初了解宏以后,非常希望能编出一个宏来释放好几个魔法/技能,比如我想要在逃命的时候除了尖叫外再加一个盾牌,然后最好再加上点血,而猎人可能希望组合各种射击的方式,使攻击效率最好(我们的工会主席就是如此,呵呵)。
但是这点基本上是做不到的,先说为什么,再说有什么办法可以小小弥补一下。
首先一个宏里的命令是几乎同时发送给服务器的(前后命令行之间的时间快慢相对动作而言可以忽略不计),而你的魔法/技能即使是即时释放的,都需要差不多1秒的时间(以我的盾牌和恢复为例),如果你编辑了这样一个宏:
~/释放心灵尖啸(等级1)~
~/targetYvonne
~/释放治疗(等级1)~
在实际使用中,系统一定会提示你“我还没有准备好”,第二个魔法/技能是不会被释放的。
有的朋友一定会说“我在其他地方看到有一个/in的用法,可以延迟的”,这里先说一句使用/in一定要先安装一个插件cosmos(具体下载办法,后文提示),并且/in后面不能跟cast也就是说不能跟施放魔法/技能。
有的朋友或许立刻想到,“那我可以先说话,然后在施放法术”,也就是:
~/释放心灵尖啸(等级1)~
~/in1p我正在逃命中
~/targetYvonne
~/释放治疗(等级1)~
呵呵非常好的想法,但是行不通。原因是宏作为一组命令同时发送给服务器,服务器对每个的响应都几乎是立即的,即使你用in,也只是在几秒后才显示你要的内容,而不是几秒后在执行这条命令。也就是说你的“/释放治疗(等级1)”并不会等到你in的内容说完后在执行,这个方法无效。
但是大家也不要觉得沮丧,虽然blizzard通过即时魔法也需要一定的时间释放来大大减弱了宏的功能,但宏仍然是强大的,至少让你一次少做两三次键盘操作,我们来具体看一下到底那些东西可以在一个宏里共存,简单来说一个宏里面可以共存的命令包括一个需要时间完成的命令多个不需要时间完成的命令:
需要时间完成的命令包括:a释放魔法/技能,b其他需要时间完成的动作(比如猎人的多重攻击技能)
不需要时间完成的命令包括:a说话,b进入攻击模式,c让你的宠物攻击,d使用物品,e转身动作/跑动动作
所以聪明的你一定想到了弥补的办法,对吗?虽然我没有办法一边尖叫,一边加盾牌或者补血,但是我可以吃血瓶啊,并且可以自动转向保护人的方向,然后开始狂奔……
要进一步加强宏的功能,就一定会使用到script(脚本),这个可就是个更加复杂和庞大的话题了