Board logo

标题: 字典:WoW 2.0宏指南(Neuro's Macro Guide for WoW 2.0) [打印本页]

作者: qiq-beautypig    时间: 2007-6-21 09:37     标题: 字典:WoW 2.0宏指南(Neuro's Macro Guide for WoW 2.0)

WoW 2.0宏指南(Neuro's Macro Guide for WoW 2.0)

http://bbs.ngacn.com/read.php?tid=772487&fpage=1

::..
加为IE收藏 · 收藏主题 · 上一主题 · 下一主题 AUTHOR         CONTENT
[0 楼] lostcup         作者 PM 编辑 引用 顶端 2006-11-15 11:23
6月里再不更新Ed就要请叉饭
级别: Warden
发帖: 2064
威望: 66
财富: 66金币
       
WoW 2.0宏指南(Neuro's Macro Guide for WoW 2.0)

(Author's Note: WoW 2.0 is still in Beta, and as such, these options can change at any time.)

(作者注:WoW 2.0还在Beta阶段,因此以下条件选项随时可能被更改。)

In WoW 2.0, macros and addons will drastically change. Recently, Slouken announced an exciting new addition to the functionality of macros in WoW 2.0, a set of conditional options for the /cast, /use, /target, /focus, /assist, /stopmacro, /cancelaura, /userandom, /castrandom, and /castsequence slash commands. This post is intended to be a "How-To" guide on using them.

NOTE: While most of the examples given are done using '/cast', these options are available to all the slash commands listed above.

在WoW 2.0中,宏和插件将会有翻天覆地的改变。最近,Slouken(Blizzard UI开发者)宣布了一个令人激动的宏的新特性,一系列条件选项将可以被应用于以下斜杠命令:/cast,/use,/target,/focus, /assist,/stopmacro,/cancelaura,/userandom,/castrandom,以及/castsequence。这个帖子的目的就在于讲解如何应用它们。

注:虽然多数例子都使用了"/cast",但事实上这些条件选项对前面提到的所有斜杠命令都有效。

Understand that most current macros will be obsolete in 2.0. Just about anything using CastSpellByName() or TargetUnit() will be non-functional in combat. In addition, most 'dumb logic' macros will not work either. However, you can now replicate the functionality of many popular macros with these new Macro Options.

Currently, using '/cast' is very simple. The command format is '/cast <spellname>' (which casts the highest rank of the listed spell), or '/cast <spellname>(Rank <#>)'. Some examples:

/cast Greater Heal
/cast Arcane Intellect(Rank 3)

在2.0中,目前所用的大多数宏都将被废弃,因为在战斗中,任何用到CastSpellByName()或者TargetUnit()的宏都将不再有作用。更进一步的,多数“傻瓜逻辑”的宏也不会再有效。但是,你现在可以通过新的宏条件选项来实现许多流行宏的功能。

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

/施放 强效治疗术
/施放 奥术智慧(等级 3)

In the new system, this format still works just the same, however you can now add options to give more flexibility to your /cast statements. The new command format for '/cast' is: '/cast [<first set of options>] <first spellname>; [<second set of options>] <second spellname> ; [<third set of options>] <third spellname>; ...

The way a macro works now is like this: The first set of options is checked. If they are true, then the first spell is cast. If they are false, the next set of options is evaluated, and if true, the next spell is cast, and so on. However, you must keep in mind that only one spell will be cast. As soon as a set of options evaluates to true, the game will cast the corresponding spell, and that line of the macro will be done.

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

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

The current options available to players are:

help - Evaluates 'true' if target is friendly

harm - Evaluates 'true' if target is hostile

combat - Evaluates 'true' if you are in combat.

stance or stance:# - Evaluates 'true' if you are in a stance, or are in a particular stance (see below)

stealth - Evaluates 'true' if you are stealthed.

modifier or modifier:shift|ctrl|alt - Evaluates 'true' if the selected key is held down when the command is executed.

equipped:<item> - Evaluates 'true' if item is equipped. Item can be any valid inventory slot, item class or item subclass.

target=<unit> - Special option. It changes the target from the default of "target" to any valid unitid. (see below)

actionbar:<number> - Evaluates 'true' if the current actionbar is the same as the listed one.

当前可用的条件选项有:

help - 检测目标是否为友善
harm - 检测目标是否为敌对
combat - 检测你是否在战斗中
stance或stance:# - 检测你是否在姿态中,或是否在某个特定的姿态中(详见下)
stealth - 检测你是否潜行
modifier或modifier:shift|ctrl|alt - 检测命令被执行时是否某个特定的键被按下
equipped:<item> - 检测某个物品是否被装备。<item>可以是任何有效的装备槽,物品分类,或者物品子类
target = <unit> - 特殊条件选项,它把当前目标改变为任何有效的单位(详见下)
actionbar:<number> - 检测当前动作条是否为列出的那个

NEW OPTIONS:

pet:<pet type OR pet name> - Evaluates 'true' if the pet exists. Takes pet type (Owl, Bear, Imp) or pet name (Fluffy, MrBigglesworth). With no modifier (i.e. just [pet]) it evaluates 'true' if ANY pet exists.

mounted, swimming, flying - Evaluates 'true' if you are mounted, swimming, or flying, respectively.

indoors, outdoors - Evaluates 'true' if you are indoors or outdoors, respectively.

button:<#> - Evaluates 'true' if the selected button was used to 'click' the spell, defaults to 1 (see below).

channeling:<spell> - Evaluates true if you are channeling the spell listed. With no spell listed, it evaluates true if any spell is being channeled.

exists and dead - Evaluates true if your target is dead, or actually exists.

新的条件选项:

pet:<pet type 或 pet name> - 检测宠物是否存在。可以接受宠物类型(枭,熊,小鬼)或者名字(Fluffy,我家坏坏)作为条件。不带条件则检测是否有任何宠物存在。
mounted,swimming,flying - 检测是否在坐骑上,游泳,或者飞行中
indoors,outdoors - 检测是在室内还是室外
button:<#> - 检测某个特定的按钮被用来触发法术,默认为1(详见下)
exists 和 dead - 检测是否目标已经死亡,或是否真的存在

New Macro Command
---------------------------
/castsequence - Casts a predetermines set of spells in sequence (See Below)
# show <spell>- Shows macro feedback for the listed spell

Some additional tricks you can do with the options:
You can add 'no' to the beginning of any option (except target) to invert it, i.e. 'nocombat' will only work if you are NOT in combat.
Seperating options with a comma ',' will act like an 'and' statement; if both options are true, it executes.
Seperating options with a slash '/' will act like an 'or' statement; if either option is true, it executes.
Selecting the '?' Icon in the Macro Editor will force the macro to present the icon of the current spell that spell feedback is being given for.

新的宏命令
---------------------------
/castsequence - 按顺序施放一组事先设定好的法术(详见下)
# show <法术> - 显示所列出法术的宏返回值

对于条件选项的一些额外技巧:
你可以在任何条件选项前加上“no”来得到反效果,比如,“nocombat”则在脱离战斗的情况下成立。
用逗号“,”来分隔条件选项作用和“and”一样,当条件选项同时成立时执行。
用斜杠“/”来分隔条件选项作用和“or”一样,当其中一个条件选项成立时执行。
在宏编辑器里按“?”图标将强制宏以当前法术的图标显示。


[ 此贴被lostcup在2006-11-15 11:31重新编辑 ]
BBS.NGACN.COM

[1 楼] lostcup         作者 PM 编辑 引用 顶端 2006-11-15 11:24
6月里再不更新Ed就要请叉饭
级别: Warden
发帖: 2064
威望: 66
财富: 66金币
       

举例和姿态

Here are some examples to help:

/cast Greater Heal
Very simple macro which casts Greater Heal on your target.

/cast [help] Greater Heal
One option added. Will cast Greater Heal IF the target is friendly.

/cast [help] Greater Heal; Smite
Second spell added. Since it has no option added to it, it will be cast any time the first option fails.

/cast [help, combat] Flash Heal; [help, nocombat] Greater Heal; Smite
This macro will cast Flash Heal on a friendly target if you (not the target) are in combat. If you are not in combat and the target is friendly, it will cast Greater Heal. If neither of these is true (i.e. the target is not friendly) it will cast Smite.

/cast [help] Greater Heal; [harm, combat] Smite; [harm, nocombat] Mind Flay
This will cast Greater Heal on a friendly target, or Smite if the player is in combat, or Mind Flay if the player is not in combat.

这里有一些举例说明:

/施放 强效治疗术
非常简单,向你的目标施放强效治疗术。

/施放 [help] 强效治疗术
加入一个条件选项,当目标为友善时施放强效治疗术。

/施放 [help] 强效治疗术; 惩击
加入第二个法术,由于它没有任何条件选项,所以在第一组条件选项不成立时,则施放。

/施放 [help, combat] 快速治疗; [help, nocombat] 强效治疗术; 惩击
这个宏将在你(不是目标)处于战斗中时为友方目标施放快速治疗,如果你不在战斗中且目标为友方目标,则施放强效治疗术,如果这些条件都不成立(比如目标为敌对),则施放惩击。

/施放 [help] 强效治疗术; [harm, combat] 惩击; [harm, nocombat] 精神鞭笞
这个宏将对友方目标施放强效治疗术,或在战斗中对敌对目标施放惩击,或当你不处于战斗中时,对敌对目标施放精神鞭笞。

/cast [stealth] Ambush; Backstab
This will cast Ambush if the player is stealthed, Backstab if not.

/cast [nostealth] Backstab; Ambush
Does the exact same thing as above, just in a different way.

/cast [actionbar:1] Greater Heal; [actionbar:2] Smite
Will cast Greater Heal if the current actionbar is #1, Smite if it is #2, nothing if actionbars 3+ are selected

/cast [harm] Polymorph
/stopmacro [noharm]
/p Sheeping %t! DO NOT TOUCH!
This macro will cast Polymorph if the target is hostile, then stop the macro if the target is NOT hostile (i.e. if the polymorph didn't go off). Then it tells the party that it's target has been Sheeped. Note that because of the '/stopmacro' command, if the target was not sheeped, the party would not be sent a tell (thus cutting down on unneccessary spam).

/施放 [stealth] 伏击; 背刺
这个宏在玩家处于潜行时施放伏击,否则的话就背刺。

/施放 [nostealth] 背刺; 伏击
这个宏和上面那个作用完全相同,只不过用了相反的条件选项。

/施放 [actionbar:1] 强效治疗术; [actionbar:2] 惩击
如果当前动作条为1号时施放强效治疗术,如果是2号则施放惩击,如果为其他动作条则不做任何事情。

/施放 [harm] 变形术
/stopmacro [noharm]
/p 正在把%t变羊!别去碰它!
这个宏将在目标为敌对目标时施放变形术,若目标不是敌对,则停止这个宏(例如变形术没有施放出来),当目标被变羊后则通知队友。注意,因为“/stopmacro”命令的存在,如果目标没有被变羊,队友将不会看到喊话(从而减少了不必要的垃圾信息)。

/cast [pet] Call Pet; Revive Pet
This macro will call your pet if you do not have one, otherwise it attempts to cast Revive Pet.

/cast [pet:owl] Dive; [pet:cat] Dash; [pet] Growl
This macro will cast Dive if you have an owl, Dash if you have a cat, or Growl if you have anything else.

/cast [pet:Voidwalker] Sacrifice; [pet:succubus] Seduction
Will cast Sacrifice if you have a Voidwalker out, Seduction if you have a Succubus.

/use [nomounted,outdoors] Black War Steed Bridle
This will attempt to mount if you are outside and not mounted.

/cast [target=pet,dead] Revive Pet; [nopet] Call Pet; Mend Pet
This will revive your pet if it's dead, call your pet if you don't have him out, or mend your pet.

/施放 [pet] 召唤宠物; 复活宠物
这个宏将在你没有带着宠物时召唤一个出来,否则的话将尝试复活你的宠物。

/施放 [pet:owl] 俯冲; [pet:cat] 冲锋; [pet] 低吼
这个宏将在你带着枭类宠物的时候施放俯冲,带着猫类宠物时施放冲锋,如果是其他宠物则施放低吼。

/施放 [pet:虚空行者] 牺牲; [pet:媚魔] 魅惑
如果你带着虚空行者则施放牺牲,带着媚魔则施放魅惑。

/使用 [nomounted, outdoors] 黑色战驹缰绳
如果你在室外且没有骑着坐骑时召唤坐骑。

/施放 [target=pet, dead] 复活宠物; [nopet] 召唤宠物; 治疗宠物
若你的宠物死亡了则复活它,如果没有召唤出来则召唤宠物,或者治疗你的宠物。

----------------
Stances:
----------------

Stances work the same way. If no stance number is given, then it evaluates to 'true' if the player is in any stance. (Note that for Warriors, you are ALWAYS in some stance). If a number is given, it checks to see if that form is currently active.

Each class has different numbers for it's stances. Here is a list of stances and their numbers:

Class: Warrior Priest Druid Rogue
---------------------------------------------------------------
Stance:1 Battle Shadowform Bear Stealth
---------------------------------------------------------------
Stance:2 Defensive Aquatic
---------------------------------------------------------------
Stance:3 Berserker Cat
---------------------------------------------------------------
Stance:4 Travel
---------------------------------------------------------------
Stance:5 Moonkin/Tree
---------------------------------------------------------------

Paladin Auras are no longer treated as Stances by the Macro Option system.

Keep in mind that if you skip a stance (like a Warrior who never does the Defensive Stance quest) then your stance numbers will drop down, i.e. Berserker Stance would be stance 2.

----------------
姿态
----------------

姿态以同样的原理工作,当姿态编号没有给出时,则在玩家处于任一姿态都成立(注意,战士永远都处于某个姿态中)。如果给了编号,则检测该姿态是否被激活。

每个职业的特定姿态都有不同的编号,这是一个列表:

战士:1. 战斗 2. 防御 3. 狂暴
牧师:1. 暗影形态
德鲁伊:1. 熊 2. 水栖 3. 猫 4. 旅行 5. 枭兽/树
盗贼:1. 潜行

圣骑士的光环在宏条件选项系统中将不再被作为姿态处理。

请记住,如果你跳过了某个姿态(例如作为战士却没有做防御姿态的任务),你的姿态编号将会递减,比如狂暴姿态的编号会变成2号。

Some stance examples.
/cast [nostance] Bear Form
If you are not in a form, this will shift you into bear form.

/cast [stance:1] Overpower; [stance:2] Sunder Armor; [stance:3] Whirlwind
Will cast Overpower in Battle stance, Sunder Armor in Defensive, and Whirlwind in Berserker stance

/cast [stance:1] Growl; [stance:3] Claw
Will cast Growl in Bear form, or Claw in Cat form.

/cast [nostance:3] Cat Form
Will put you into cat form if you are not. If you are currently in Cat form, this will NOT shift you out.

一些姿态宏的例子:

/施放 [nostance] 熊形态
如果没有在一个形态下,则变形到熊形态。

/施放 [stance:1] 压制; [stance:2] 破甲; [stance:3] 旋风斩
在战斗姿态下施放压制,防御姿态下施放破甲,狂暴姿态下施放旋风斩。

/施放 [stance:1] 低吼; [stance:3] 爪击
在熊形态施放低吼,在猫形态施放爪击。

/施放 [nostance:3] 猎豹形态
如果不在猎豹形态,则变形猎豹,但如果已经处于猎豹形态,也不会把你变回来。


[ 此贴被lostcup在2006-11-16 09:53重新编辑 ]
BBS.NGACN.COM

[2 楼] lostcup         作者 PM 编辑 引用 顶端 2006-11-15 11:24
6月里再不更新Ed就要请叉饭
级别: Warden
发帖: 2064
威望: 66
财富: 66金币
       

Equipped条件选项

The [equipped] option also works the same way, but it's a bit trickier. The argument can be either an Inventory Slot (see below), an item type, or an item subtype. For a list of item types and subtypes, check here: http://www.wowwiki.com/ItemType
此网页不属于NGA网站,NGA不保证其安全性
继续访问 取消 不再提示我[ http://www.wowwiki.com/ItemType ]

A List of Inventory Slots:

[equipped]条件选项也以同样的方式工作,但是更富有技巧。参数可以是一个物品槽(见下),一个物品分类,或一个物品子类。物品分类及子类,请参考这里:http://www.wowwiki.com/ItemType
此网页不属于NGA网站,NGA不保证其安全性
继续访问 取消 不再提示我[ http://www.wowwiki.com/ItemType ]

物品槽列表:

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 手腕

Some equipped examples:

/cast [equipped:Two-Handed Swords] Mortal Strike; Heroic Strike
This will cast Mortal Strike if you are using a 2hand sword.

/cast [equipped:Two-Handed Swords/Two-Handed Maces/Two-Handed Axes/Polearms] Mortal Strike
This uses the '/' modifier to set up an 'or' condition. This macro will cast Mortal Strike if ANY of those types are equipped.

/cast [equipped:Shields] Shield Bash
This will cast Shield Bash if you have a shield equipped.

/cast [equipped:Shields, equipped:Daggers] Shield Slam
This will cast Shield slam only if you have a dagger AND a shield equipped.

/cast [noequipped:Shields, equipped:Off Hand] Rampage
This will cast Rampage if you do NOT have a shield equipped, AND you have something in the Off Hand slot. In theory, this macro will only activate if you are dual-wielding.

一些equipped例子:

/施放 [equipped:双手剑] 致死打击; 英勇打击
当你装备着双手剑时施放致死打击。

/施放 [equipped:双手剑/双手锤/双手斧/长柄武器] 致死打击
这里使用了分隔符“/”来设置一个“或”条件,这个宏将在你装备以上类型武器时施放致死打击。

/施放 [equipped:盾牌] 盾牌猛击
在你装备了盾牌的时候施放盾牌猛击。

/施放 [equipped:盾牌, equipped:匕首] 盾牌猛击
仅在你同时装备了盾牌和匕首时才施放盾牌猛击

/施放 [noequipped:盾牌, equipped:副手] 暴怒
在你没有装备盾牌且副手装备了武器的情况下施放暴怒,也就是说,在你双持的时候才被激活。
作者: qiq-beautypig    时间: 2007-6-21 09:38

[ 此贴被lostcup在2006-11-15 16:29重新编辑 ]
BBS.NGACN.COM

[3 楼] lostcup         作者 PM 编辑 引用 顶端 2006-11-15 11:24
6月里再不更新Ed就要请叉饭
级别: Warden
发帖: 2064
威望: 66
财富: 66金币
       

Button和Target目标选项

The option [button:<x>] works similarly to the modifier button. Normally, if you left-click a button, it performs whatever action is in that spell, in our case a macro. However, if you set the button option, you can change the behavior of a particular macro.

The default button is 1, the Left Mouse button. Note that when you activate a macro via a keybinding, it treats it like a Left Mouse button click. The numbered buttons are:
1 or LeftButton
2 or RightButton
3 or MiddleButton
4 or Button4
5 or Button5
... or any of the buttons remapped by the secure state headers. I don't know what this last bit means, to be honest, I'm simply quoting slouken.

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

默认按键是1,鼠标左键。注意,如果你通过按键绑定来触发一个宏,它会认为是通过鼠标左键点击触发。被编号的按键有:

1 或 左键
2 或 右键
3 或 中键
4 或 按键4
5 或 按键5
...以及其他一切在“安全声明头文件”中定义的按键。我不太确定这是什么意思,仅仅只是引用Slouken的表述。

lostcup: 官网UI论坛中有一篇Iriel(论坛MVP)写的SecureStateHeader Example Code,类似于一个模版,插件作者可以生成一个实例去修改默认设定。

/cast [button:2,target=player] Flash Heal; [help] Flash Heal
This macro would cast Flash Heal on a friendly target, OR if you clicked it with the right mouse button, it would cast Flash Heal on you.

The [target=unit] is a special option. Instead of evaluating to 'true' or 'false', it changes the target of the following spell AND the target of the other options. "Unit" can be any valid unit type, i.e. "player", "target", "targettarget", "party1", "party1target", etc etc. For more on unit types, go here: http://www.wowwiki.com/UnitId
此网页不属于NGA网站,NGA不保证其安全性
继续访问 取消 不再提示我[ http://www.wowwiki.com/UnitId ]

/施放 [button:2, target=player] 快速治疗; [help] 快速治疗
这个宏将向友方目标施放快速治疗,或者如果你右键点击它,则向自己施放快速治疗

这里[target=unit]是一个特殊的条件选项,它并不检测条件是否成立,而是改变施法的目标以其他条件选项的目标。“unit”可以是任何有效的 unit类型,例如“player”,“target”,“targettarget”,“party1”,“party1target”,等等。想了解更多的unit类型,可以去这里:http://www.wowwiki.com/UnitId
此网页不属于NGA网站,NGA不保证其安全性
继续访问 取消 不再提示我[ http://www.wowwiki.com/UnitId ]

Keep in mind that every spell has a default target of "target". So, for example:

/cast [help] Greater Heal

is the same as

/cast [target=target, help] Greater Heal

Unless you add in a [target=unit] option, the default will be your current target.

Possible examples of [target=unit]:

/cast [target=player] Flash Heal
This spell will always cast flash heal on yourself. Note that your current target will be unchanged.

/cast [help] Flash Heal; [target=targettarget] Flash Heal
This will cast Flash heal on your target if it is friendly, OR it will cast Flash Heal on your target's target.

/cast [help, combat] Flash Heal; [help, nocombat] Greater Heal; [target=targettarget, help, combat] Flash Heal; [target=player] Greater Heal

This will either 1) Cast flash heal if the target is friendly and you are in combat, 2) cast greater heal if the target is friendly and you are NOT in combat, 3) cast Flash Heal on your target's target if you are in combat and that unit is friendly, or if none of those conditions is true, it will cast Greater Heal on yourself.

If you use the unitid "none" it acts as if you had NO target. For example:

/cast [target=none] Dispel Magic

This would cast Dispel Magic and then ask for a target, regardless of whom you have targetted currently.

请注意,任何一个施法都有默认的target,那就是“target”,例如:

/施放 [help] 强效治疗术

就和下面的宏等同:

/施放 [target=target, help] 强效治疗术

除非你加入一个[target=unit]条件选项,默认则就是你的当前目标。

一些[target=unit]的例子:

/施放 [target=player] 快速治疗
总是向自己施放快速治疗,并且不会改变你的实际目标

/施放 [help] 快速治疗; [target=targettarget] 快速治疗
如果目标是友善的,则向他施放快速治疗,否则向目标的目标施放快速治疗。

/施放 [help, combat] 快速治疗; [help, nocombat] 强效治疗术; [target=targettarget, help, combat] 快速治疗; [target=player] 强效治疗术
这个宏可以 1) 如果你处于战斗中且目标友善时施放快速治疗,2) 如果你目标友善且没有在战斗中则施放强效治疗术,3) 如果你处于战斗中且你目标的目标为友善,则向他施放快速治疗,4) 如果前面的条件都不成立,则向自己施放强效治疗术。

如果你使用none作为unit,则它会像你没有选中目标一样工作,例如:

/施放 [target=none] 驱散魔法

这将施放驱散魔法且等待你点中一个目标,无论你当前是否选中了一个目标。


[ 此贴被lostcup在2006-11-16 10:45重新编辑 ]
BBS.NGACN.COM

[4 楼] lostcup         作者 PM 编辑 引用 顶端 2006-11-15 11:24
6月里再不更新Ed就要请叉饭
级别: Warden
发帖: 2064
威望: 66
财富: 66金币
       

Castsequence

New Command: /castsequence
----------------------

There's a new command in WoW 2.0, called /castsequence. It allows you to set up a series of spells to cast one after another, on each subsequent click of the macro. The format is:

/castsequence [<options>] reset=<#>/target/combat <spell1>, <spell2>, <spell3>

"Huh? Say what?"

It sets up a list of spells, and the first time you click the macro, it casts the first spell on the list. The next time you click it, it will cast the second spell, and so on. When it gets to the end, it goes back to the beginning.

"I'm still not following you."

新的宏命令:/castsequence
----------------------

在WoW 2.0中出现了一个新的命令,/castsequence。它允许你在一次次点击某个宏时,将其中定义的一系列法术逐个施放,格式如下:

/castsequence [<条件选项>] reset=<#>/target/combat <法术1>, <法术2>, <法术3>

“啥?你在说啥?”

它设定了一个法术列表,当你第一次点击这个宏时,它施放列表中的第一个法术,第二次点击的时候,施放第二个法术,以此类推。 当它施放完最后一个时,又回到起始点开始循环。

“我还是不太明白耶。”

Ok, lets say you are a mage. Sometimes you need to Frost Nova and Blink away quickly. You can't do them both at the same time, so you set up a sequence to do it!

/castsequence Frost Nova, Blink

And there you have it. The first time you click it, you Frost Nova, then you click again and Blink away.

"And what happens if Frost Nova is on cooldown? Does it Blink instead? Or does it just skip over Frost Nova and do Blink on the next click?"

Neither one. If the spell fails to cast (due to cooldown, out of range, not enough mana, whatever) then the sequence does NOT go to the next spell. The next time you click the macro, it'll try to Frost Nova again. (NOTE: A resist, dodge, parry, etc does NOT count as a failed cast. The spell/ability successfully went off, it just missed.)

OK,假设你是一个法师,有时候你需要冰霜新星后立刻闪现开,你没法同时做到这些事情,现在你可以设定一个序列去做!

/castsequence 冰霜新星, 闪现

就这么简单,第一次你按这个宏,你施放冰霜新星,再按一次,闪现。

“那如果冰霜新星在冷却中怎么办?它会直接施放闪现么?还是不施放冰霜新星,等第二次按这个宏的时候,再施放闪现?”

都不是。如果法术无法施放(冷却,超出距离,法力不足等等情况下),序列就不会走到下一个法术,下一次你再点这个宏的时候,它会再度尝试施放冰霜新星。(抵抗,躲闪,招架等并不会算作无法施放,这些情况下法术/技能确实施放了,只不过没有命中。)

"What if I'm not in combat? I don't want to waste a Frost Nova if I'm not actually fighting."

You can still use all the same macro options (however, you cannot set options for each individual spell, only for the whole sequence. Sorry.)

/castsequence [combat] Frost Nova, Blink

"Eh, I was just kidding about that combat stuff. Ok, so what happens if I Frost Nova, and decide not to Blink away? The next time I want to Frost Nova, it'll be stuck on the 'Blink' setting?"

Not a problem. We'll use the new "reset" setting. Since Frost Nova has a cooldown of 24 seconds normally, we'll set the sequence to reset after 24 seconds of non-use.

/castsequence reset=24 Frost Nova, Blink

The first time you click your macro, it will Frost Nova. If you decide not to Blink, after 24 seconds it will reset back to Frost Nova. Since Frost Nova's cooldown also happens to be 24 seconds, it'll be ready to use again. Brilliant!

“如果我没有处于战斗中怎么办?我不想在非战斗情况下浪费一个冰霜新星。”

你可以把之前所有的宏条件选项应用于此(可惜的是,只能应用于整个序列,而不能为每个法术单独设定)。

“呃,其实刚才我只是随便说说,OK,那如果我在冰霜新星后不想闪现了怎么办?下一次我想施放冰霜新星时,它会不会还是停滞在施放闪现的设定上?”

这完全没问题,我们会用到重置这个设定。因为冰霜新星一般的冷却时间为24秒,我们可以设定序列在24秒内不被使用就重置它。

/castsequence reset=24 冰霜新星, 闪现

当你第一次点击这个宏时,它会施放冰霜新星,如果你决定不闪现了,等过了24秒后,它会重置到冰霜新星的状态,因为冰霜新星的冷却时间为24秒,那时候它就可以被重新使用了,真棒!

"Ok, that's great and all, but I'm actually a warlock, dude."

Of course you are. Well, as a warlock, I'm sure you cast the same 3 DoTs over and over again. Now you can set a sequence for those and save button space.

/castsequence Corruption, Immolate, Curse of Agony

There you go, now you can just push that button three times and cast all three DoTs.

"But what if it dies before I finish casting all three? I'm stuck at the end of the sequence again, and I don't wanna set no timer!"

That's ok, we can use the other options. If you set 'reset=target' then any time you change targets, it will reset the sequence back to the beginning. You can also set 'reset=combat', and the game will reset your sequence any time you leave combat. If you use the '/' operator (remember it, from earlier?) you can combine reset options!

/castsequence reset=combat/target Corruption, Immolate, Curse of Agony

There, now any time you change targets (like, if the old target is almost dead and you want to start on a new one), or any time you leave combat (perhaps the critter died before you finished casting all the dots), it resets your sequence for you, leaving you ready to start over.

“好吧,这真的很厉害,不过我实际上是个术士啊。”

当然,作为一个术士,我相信你会一直重复上三种DoT,现在你可以为它们设置一个序列以节省按钮空间啦。

/castsequence 腐蚀, 献祭, 痛苦诅咒

就这么简单,你可以连续点击三次这个宏来上这三种DoT。

“但如果在我施放完这些前目标就死了呢?我又卡在这个序列里了,我可不想设什么定时器!”

那也没关系,我们可以用其他的条件选项。如果你设定“reset=target”,那序列将在你改变目标时就重置到起始位置。你也可以设置“reset= combat”,每当你脱离战斗,这个序列就会被重置了。如果你使用“/”控制符(你还记得吧,之前提到过),你也可以将这些重置条件选项组合起来!

/castsequence reset=combat/target 腐蚀, 献祭, 痛苦诅咒

就这全了,这下子每当你改变目标(比如原来的目标快死了,你选中的新的目标)或脱离了战斗(可能目标在你施放完所有DoT前就死了),它将会把整个序列重置,让你可以从头开始。

"Ok, great, I think I got it now! Gimme a sec to set my new macros..... done!"

Excellent, I'm glad I could help.

"So... wanna duel?"

Um, no thanks, I don't duel warlocks.

"Bah, you wuss."

“OK,真棒,我想我现在弄明白了!给我点时间设置新的宏....搞定!”

好极了,我很高兴能帮上忙。

“那...来决斗一盘吧?”

呃,不了,我从不和术士决斗。

“切,胆小鬼。”


[ 此贴被lostcup在2006-11-16 11:25重新编辑 ]
BBS.NGACN.COM

[5 楼] lostcup         作者 PM 编辑 引用 顶端 2006-11-15 11:25
6月里再不更新Ed就要请叉饭
级别: Warden
发帖: 2064
威望: 66
财富: 66金币
       

举例说明

Some Example Macros:

General Macros:
---------------
/use [target=self] Heavy Netherweave Bandages
This macro will always use Heavy Netherweave Bandages on yourself, regardless of target.

一些宏的例子:

通用宏:
---------------
/use [target=self] 厚虚空布绷带
无论当前目标是什么,这个宏只会对自己使用厚虚空布绷带。

Warrior Macros:
---------------
Intercept/Charge: It either charges/intercepts, or puts you into the correct stance.
/cast [nocombat,stance:1] Charge; [combat,nostance:3] Berserker Stance; [nocombat,nostance:1] Battle Stance; [combat,stance:3] Intercept

Generic Stance Macro: Replace <* Stance Ability> with whatever you want.
/cast [stance:1] <Battle Stance Ability>; [stance:2] <Defense Stance Ability>; [stance:3] <Berserker Stance Ability>

Overpower: A very simple Overpower macro
/cast [stance:1] Overpower; Battle Stance

战士宏
---------------
拦截/冲锋:拦截或者冲锋,或者切换到相应的姿态。
/施放 [nocombat, stance:1] 冲锋; [combat, nostance:3] 狂暴姿态; [nocombat, nostance:1] 战斗姿态; [combat, stance:3] 拦截

一般姿态宏:把<* Stance Ability>替换为任何你想要的技能
/ 施放 [stance:1] <Battle Stance Ability>; [stance:2] <Defense Stance Ability>; [stance:3] <Berserker Stance Ability>

压制:一个很简单的压制宏
/施放 [stance:1] 压制; 战斗姿态

Mage Macros
---------------
Pyro/Fireball: Casts Pyro if you're not in combat (as an opener), Fireball otherwise.
/cast [nocombat] Pyroblast; Fireball

Polymorph Focus: Will always polymorph your focus target.
/cast [target=focus] Polymorph

法师宏
---------------
炎爆/火球:如果没有处于战斗则施放炎爆术(作为起手),否则就施放火球术
/施放 [nocombat] 炎爆术; 火球术

锁定变羊:总是将你锁定的目标变形
/施放 [target=focus] 变形术

Priest Macros
---------------
Greater Heal on current boss target, or on current target.
/cast [target=targettarget, help] Greater Heal; [help] Greater Heal

牧师宏
---------------
向当前目标的目标施放强效治疗术,否则向当前目标施放
/施放 [target=targettarget, help] 强效治疗术; [help] 强效治疗术

Hunter Macros
---------------
Feed/Mend Pet based on combat status.
/cast [combat] Mend Pet; [nocombat] Feed Pet
/use [nocombat] <food item>

猎人宏
---------------
根据是否在战斗中喂养或治疗宠物
/施放 [combat] 治疗宠物; [nocombat] 喂养宠物
/使用 [nocombat] <食物>

Acknowledgements
--------------------------
I'd like to take this time to give thanks to the following people:

Cogwheel, for helping collect and promote the suggestions of the UI community.

Iriel, for always helping clarify and collate information posted on the forum.

Cairenn for pushing so hard to get Mod writers into the BC Beta, and supporting them 100% with feedback and webspace.

To all the Mod Authors and Mod Websites for their wonderful and thankless work to improve the life of the other 99% of the playerbase.

And most importantly, SLOUKEN, the best dev a modding community could ever ask for. Without you, we'd be reduced to the standard interface for all eternity.

感谢
--------------------------
我要感谢下面这些人:

Cogwheel,帮我从UI论坛收集和提出建议。

Iriel,总是帮着在论坛里理清和比对信息。

Cairenn,努力帮助插件作者进入资料片的测试,为他们提供网站空间和百分之百的支持。

感谢所有插件作者和网站,是他们无私和努力的工作使得其他99%的玩家能够有更好的游戏体验。

最后也是最要感谢的是Slouken,一个插件社区所能够要求的最好的开发者,没有你,我们可就只能一直使用默认界面了。


[ 此贴被lostcup在2006-11-16 11:46重新编辑 ]




欢迎光临 人在德国 社区 (http://rs238848.rs.hosteurope.de/bbs/) Powered by Discuz! 7.2