其他的命令¶
现在有了足够的基础,以下这些命令我就只简要地讲解一下了。有些命令看似没啥用,但如果配合将在第二部分介绍的命令条件语,它将会产生惊人的效果。
装备物品¶
用于装备物品的命令有两个: /equip 和 /equipslot。 /equip 的参数为物品名称,效果是把对应物品装备到默认的装备栏中,类似在背包中右键单击物品(如:一件单手武器就会被装备到主手上)。而 /equipslot 的参数为装备栏编号和物品名称,效果是把物品装备到指定栏位中去。例:
# 装备武器
/equip 虚空角斧
把饰品装备在第二个饰品栏中:
/equip 14 棍子上的胡萝卜
注意:即使是在战斗中,插件页是可以直接使用装备命令的。因此在AfterCast和Chronos中可以使用装备命令。如果插件内部会检查命令是否经过安全化可能就不那么好用了,因为它属于“安全化”指令——但是事实上它并没有受到安全限制。
队列施法或使用物品¶
很多时候我们需要经常按一定顺序使用固定的一些技能或物品。这样的操作是可用 /castsequence 宏命令进行傻瓜化的。 /castsequence 命令用法是在后面写上一些技能或物品的名称,之间用英文的半角逗号分隔,和 /use、 /cast 类似。技能名、物品名、物品代号、装备栏代号和背包位代号都可以混合使用。每次执行宏,就使用当前的技能或物品(从第一个开始),如果成功,队列的当前位置就被移至下一个技能或物品。也就是说需要反复执行宏来按顺序使用这些技能或物品。当最后一个技能/物品成功使用后,这个队列就被重置到开头。比如:
/castesquence 献祭, 腐蚀术, 痛苦诅咒, 生命通道
这是痛苦术士起手的招牌动作。注意,如果献祭没有施放成功(比如魔法不足,超出范围,被沉默了等等),这个队列不会继续执行,直到献祭放出去。所以下面这个宏是屁用没有的:
/castesquence 压制, 斩杀, 致死打击
在技能列表之前,可以插入一个条件语,用于另外指定一些队列的重置条件。语法是:
reset=n/target/combat/shift/alt/ctrl
以上的这些条件都可以任意共存。其中,n是数字,表示从某次执行宏开始,经过n秒后没有再次执行这个宏,那么队列就被重置到开头。这一点很重要,因为这意味着无法利用reset条件语来精确计时(比如让某技能一冷却就用)。target条件表示当目标切换时,宏队列重置;combat条件表示脱离战斗后重置;shift,alt和ctrl表示当执行宏时指定的键为按下状态时重置。例如:
/castsequence reset=10/shift 第一个技能, 其他技能, 一些物品
如果这个宏图标使用的是问号,就会自动显示下一个要施放技能的图标。但如果/castsequence前面还有其他/cast和/uses命令,这个功能就没有了,而且玻璃渣也没有提供什么命令来解决这个问题。
随机施法或使用物品¶
最常见的例子就是希望随机召唤一个坐骑来装B,使用 /castrandom 或者 /userandom 宏命令很容易实现这个功能。用法和/castsequence类似,如:
/castrandom 迅捷绿色机械路行鸟, 军用黑色机械路行鸟, 召唤恐惧战马
攻击:
以前的宏是/attack,后面可以写上单位名作为攻击对象,无参数则以当前目标为对象。效果是切换当前的攻击状态(攻击/停止攻击)。但是这个宏从2.2.3开始就被废除了,只能使用/startattack和/stopattack了。分别用来攻击和停止攻击。如:
/startattack Cogwheel
技能栏控制¶
有两个控制技能栏翻页的宏: /changeactionbar 和 /swapactionbar 。前者接受一个数字作为参数,表示要切换到的技能栏页码。常见的是猎人用来转换近战远程攻击状态:
/cast 雄鹰守护
/changeactionbar 1
和:
/cast 灵猴守护
/changeactionbar 2
/swapactionbar命令后面要写两个页码,表示来回切换指定的两个技能页。如果当前技能页不是两个页码中的一个,当前页就会被设置为第一个页码指定的技能栏页:
/swapactionbar 1 2
移除增益效果¶
/cancelaura命令可以移除自己不想要的增益效果(BUFF),比如主坦需要移除身上的拯救祝福:
/cancelaura 拯救祝福
退出形态¶
除了战士,任何有“形态”概念的职业(德鲁伊、暗牧)都可以用 /cancelform 来退出当前形态:
/cancelform /use 超强治疗药水
2.3版本之前,上面这个宏由于形态取消有一个延迟,为了达到效果需要执行两次。不过2.3版本后,小德可以只点一次就产生效果了。
中止施法¶
前面简单提到了 /stopcasting 命令,不过它存在的目的顾名思义,是用来打断当前施法的。这对处理紧急情况很有用,比如我的术士:
/stopcasting
/cast 暗影灼烧
终止一个宏:/stopmacro¶
/stopmacro如果不配合条件语来使用是没有什么意义的。它一般用来实现条件执行的功能:如果满足了某些条件,则中止宏继续运行。具体用例请参见设置焦点(focus)。
解散坐骑¶
/dismount
不用再说什么了吧?
保存一个目标用于后续动作¶
/focus 宏可以把一个目标设为焦点(focus),然后可以在其他指令中使用这个focus。比如你的老大指定了一个目标让你羊着。你要做的就是选择它,然后输入/focus。然后你就可以用这个宏羊着它了,而不用管你当前目标变成了谁:
/cast [target=focus] 变形术
注意,focus的作用可不仅仅如此,具体还是请参见设置焦点(focus)一节的内容,那里有更深入的剖析。
模拟点击¶
/click 命令的参数为一个按钮(本质上来说是一个窗口)的名称,执行的效果就相当于用鼠标点击了这个按钮。默认情况下,它的效果相当于左键单击,也可以根据设置成其他按键点击的效果。至于按钮名称可以通过以下方式获知:
使用插件。某些插件,比如MoveAnything,提供了查看窗口名称的功能。 查看界面的源代码。这一般是非常娴熟非常牛B的插件制作者才能做到的。 用这样一个宏获取当前鼠标所指的窗口名称:
/run local f=GetMouseFocus(); if f then DEFAULT_CHAT_FRAME:AddMessage(f:GetName()) end
/click可以用于很多用途。比如利用它可以一次执行很多宏。还有,假设你有一个宏太长了,远远超过255字符限制。你就可以把后面写不下的代码写到另一个宏中,而前面那个宏的末尾写上:
/click MultiBarRightButton1
再把第二个宏拖到那个叫MultiBarRightButton1的栏位中。这样执行第一个宏就相当于执行了所有的宏命令。 另外,这个宏还可以用来做一些其他命令没法办到的事。比如前面提到的切换宠物技能自动施放状态的功能,就可以这样解决:
/click PetAttackButton5 RightButton
这个命令的涵义就是右键单击一下宠物栏上第五个按钮。 用于指定按键的参数还可以是LeftButton(左键,默认),MiddleButton(中键),Button4(4号键)和Button5(5号键,职业玩家的鼠标……)。在掌握这些之后,第二部分结尾处还会介绍更复杂的,利用/click产生分支判定效果的例子。