首页 > 白马西风 > TBC宏命令
2007
06-02

TBC宏命令

在魔兽资料片中的某些宏指令和接口的改变,资料片之前的宏可能无法正常运作,例如之前很好用的一些if/then形式的宏。 同时比如一些插件也不能再使用了,所以有必要预先对新的系统有些认识。

最重要的问题,就是竞技场,有消息称比较高等级的竞技场竞赛将限制插件的使用,但未提到限制宏的使用。
本文将分成2部分,首先会介绍一下TBC的宏的一些基础信息

在WoW 2.0中,宏和插件将会有翻天覆地的改变,一系列条件选项将可以被应用于以下斜杠命令:/startattack, /stopattack, /stopcasting, /cast*, /use*, /cancelaura, /changeactionbar, /equip*, /pet*, /target*, /cleartarget, /focus, /clearfocus, /assist and /click commands ,以及/castsequence。首先讲解如何应用它们。
在2.0中,目前所用的大多数宏都将被废弃,因为在战斗中,任何用到CastSpellByName()或者TargetUnit()的宏都将不再有作用。更进一步的,多数“傻瓜逻辑”的宏也不会再有效。但是,你现在可以通过新的宏条件选项来实现许多流行宏的功能。

现在,使用“/cast”(“/施放”)非常简明,命令格式就是“/cast ”(施放最高等级的法术)或者“'/cast (Rank <#>))”。比如说:

/cast Healing Wave
/cast Healing Wave(Rank 3)

在新的系统中,你依然可以使用原来的这些格式,不过你现在可以加入条件选项来使得“/cast”更加灵活。“/cast”的新格式是:“/cast [<第一组条件选项>] <第一个法术名称>; [<第二组条件选项>] <第二个法术名称>; [<第三组条件选项>] <第三个法术名称>;...”。

现在让宏运作起来的方式就像这样:第一组条件选项被检测,如果它们成立,则第一个法术被施放,如果它们不成立,则第二组条件选项被检测,如果这个成立了,下一个法术被施放,如此下去。但是,你必须牢记,只有一个法术会被施放。当一组条件选项被检测到成立时,相应的法术就会被施放,宏也就此结束.

目前可使用的条件选项有:
help - 检测目标是否为友善
harm - 检测目标是否为敌对
combat - 检测你是否在战斗中
stance或stance:# - 检测你是否在姿态中,或是否在某个特定的姿态中(详见下)
stealth - 检测你是否潜行
modifier或modifier:shift|ctrl|alt - 检测命令被执行时是否某个特定的键被按下
equipped: - 检测某个物品是否被装备。可以是任何有效的装备槽,物品分类,或者物品子类
target = - 特殊条件选项,它把当前目标改变为任何有效的单位(详见下)
actionbar: - 检测当前动作条是否为列出的那个
pet: - 检测宠物是否存在。可以接受宠物类型(枭,熊,小鬼)或者名字(Fluffy,我家坏坏)作为条件。不带条件则检测是否有任何宠物存在。
mounted,swimming,flying - 检测是否在坐骑上,游泳,或者飞行中
indoors,outdoors - 检测是在室内还是室外
button:<#> - 检测某个特定的按钮被用来触发法术,默认为1(详见下)
channeling: - 检测你是否正在使用某引导法术,如果没写出具体的法术名,那么会检测是否有任意的法术被引导。
exists 和 dead - 检测目标是否已经死亡,或是否真的存在
party - 检测目标是否是你的小队成员。
raid - 检测目标是否是你的团队成员。
group - 检测你是否在集体中。
group:party/raid - 检测你是否在指定类型的集体中(小队或团队).

(注:对于条件选项的一些额外技巧
你可以在任何条件选项前加上“no”来得到反效果,比如,“nocombat”则在脱离战斗的情况下成立。
用逗号“,”来分隔条件选项作用和“and”一样,当条件选项同时成立时执行。
用斜杠“/”来分隔条件选项作用和“or”一样,当其中一个条件选项成立时执行。
在宏编辑器里按“?”图标将强制宏以当前法术的图标显示。)
(注:在2.1.0的测试服务器中,关于“条件”的内容有如下一些改动。
*新条件选项flyable - 检测你是否处在能使用飞行坐骑的地域。
*/dismount命令(下马)也能被宏条件支持。
*对于一个单一的行动,可以将几个条件子句合并。只要其中一个条件子句成立,行动便会履行。)

例如:

/cast [target=target,help,nodead] [target=targettarget,help,nodead] [target=player] Healing Wave

新的宏命令:
/castsequence - 按顺序施放一组事先设定好的法术(详见下)
# show - 显示所列出法术的宏返回值
# showtooltip - 显示列出法术的工具栏信息.

(注:在2.1.0的测试服务器中,
*/castsequence, /cast, /castrandom, /use, /userandom, /equip, /equipslot 这些命令支持背包、技能栏的编号。
*#show 和 #showtooltip指令,可以给予条件,这方面的内容将进行升级。
*#show and #showtooltip指令的参数,不仅仅是法术,也可以指定具体的技能格,得到相关的信息反馈
*新命令:/cancelform )

/castsequence的说明:
这个指令允许你在一次次点击某个宏时,将其中定义的一系列法术逐个施放,格式如下:
/castsequence reset=N/target/combat/shift/alt/ctrl , ,
-当你第一次点击这个宏时,它施放列表中的第一个法术,第二次点击的时候,施放第二个法术,以此类推。 当它施放完最后一个时,又回到起始点开始循环。
-如果法术无法施放(冷却,超出距离,法力不足等等情况下),序列就不会走到下一个法术,下一次你再点这个宏的时候,它会再度尝试施放第一个法术.
-你可以给这个宏附加之前提到过的条件选项,但只能对整个序列起作用,不能作用到每一个。
-"reset=N/target/combat/shift/alt/ctrl“这部分是设置这个宏的重置。“reset=combat”为一个指定的数字,标示的是多少秒以后重置。“reset=target”,那序列将在你改变目标时就重置到起始位置。你也可以设置“reset=combat”,每当你脱离战斗,这个序列就会被重置了。其余的几个则表示你使用时是否按住了特定的按键。

条件选项button:<#>说明:
条件选项[button:<#>]运作起来类似于修改按键。一般来说,当你左键点击一个按钮,它就执行(宏)里面所有的动作,然而,如果你设置了button条件选项,你可以改变宏在特定按键上的表现。

默认按键是1,鼠标左键。注意,如果你通过按键绑定来触发一个宏,它会认为是通过鼠标左键点击触发。被编号的按键有:
1 或 左键
2 或 右键
3 或 中键
4 或 按键4
5 或 按键5
...以及其他一切在“安全声明头文件”中定义的按键。

关于target=的说明:
是一个特殊的条件选项,它并不检测条件是否成立,而是改变施法的目标以其他条件选项的目标。“unit”可以是任何有效的unit类型.
有关unit类型,如下

基本unit
"focus" - 当前玩家利用/focus指令标定的目标.
"player" - 当前的玩家
"pet" - 当前玩家的宠物
"partyN" - 除玩家外的第N位小队成员(N=1,2,3,4)
"partypetN" - 除玩家外第N位小队成员的宠物(N=1,2,3,4)
"raidN" - 团队索引中的第N位成员(N=1,2,3,...,40)
"raidpetN" - 团队索引中的第N位成员的宠物(N=1,2,3,...,40)
"target" -当前选定的目标
"playertarget" - 当前玩家的目标
"mouseover" - 当前(或最近)鼠标悬停的对象
"none" - 空值
"npc" or "NPC" - NPC

-关于unit's target
你可以附加target后缀。比如"targettarget","partypet2target","party1target"等等

任何一个指令都有默认的target,那就是“target”,例如
/cast [help] Healing Wave
即相当于
/cast [target=target, help] Healing Wave
除非你加入一个[target=unit]条件选项,默认则就是你的当前目标。

/Equipped条件选项
参数可以是一个可装备的物品分类,或一个可装备的物品子类, 或一个物品槽。

-物品分类及子类列表
Armor 护甲
*Cloth 布甲
*Idols 圣像
*Leather 皮甲
*Librams 圣典
*Mail 锁甲
*Miscellaneous 包括火焰石,法术石,项链,戒指,饰品
*Shields 盾牌
*Totems 图腾
*Plate 板甲

Projectile 弹药
*Arrow 箭
*Bullet 子弹

Weapon 武器
*Bows 弓
*Crossbows 十字弓
*Daggers 匕首
*Guns 枪
*Fishing Pole 钓鱼杆
*Fist Weapons 拳套
*One-Handed Axes 单手斧
*One-Handed Maces 单手锤
*One-Handed Swords 单手剑
*Polearms 长柄武器
*Staves 法杖
*Thrown 投掷武器
*Two-Handed Axes 双手斧
*Two-Handed Maces 双手锤
*Two-Handed Swords 双手剑
*Wands 魔杖

-物品槽列表:
Two-Hand 双手
Bag 包
Shirt 衬衫
Chest 胸部
Back 背部
Feet 脚
Finger 手指
Hands 手
Head 头部
Held In Off-hand 副手物品
Legs 腿部
Neck 颈部
Ranged 远程
Off Hand 副手
Shoulder 肩部
Tabard 徽章
Thrown (ranged slot items like thrown daggers) 投掷(远程槽物品例如投掷匕首)
Trinket 饰品
Waist 腰部
One-Hand 单手
Main Hand 主手
Wrist 手腕

stance:#条件选项
当姿态编号没有给出时,则在玩家处于任一姿态都成立(注意,战士永远都处于某个姿态中)。如果给了编号,则检测该姿态是否被激活。
每个职业的特定姿态都有不同的编号,如下:
萨满: 1.幽灵狼
战士:1. 战斗 2. 防御 3. 狂暴
牧师:1. 暗影形态
德鲁伊:1. 熊 2. 水栖 3. 猫 4. 旅行 5. 枭兽/树
盗贼:1. 潜行
圣骑士的光环在宏条件选项系统中将不再被作为姿态处理。
请记住,如果跳过了某个姿态(例如作为战士却没有做防御姿态的任务),姿态编号将会递减,比如狂暴姿态的编号会变成2号。

觉得文章有用,微信打赏一元。



留下一个回复

你的email不会被公开。