中安论坛's Archiver

Runaway 发表于 2007-12-29 11:06

【WOW】《新版宏命令发布》衷心希望这篇帖子可以帮助大家!

<P>在WoW 2.0中,宏和插件将会有翻天覆地的改变。最近,Slouken(Blizzard UI开发者)宣布了一个令人激动的宏的新特性,一系列条件选项将可以被应用于以下斜杠命令:/cast,/use,/target,/focus,/assist,/stopmacro,/cancelaura,/userandom,/castrandom,以及/castsequence。这个帖子的目的就在于讲解如何应用它们。</P>)L;_ t}B-g;`sY
<P>BASIC PET COMMANDS: (基本宠物指令)<BR>Pet Orders: Attack, Follow, Stay (宠物指令:攻击,跟随,停留)<BR>/petattack<BR>/petfollow<BR>/petstay<BR><BR>Pet Stances: Passive, Defensive, Aggressive (宠物状态:被动,防御,主动)<BR>/petpassive<BR>/petdefensive<BR>/petaggressive<BR><BR>Auto-Cast Pet Abilities (宠物自动施法开/关)<BR>/petautocaston <BR>/petautocastoff</P>i0~2iAj
<P>在2.0中,目前所用的大多数宏都将被废弃,因为在战斗中,任何用到CastSpellByName()或者TargetUnit()的宏都将不再有作用。更进一步的,多数“傻瓜逻辑”的宏也不会再有效。但是,你现在可以通过新的宏条件选项来实现许多流行宏的功能。<BR><BR>现在,使用“/cast”(“/施放”)非常简明,命令格式就是“/cast &lt;法术名称&gt;”(施放最高等级的法术)或者“/cast &lt;法术名陈&gt;(Rank &lt;#&gt;)”。比如说:<BR><BR>/施放 强效治疗术<BR>/施放 奥术智慧(等级 3)</P> SC!]1V^#iLu3t
<P>在新的系统中,你依然可以使用原来的这些格式,不过你现在可以加入条件选项来使得“/cast”更加灵活。“/cast”的新格式是:“/cast [&lt;第一组条件选项&gt;] &lt;第一个法术名称&gt;; [&lt;第二组条件选项&gt;] &lt;第二个法术名称&gt;; [&lt;第三组条件选项&gt;] &lt;第三个法术名称&gt;;...”。<BR><BR>现在让宏运作起来的方式就像这样:第一组条件选项被检测,如果它们成立,则第一个法术被施放,如果它们不成立,则第二组条件选项被检测,如果这个成立了,下一个法术被施放,如此下去。但是,你必须牢记,只有一个法术会被施放。当一组条件选项被检测到成立时,相应的法术就会被施放,宏也就此结束。</P>
a$W `d5PQ$O <P>当前可用的条件选项有:<BR><BR>help - 检测目标是否为友善<BR>harm - 检测目标是否为敌对<BR>combat - 检测你是否在战斗中<BR>stance或stance:# - 检测你是否在姿态中,或是否在某个特定的姿态中(详见下)<BR>stealth - 检测你是否潜行<BR>modifier或modifier:shift|ctrl|alt - 检测命令被执行时是否某个特定的键被按下<BR>equipped:&lt;item&gt; - 检测某个物品是否被装备。&lt;item&gt;可以是任何有效的装备槽,物品分类,或者物品子类<BR>target = &lt;unit&gt; - 特殊条件选项,它把当前目标改变为任何有效的单位(详见下)<BR>actionbar:&lt;number&gt; - 检测当前动作条是否为列出的那个</P>c^"R`k;Dx.nM
<P>新的条件选项:<BR><BR>pet:&lt;pet type 或 pet name&gt; - 检测宠物是否存在。可以接受宠物类型(枭,熊,小鬼)或者名字(Fluffy,我家坏坏)作为条件。不带条件则检测是否有任何宠物存在。<BR>mounted,swimming,flying - 检测是否在坐骑上,游泳,或者飞行中<BR>indoors,outdoors - 检测是在室内还是室外<BR>button:&lt;#&gt; - 检测某个特定的按钮被用来触发法术,默认为1(详见下)<BR>exists 和 dead - 检测是否目标已经死亡,或是否真的存在</P>
$W pIg{,efA <P>新的宏命令<BR>---------------------------<BR>/castsequence - 按顺序施放一组事先设定好的法术(详见下)<BR># show &lt;法术&gt; - 显示所列出法术的宏返回值<BR><BR>对于条件选项的一些额外技巧:<BR>你可以在任何条件选项前加上“no”来得到反效果,比如,“nocombat”则在脱离战斗的情况下成立。<BR>用逗号“,”来分隔条件选项作用和“and”一样,当条件选项同时成立时执行。<BR>用斜杠“/”来分隔条件选项作用和“or”一样,当其中一个条件选项成立时执行。<BR>在宏编辑器里按“?”图标将强制宏以当前法术的图标显示。</P>
halT6^`o!n <P>这里有一些举例说明:<BR><BR>/施放 强效治疗术<BR>非常简单,向你的目标施放强效治疗术。<BR><BR>/施放 [help] 强效治疗术<BR>加入一个条件选项,当目标为友善时施放强效治疗术。<BR><BR>/施放 [help] 强效治疗术; 惩击<BR>加入第二个法术,由于它没有任何条件选项,所以在第一组条件选项不成立时,则施放。<BR><BR>/施放 [help, combat] 快速治疗; [help, nocombat] 强效治疗术; 惩击<BR>这个宏将在你(不是目标)处于战斗中时为友方目标施放快速治疗,如果你不在战斗中且目标为友方目标,则施放强效治疗术,如果这些条件都不成立(比如目标为敌对),则施放惩击。<BR><BR>/施放 [help] 强效治疗术; [harm, combat] 惩击; [harm, nocombat] 精神鞭笞<BR>这个宏将对友方目标施放强效治疗术,或在战斗中对敌对目标施放惩击,或当你不处于战斗中时,对敌对目标施放精神鞭笞。</P>
7Sfba,mw <P>/施放 [stealth] 伏击; 背刺<BR>这个宏在玩家处于潜行时施放伏击,否则的话就背刺。<BR><BR>/施放 [nostealth] 背刺; 伏击<BR>这个宏和上面那个作用完全相同,只不过用了相反的条件选项。<BR><BR>/施放 [actionbar:1] 强效治疗术; [actionbar:2] 惩击<BR>如果当前动作条为1号时施放强效治疗术,如果是2号则施放惩击,如果为其他动作条则不做任何事情。<BR><BR>/施放 [harm] 变形术<BR>/stopmacro [noharm]<BR>/p 正在把%t变羊!别去碰它!<BR>这个宏将在目标为敌对目标时施放变形术,若目标不是敌对,则停止这个宏(例如变形术没有施放出来),当目标被变羊后则通知队友。注意,因为“/stopmacro”命令的存在,如果目标没有被变羊,队友将不会看到喊话(从而减少了不必要的垃圾信息)。<BR><BR>/施放 [pet] 召唤宠物; 复活宠物<BR>这个宏将在你没有带着宠物时召唤一个出来,否则的话将尝试复活你的宠物。<BR><BR>/施放 [pet:owl] 俯冲; [pet:cat] 冲锋; [pet] 低吼<BR>这个宏将在你带着枭类宠物的时候施放俯冲,带着猫类宠物时施放冲锋,如果是其他宠物则施放低吼。<BR><BR>/施放 [pet:虚空行者] 牺牲; [pet:媚魔] 魅惑<BR>如果你带着虚空行者则施放牺牲,带着媚魔则施放魅惑。<BR><BR>/使用 [nomounted, outdoors] 黑色战驹缰绳<BR>如果你在室外且没有骑着坐骑时召唤坐骑。<BR><BR>/施放 [targepet, dead] 复活宠物; [nopet] 召唤宠物; 治疗宠物<BR>若你的宠物死亡了则复活它,如果没有召唤出来则召唤宠物,或者治疗你的宠物。</P>
#M+r3IW$LH <P>---------------- <BR>姿态<BR>---------------- <BR><BR>姿态以同样的原理工作,当姿态编号没有给出时,则在玩家处于任一姿态都成立(注意,战士永远都处于某个姿态中)。如果给了编号,则检测该姿态是否被激活。<BR><BR>每个职业的特定姿态都有不同的编号,这是一个列表:<BR><BR>战士:1. 战斗 2. 防御 3. 狂暴<BR>牧师:1. 暗影形态<BR>德鲁伊:1. 熊 2. 水栖 3. 猫 4. 旅行 5. 枭兽/树<BR>盗贼:1. 潜行<BR><BR>圣骑士的光环在宏条件选项系统中将不再被作为姿态处理。<BR><BR>请记住,如果你跳过了某个姿态(例如作为战士却没有做防御姿态的任务),你的姿态编号将会递减,比如狂暴姿态的编号会变成2号。<BR><BR>一些姿态宏的例子:<BR><BR>/施放 [nostance] 熊形态<BR>如果没有在一个形态下,则变形到熊形态。<BR><BR>/施放 [stance:1] 压制; [stance:2] 破甲; [stance:3] 旋风斩<BR>在战斗姿态下施放压制,防御姿态下施放破甲,狂暴姿态下施放旋风斩。<BR><BR>/施放 [stance:1] 低吼; [stance:3] 爪击<BR>在熊形态施放低吼,在猫形态施放爪击。<BR><BR>/施放 [nostance:3] 猎豹形态<BR>如果不在猎豹形态,则变形猎豹,但如果已经处于猎豹形态,也不会把你变回来。</P>
!no d*y9_G%J5K9Fz <P>物品槽列表:<BR><BR>Two-Hand 双手<BR>Bag 包<BR>Shirt 衬衫<BR>Chest 胸部<BR>Back 背部<BR>Feet 脚<BR>Finger 手指<BR>Hands 手<BR>Head 头部<BR>Held In Off-hand 副手物品<BR>Legs 腿部<BR>Neck 颈部<BR>Ranged 远程<BR>Off Hand 副手<BR>Shoulder 肩部<BR>Tabard 徽章<BR>Thrown (ranged slot items like thrown daggers) 投掷(远程槽物品例如投掷匕首)<BR>Trinket 饰品<BR>Waist 腰部<BR>One-Hand 单手<BR>Main Hand 主手<BR>Wrist 手腕</P>
D-G.j7F!X1}1EUy9a <P>一些equipped例子:<BR><BR>/施放 [equipped:双手剑] 致死打击; 英勇打击<BR>当你装备着双手剑时施放致死打击。<BR><BR>/施放 [equipped:双手剑/双手锤/双手斧/长柄武器] 致死打击<BR>这里使用了分隔符“/”来设置一个“或”条件,这个宏将在你装备以上类型武器时施放致死打击。<BR><BR>/施放 [equipped:盾牌] 盾牌猛击<BR>在你装备了盾牌的时候施放盾牌猛击。<BR><BR>/施放 [equipped:盾牌, equipped:匕首] 盾牌猛击<BR>仅在你同时装备了盾牌和匕首时才施放盾牌猛击<BR><BR>/施放 [noequipped:盾牌, equipped:副手] 暴怒<BR>在你没有装备盾牌且副手装备了武器的情况下施放暴怒,也就是说,在你双持的时候才被激活。</P>
"}-]0j#CQ0h5l*ZD <P>条件选项[button:&lt;x&gt;]运作起来类似于修改按键。一般来说,当你左键点击一个按钮,它就执行(宏)里面所有的动作,然而,如果你设置了button条件选项,你可以改变宏在特定按键上的表现。<BR><BR>默认按键是1,鼠标左键。注意,如果你通过按键绑定来触发一个宏,它会认为是通过鼠标左键点击触发。被编号的按键有:<BR><BR>1 或 左键<BR>2 或 右键<BR>3 或 中键<BR>4 或 按键4<BR>5 或 按键5<BR>...以及其他一切在“安全声明头文件”中定义的按键。我不太确定这是什么意思,仅仅只是引用Slouken的表述。<BR><BR>lostcup: 官网UI论坛中有一篇Iriel(论坛MVP)写的SecureStateHeader Example Code,类似于一个模版,插件作者可以生成一个实例去修改默认设定。</P>/qM{]~
<P>/施放 [button:2, targeplayer] 快速治疗; [help] 快速治疗<BR>这个宏将向友方目标施放快速治疗,或者如果你右键点击它,则向自己施放快速治疗<BR><BR>这里[targeunit]是一个特殊的条件选项,它并不检测条件是否成立,而是改变施法的目标以其他条件选项的目标。“unit”可以是任何有效的unit类型,例如“player”,“target”,“targettarget”,“party1”,“party1target”,等等。</P>(E K:v`N:N
<P>请注意,任何一个施法都有默认的target,那就是“target”,例如:<BR><BR>/施放 [help] 强效治疗术<BR><BR>就和下面的宏等同:<BR><BR>/施放 [targetarget, help] 强效治疗术<BR><BR>除非你加入一个[targeunit]条件选项,默认则就是你的当前目标。<BR><BR>一些[targeunit]的例子:<BR><BR>/施放 [targeplayer] 快速治疗<BR>总是向自己施放快速治疗,并且不会改变你的实际目标<BR><BR>/施放 [help] 快速治疗; [targetargettarget] 快速治疗<BR>如果目标是友善的,则向他施放快速治疗,否则向目标的目标施放快速治疗。<BR><BR>/施放 [help, combat] 快速治疗; [help, nocombat] 强效治疗术; [targetargettarget, help, combat] 快速治疗; [targeplayer] 强效治疗术<BR>这个宏可以 1) 如果你处于战斗中且目标友善时施放快速治疗,2) 如果你目标友善且没有在战斗中则施放强效治疗术,3) 如果你处于战斗中且你目标的目标为友善,则向他施放快速治疗,4) 如果前面的条件都不成立,则向自己施放强效治疗术。<BR><BR>如果你使用none作为unit,则它会像你没有选中目标一样工作,例如:<BR><BR>/施放 [targenone] 驱散魔法<BR><BR>这将施放驱散魔法且等待你点中一个目标,无论你当前是否选中了一个目标。</P>
t9{!J(] @,S? <P>新的宏命令:/castsequence<BR>---------------------- <BR><BR>在WoW 2.0中出现了一个新的命令,/castsequence。它允许你在一次次点击某个宏时,将其中定义的一系列法术逐个施放,格式如下:<BR><BR>/castsequence [&lt;条件选项&gt;] rese&lt;#&gt;/target/combat &lt;法术1&gt;, &lt;法术2&gt;, &lt;法术3&gt; <BR><BR>“啥?你在说啥?”<BR><BR>它设定了一个法术列表,当你第一次点击这个宏时,它施放列表中的第一个法术,第二次点击的时候,施放第二个法术,以此类推。 当它施放完最后一个时,又回到起始点开始循环。<BR><BR>“我还是不太明白耶。”</P>
2\ _y(Fy4R*@ <P>OK,假设你是一个法师,有时候你需要冰霜新星后立刻闪现开,你没法同时做到这些事情,现在你可以设定一个序列去做!<BR><BR>/castsequence 冰霜新星, 闪现<BR><BR>就这么简单,第一次你按这个宏,你施放冰霜新星,再按一次,闪现。<BR><BR>“那如果冰霜新星在冷却中怎么办?它会直接施放闪现么?还是不施放冰霜新星,等第二次按这个宏的时候,再施放闪现?”<BR><BR>都不是。如果法术无法施放(冷却,超出距离,法力不足等等情况下),序列就不会走到下一个法术,下一次你再点这个宏的时候,它会再度尝试施放冰霜新星。(抵抗,躲闪,招架等并不会算作无法施放,这些情况下法术/技能确实施放了,只不过没有命中。)</P>
lY-V4c3_L <P>“如果我没有处于战斗中怎么办?我不想在非战斗情况下浪费一个冰霜新星。”<BR><BR>你可以把之前所有的宏条件选项应用于此(可惜的是,只能应用于整个序列,而不能为每个法术单独设定)。<BR><BR>“呃,其实刚才我只是随便说说,OK,那如果我在冰霜新星后不想闪现了怎么办?下一次我想施放冰霜新星时,它会不会还是停滞在施放闪现的设定上?”<BR><BR>这完全没问题,我们会用到重置这个设定。因为冰霜新星一般的冷却时间为24秒,我们可以设定序列在24秒内不被使用就重置它。<BR><BR>/castsequence rese24 冰霜新星, 闪现<BR><BR>当你第一次点击这个宏时,它会施放冰霜新星,如果你决定不闪现了,等过了24秒后,它会重置到冰霜新星的状态,因为冰霜新星的冷却时间为24秒,那时候它就可以被重新使用了,真棒!</P>@:v/_ g K
<P>“好吧,这真的很厉害,不过我实际上是个术士啊。”<BR><BR>当然,作为一个术士,我相信你会一直重复上三种DoT,现在你可以为它们设置一个序列以节省按钮空间啦。<BR><BR>/castsequence 腐蚀, 献祭, 痛苦诅咒<BR><BR>就这么简单,你可以连续点击三次这个宏来上这三种DoT。<BR><BR>“但如果在我施放完这些前目标就死了呢?我又卡在这个序列里了,我可不想设什么定时器!”<BR><BR>那也没关系,我们可以用其他的条件选项。如果你设定“resetarget”,那序列将在你改变目标时就重置到起始位置。你也可以设置“resecombat”,每当你脱离战斗,这个序列就会被重置了。如果你使用“/”控制符(你还记得吧,之前提到过),你也可以将这些重置条件选项组合起来!<BR><BR>/castsequence resecombat/target 腐蚀, 献祭, 痛苦诅咒<BR><BR>就这全了,这下子每当你改变目标(比如原来的目标快死了,你选中的新的目标)或脱离了战斗(可能目标在你施放完所有DoT前就死了),它将会把整个序列重置,让你可以从头开始。</P>T#og6W-j8?kr
<P>“OK,真棒,我想我现在弄明白了!给我点时间设置新的宏....搞定!”<BR><BR>好极了,我很高兴能帮上忙。<BR><BR>“那...来决斗一盘吧?”<BR><BR>呃,不了,我从不和术士决斗。<BR><BR>“切,胆小鬼。”</P>
{l8gz&{u.~m!b <P>—————————————————————————————————————————————————————————————</P>J'jLj h UcZ$n9j:N
<P><SPAN id=postcontent5>举例说明:</SPAN></P>
-Is4Es7^ <P>一些宏的例子:<BR><BR>通用宏:<BR>---------------<BR>/use [targeself] 厚虚空布绷带<BR>无论当前目标是什么,这个宏只会对自己使用厚虚空布绷带。</P>
.mp|C!wr6v d <P>战士宏<BR>--------------- <BR>拦截/冲锋:拦截或者冲锋,或者切换到相应的姿态。<BR>/施放 [nocombat, stance:1] 冲锋; [combat, nostance:3] 狂暴姿态; [nocombat, nostance:1] 战斗姿态; [combat, stance:3] 拦截<BR><BR>一般姿态宏:把&lt;* Stance Ability&gt;替换为任何你想要的技能<BR>/施放 [stance:1] &lt;Battle Stance Ability&gt;; [stance:2] &lt;Defense Stance Ability&gt;; [stance:3] &lt;Berserker Stance Ability&gt; <BR><BR>压制:一个很简单的压制宏<BR>/施放 [stance:1] 压制; 战斗姿态</P>:{:_V#U n4]
<P>法师宏<BR>--------------- <BR>炎爆/火球:如果没有处于战斗则施放炎爆术(作为起手),否则就施放火球术<BR>/施放 [nocombat] 炎爆术; 火球术<BR><BR>锁定变羊:总是将你锁定的目标变形<BR>/施放 [targefocus] 变形术</P>d2YP5CZ
<P>牧师宏<BR>--------------- <BR>向当前目标的目标施放强效治疗术,否则向当前目标施放<BR>/施放 [targetargettarget, help] 强效治疗术; [help] 强效治疗术</P>
"P'r Ox._#O@ <P>猎人宏<BR>--------------- <BR>根据是否在战斗中喂养或治疗宠物<BR>/施放 [combat] 治疗宠物; [nocombat] 喂养宠物<BR>/使用 [nocombat] &lt;食物&gt;</P>

贝加娜海 发表于 2008-6-29 11:37

[em06] [em06] 这么好的贴子怎么能沉呢,顶起来

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.