其他的命令

现在有了足够的基础,以下这些命令我就只简要地讲解一下了。有些命令看似没啥用,但如果配合将在第二部分介绍的命令条件语,它将会产生惊人的效果。

装备物品

用于装备物品的命令有两个: /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产生分支判定效果的例子。