魔兽世界宏命令完全教程

认证主体:宁夏凯米世纪网络科技有限公司

IP属地:宁夏

统一社会信用代码/组织机构代码

91640100MA774ECW4K

2、控制79.其他的命令8i.装备物品8ii.队列施法或使用物品8iii.随机施法或使用物品9iv.攻击9v.技能栏控制9vi.移除增益效果9vii.退出形态9viii.中止施法10ix.终止一个宏:/stopmacro10x.解散坐骑10xi.保存一个目标用于后续动作10xii.模拟点击1010.进阶:脚本11i.脚本有哪些限制?11ii.什么是脚本?11二、命令条件语121.什么是命令条件语?122.可以使用条件语的命令123.target=条件语134.语法13i.条件语语法简介14ii.条件语法14iii.完整的ebnf语法15iv.参数为空15v.条

3、件为空15vi.target=条件语与命令参数155.命令条件语16i.总表16ii.敌/友(help/harm)16iii.存在(exists)17iv.死亡(dead)17v.姿态(stance:0/1/2/n)17vi.潜行(stealth)17vii.功能键状态(modifier:shift/ctrl/alt)17viii.功能键变量18ix.点击状态(button:1/2/5/)18x.装备(equipped:)18xi.引导中(channeling:)18xii.技能条(actionbar:1/6)19xiii.宠物(pet:)19xiv.战斗(c

4、ombat)19xv.行动方式、室内外状态(mounted,swimming,flying,indoors&outdoors)19xvi.允许飞行(flyable)19xvii.小队/团队队友(party/raid)19xviii.在小队/团队中(group:party/raid)196.命令条件语的应用19i.设置焦点(focus)19ii.用/click进行分支判定20三、附录221.自定义图标222.宏的移植223.更多信息224.鸣谢225.译者注22一、基本宏命令1.什么是宏?宏是由一组宏命令组成的。以下是一些普通宏命令:l/say(/s)l/whi

5、sper(/w,/talk,/t)l/emote(/e,/em,/me)l/dancel喜爱pvp的人,应该不会忘了这个:/spit利用宏,我们可以把这些宏命令放到技能栏上点击使用,而且可以同时做多个动作。写宏的时候,每条动作写在一行上,就像在聊天界面中输入的一样。比如,让你的角色喊一声“everybody,dancenow!”然后开始跳舞的宏:/yeverybody,dancenow!/dance一个基本完整的宏命令列表可以参考这里:宏命令全表,不过个别新添加的宏命令还没有被收录。wowwiki有很多关于宏的资料,尤其是脚本和/run命令(后面将会提到)。注:我先在此

7、按钮,或者在聊天界面中输入/macro(/m)回车。在宏窗口的顶端,可以看见两个标签:“通用宏”和“的专用宏”。通用宏被存储在账号专有的文件夹中,被所有角色共享。而角色专用宏则存储在角色自己的文件夹下,是角色专用的(废话囧)。在标签下面是18个存放宏的栏位。再往下是一个栏位,用于显示当前选中的宏;还有一个“修改名称/图标”的按钮,用于修改选中的宏。然后是一个用于显示、编辑当前宏的文本框。最下面是三个按钮,傻子也能看出它们是干什么的。如果要创建一个宏,首先单击窗口下方的“新建”按钮,这时窗口旁边会显示一个对话框,用于选择图标和输入宏的名称。如果选择了第一个图标(就是那个很红很暴力的问号),wow

8、会自动根据你宏命令中涉及的技能或物品选择图标。选好图标,输入完名称,就可以单击“确定”按钮了。顺便提几点:1.使用问号图标的宏,可以通过使用#show指定显示的图标。2.虽然可以给不同的宏起相同的名字,但是最好不要这样做。因为有些插件和宏命令是通过宏名称来调用宏的。3.在图标列表中可以添加自定义的图标。现在,你选择的宏图标被显示在栏位中了(还会显示部分宏名称)。同时,新建的宏被选中,图标显示在当前选中宏的栏位中:现在你可以写你的宏了。单击编辑文本框,然后输入吧。注:宏限定为255个字符,传闻这样做是为了以后可以把用户的宏上传到服务器中。不过现在能做的就是遵循这个限定,至于想要把宏移植到其他机器

9、上使用,请参见第三部分的宏的移植。写完宏以后,只要把它的图标拖放到技能栏中就可以了。当你执行一个宏,或者是关闭宏窗口的时候,宏都会自动保存的。现在点击宏的图标,看看效果吧!3.施放法术在正常游戏过程中,很多宏命令通过聊天窗口输入使用似乎并不好用,但是在宏中就不一样了。在特定场合下,简简单单的表情宏也可以产生有趣的角色扮演效果哦,那么,继续看这个:/cast,它是最常见的宏命令了。作用嘛,就是施放一个技能书中的技能(包括宠物的)。最简单的用法就是这样:/cast暗言术:痛把这个宏放到技能栏上点击,将会对目标施放你最高级的痛。这和把技能书中的痛拖到技能栏上,然后点击的效果是一样的。我们制作的宏

10、同样会在技能栏显示你的技能冷却状态和射程状态,点击后同样能正确的施放痛。如果宏使用了问号图标,那么还同样会显示痛原有的图标。那直接用技能不就行了么,何必用宏呢?继续看,在宏中通过集成多条命令可以产生什么效果吧,这才是宏的价值所在。比如说你是个法师,想让队友知道你要羊掉谁,你该怎么办?用宏吧,一个简单的/p命令加上一个/cast就可以了(使用这个无耻的插件可以达到更好的效果:ccwarn,不过我们现在需要的只是这个简单易懂的教学例子):/cast变形术/p我羊了%t!谁打谁扛着哈!注:由于宏的执行是立即进行的,所以不管目标是否有效技能是否冷却,宏被点击时/p命令就执行了,也就是说这两行命令的

11、顺序颠倒后效果是相同的。如果你想在确定成功施放一个技能后才执行某条命令,你可以试试这个插件:aftercast。aftercast可以设定在施放某个技能后执行一条宏命令,当然,是在第1节末尾所提到的限制之下的。如:/aftercast/p请队友点门,把懒猪%t揪过来!/cast召唤仪式i.关于技能名称和等级的说明/cast命令对技能名称是十分严格的,文字、标点、空格,一个都不能错。为了防止出错,编辑宏时,你可以打开你的技能书,按下shift然后单击你的技能图标,技能名称和等级就会被正确地输入到你的宏编辑文本框中,如:/cast暗言术:痛(等级5)如果把“(等级5)”删掉,宏在执行时

13、用物品的命令是/use,后面只需要加上物品的名字就可以了。例如:/use绿色机械陆行鸟另外,还有以下其它的使用格式:i./use这种格式可以使用指定装备栏中的物品。具体使用请参见装备栏编号方式。例如:/use13使用第一个饰品。ii./use这种形式是在指定背包中确定物品栏的,比如你总是把猫食狗粮放在行囊的第一个栏位中,那么你就可以用这样的宏来喂养宠物:/cast喂养宠物/use01背包的编号为0-4,顺序是从右到左,即0是行囊。物品栏则是从上到下从左到右,从1开始依次编号的(与书写顺序相同):12345678或者是:12345678910如果怕把/cast和/use的用法混

14、淆了,那就彻底搞混吧,因为它们其实本来就是完全一样。/cast可以使用物品,而/use也可以施放技能。这一点在目前看来似乎没有什么,但是到后面,介绍命令条件语和施法队列时,你会发现能把物品和技能混合在同一条命令中是多么爽的一件事。5.集成多个动作首先,在一个宏中想一键释放多个法术是不行的。大多数技能和很多物品会触发公共冷却(gcd),防止你同时做太多的动作。即使一个技能释放失败,如果它可以触发gcd,那么它也会阻止后续/cast命令的执行。这是2.0版本之后的设定,之前可能看到这样的宏:/cast压制/cast斩杀/cast致死打击/cast破甲但是现在,记住,这种宏已经不能正常执行

15、了。如果压制施放失败,虽然没有触发gcd,客户端也不会继续执行后续的技能施放。不过令人欣慰的是部分技能还是可以集成到一个宏中。任何不触发gcd的瞬发技能后面可以接上另一个技能(“下次近战攻击”型的技能,如英勇打击也归于此类)。一个技能可以通过看说明知道它是否瞬发,至于是它是否触发gcd通过实验就可以知道。2.3版本之前,在这个瞬发无gcd技能之后需要加上一个/stopcasting才可以施放其后的技能。施放第一个技能后,游戏客户端会认为当前在施法状态,而/stopcasting就可以解除这个状态,就可以解决后续技能不能释放的问题。但是由于技能是瞬发,/stopcasting实际上并不能取消技能

16、的施放。而现在这里可以不用/stopcasting了,例如:/use短暂能量护符/cast奥术强化/stopcasting/cast气定神闲/stopcasting/cast炎爆术6.选择目标选择目标是宏的另一个主要作用。此类功能可以用专门的目标选择命令实现,改变当前的目标;也可以在一些命令中用target=命令条件语实现,临时指定施法或使用物品的目标,而不改变当前目标。命令条件语在第二部分将会讲到到。现在我先介绍目标选择命令。最基本的命令是/target,用法如下:/targetcogwheel/target的选择是经过最佳相近匹配的,也就是说,如果我正站在你附近(并且附近没有谁

17、叫cog的),你执行/targetcog,我就会变成你的当前目标。至于这种机制是利是弊那就取决于实际情况了,因为这个东东貌似不稳定,有时会得到莫名其妙的结果。比如下面这个宏就可能不是很好用:/target黑翼法师/cast痛苦诅咒如果附近没有黑翼法师呢?或许结果就是:选中了团里的某个人,因为他的名字在某种意义上比较相近。虽然你的诅咒不会真对他们放出来,但还是够囧的。另外一个问题是,它可能会选择你身后一个离你100码的单位根本不是你想选中的那一个不过在2.3版之后,增加了一个/targetexact命令,第一个问题得到解决了。除了用人名进行选择之外,还可以通过单位标识符进行选择。单位标识符

18、(unitid)是用于标识特定单位的字符串。比如你的当前的目标就可以用“target”来表示,而你自己对应的标识符是“player”,如果你有宠物,那么它的标识符是“pet”。另外,通过在一个正确的标识符后加上target,就可以获取他的目标。如此变态也可以:/targettargettargettargettargettargettarget这里是一个可用id的全表:单位标识符。i.其他选择命令以下是其他的目标选择命令:l/assist不加任何其他参数时效果是选择你目标的目标,如果在其后加上人物名称,那么就会选择对应人物的当前目标。例如:/assistcogwheel另外,在客户端

19、的界面选项中有一个选项,可以设置用/assist选中一个敌对目标时是否自动进行攻击。l/cleartarget清除当前目标。l/targetexact准确选择,如果附近没有单位的名字和给出的参数完全匹配,就不会切换目标。l/targetlasttarget,/targetlastfriend和/targetlastenemy顾名思义,分别用来选择上一个目标、上一个友方目标和上一个敌对目标。如果你之前没有过任何目标,那么这些命令不会产生任何影响。l/targetenemy和/targetfriend选择敌方目标和选择友方目标。这两条命令是按一定顺序循环选择指定类型的目标的,和使

20、用tab键的效果类似。如果在命令后加上一个1作为参数,那么就会按循环的反方向进行选择。例如:/targetenemy1效果就和按下shift+tab键一样。注:这两个宏命令每个宏中只能用一次。l/targetparty和/targetraid按距离循环选择你附近的小队或团队队友,与/targetenemy类似,也可以用1作为参数改变选择的循环方向。7.控制宠物之前在讲施放技能的时候提到过,使用/cast命令可以施放宠物的技能。玻璃渣把法师的水宝宝的霜星起名叫“冰冻术”就是为了避免和法师自身的“冰霜新星”技能冲突,从而导致不能在宏内使用。但是有宠物的职业会发现,如果宏只能施放技能的话,

21、甚至还不如宠物技能栏的功能。别急,燃烧的远征中,新增了以下这些宏指令:i./petattack让你的宠物去攻击你的当前目标。当然,在命令后加参数可以指定攻击的对象。ii./petfollow宠物切换到跟随状态,同时取消攻击。iii./petpassive,/petdefensive和/petaggressive宠物切换被动、防御和主动攻击状态。同宠物技能栏上的最后3个按钮。iv./petautocaston和/petautocastoff打开/关闭宠物技能的自动施放。例如:/petautocaston折磨/petautocastoff受难不过美中不足,没有直接切换自动施放

22、状态的宏命令,我将在后面“模拟点击”部分提到一个解决方法。8.宏在动作栏的显示控制如果一个宏使用问号图标,魔兽世界客户端会默认把宏内容中的第一个技能或物品的图标、冷却状态等信息显示在技能栏上。比如前面所讲的这个例子:/use短暂能量护符/cast奥术强化/cast气定神闲/cast炎爆术客户端会把奥术强化的状态信息作为宏的状态显示。但是这恐怕不是我们所希望的,因为这个宏的目的是炎爆,前几行的奥强气定都只是为了最后把一个大大的脸盆给丢出来。如果在宏的前面加上这样一行,炎爆术就会被当作宏的默认技能:#show炎爆术如果使用了问号图标的话,宏还会直接显示炎爆的图标。#show的参数机制和

23、/cast类似,可以使用技能名、物品名、物品编号(如item:12345)、装备栏或者背包+物品栏编号。和#item类似的还有#showtooltip。正常情况下,鼠标指向宏的时候,提示信息显示的是宏的名字。而这在绝大多数情况下是很不好用的(除非你用了theorycraft之类的插件可以显示详细的技能信息)。而用#showtooltip就可以指定宏在鼠标指向时显示的信息,用法同#show。另外,如果使用了#showtooltip的话,就没必要再用#show了。如果客户端自动选择的技能符合你的要求,那么可以只用#showtooltip而不加参数来显示该技能的说明,这样可以节约空间。请注意:#sh

24、ow和#showtooltip与/开头的宏命令不同,是大小写敏感的,也就是说只能用小写字母。9.其他的命令现在有了足够的基础,以下这些命令我就只简要地讲解一下了。有些命令看似没啥用,但如果配合将在第二部分介绍的命令条件语,它将会产生惊人的效果。i.装备物品用于装备物品的命令有两个:/equip和/equipslot。/equip的参数为物品名称,效果是把对应物品装备到默认的装备栏中,类似在背包中右键单击物品(如:一件单手武器就会被装备到主手上)。而/equipslot的参数为装备栏编号和物品名称,效果是把物品装备到指定栏位中去。例:装备武器:/equip虚空角斧把饰品装备在第二个饰品栏中

25、:/equip14棍子上的胡萝卜注意:即使是在战斗中,插件页是可以直接使用装备命令的。因此在aftercast和chronos中可以使用装备命令。如果插件内部会检查命令是否经过安全化可能就不那么好用了,因为它属于“安全化”指令但是事实上它并没有受到安全限制。ii.队列施法或使用物品很多时候我们需要经常按一定顺序使用固定的一些技能或物品。这样的操作是可用/castsequence宏命令进行傻瓜化的。/castsequence命令用法是在后面写上一些技能或物品的名称,之间用英文的半角逗号分隔,和/use、/cast类似。技能名、物品名、物品代号、装备栏代号和背包位代号都可以混合使用。每次执行

26、宏,就使用当前的技能或物品(从第一个开始),如果成功,队列的当前位置就被移至下一个技能或物品。也就是说需要反复执行宏来按顺序使用这些技能或物品。当最后一个技能/物品成功使用后,这个队列就被重置到开头。比如:/castesquence献祭,腐蚀术,痛苦诅咒,生命通道这是痛苦术士起手的招牌动作。注意,如果献祭没有施放成功(比如魔法不足,超出范围,被沉默了等等),这个队列不会继续执行,直到献祭放出去。所以下面这个宏是屁用没有的:/castesquence压制,斩杀,致死打击在技能列表之前,可以插入一个条件语,用于另外指定一些队列的重置条件。语法是:reset=n/target/comb

27、at/shift/alt/ctrl以上的这些条件都可以任意共存。其中,n是数字,表示从某次执行宏开始,经过n秒后没有再次执行这个宏,那么队列就被重置到开头。这一点很重要,因为这意味着无法利用reset条件语来精确计时(比如让某技能一冷却就用)。target条件表示当目标切换时,宏队列重置;combat条件表示脱离战斗后重置;shift,alt和ctrl表示当执行宏时指定的键为按下状态时重置。例如:/castsequencereset=10/shift第一个技能,其他技能,一些物品如果这个宏图标使用的是问号,就会自动显示下一个要施放技能的图标。但如果/castsequence前面还有其他

28、/cast和/uses命令,这个功能就没有了,而且玻璃渣也没有提供什么命令来解决这个问题。iii.随机施法或使用物品最常见的例子就是希望随机召唤一个坐骑来装b,使用/castrandom或者/userandom宏命令很容易实现这个功能。用法和/castsequence类似,如:/castrandom迅捷绿色机械路行鸟,军用黑色机械路行鸟,召唤恐惧战马iv.攻击以前的宏是/attack,后面可以写上单位名作为攻击对象,无参数则以当前目标为对象。效果是切换当前的攻击状态(攻击/停止攻击)。但是这个宏从2.2.3开始就被废除了,只能使用/startattack和/stopattack了。分

29、别用来攻击和停止攻击。如:/startattackcogwheelv.技能栏控制有两个控制技能栏翻页的宏:/changeactionbar和/swapactionbar。前者接受一个数字作为参数,表示要切换到的技能栏页码。常见的是猎人用来转换近战远程攻击状态:/cast雄鹰守护/changeactionbar1和/cast灵猴守护/changeactionbar2/swapactionbar命令后面要写两个页码,表示来回切换指定的两个技能页。如果当前技能页不是两个页码中的一个,当前页就会被设置为第一个页码指定的技能栏页。/swapactionbar12vi.移除增益效果/ca

30、ncelaura命令可以移除自己不想要的增益效果(buff),比如主坦需要移除身上的拯救祝福:/cancelaura拯救祝福vii.退出形态除了战士,任何有“形态”概念的职业(德鲁伊、暗牧)都可以用/cancelform来退出当前形态:/cancelform/use超强治疗药水2.3版本之前,上面这个宏由于形态取消有一个延迟,为了达到效果需要执行两次。不过2.3版本后,小德可以只点一次就产生效果了。viii.中止施法前面简单提到了/stopcasting命令,不过它存在的目的顾名思义,是用来打断当前施法的。这对处理紧急情况很有用,比如我的术士:/stopcasting/cast暗影灼

31、烧ix.终止一个宏:/stopmacro/stopmacro如果不配合条件语来使用是没有什么意义的。它一般用来实现条件执行的功能:如果满足了某些条件,则中止宏继续运行。具体用例请参见设置焦点(focus)。x.解散坐骑/dismount不用再说什么了吧?xi.保存一个目标用于后续动作/focus宏可以把一个目标设为焦点(focus),然后可以在其他指令中使用这个focus。比如你的老大指定了一个目标让你羊着。你要做的就是选择它,然后输入/focus。然后你就可以用这个宏羊着它了,而不用管你当前目标变成了谁:/casttarget=focus变形术注意,focus的作用可不仅仅如此,具

32、体还是请参见设置焦点(focus)一节的内容,那里有更深入的剖析。xii.模拟点击/click命令的参数为一个按钮(本质上来说是一个窗口)的名称,执行的效果就相当于用鼠标点击了这个按钮。默认情况下,它的效果相当于左键单击,也可以根据设置成其他按键点击的效果。至于按钮名称可以通过一下方式获知:l使用插件。某些插件,比如moveanything,提供了查看窗口名称的功能。l查看界面的源代码。这一般是非常娴熟非常牛b的插件制作者才能做到的。l用这样一个宏获取当前鼠标所指的窗口名称:/runlocalf=getmousefocus();iffthendefault_chat_fra

33、me:addmessage(f:getname()end/click可以用于很多用途。比如利用它可以一次执行很多宏。还有,假设你有一个宏太长了,远远超过255字符限制。你就可以把后面写不下的代码写到另一个宏中,而前面那个宏的末尾写上:/clickmultibarrightbutton1再把第二个宏拖到那个叫multibarrightbutton1的栏位中。这样执行第一个宏就相当于执行了所有的宏命令。另外,这个宏还可以用来做一些其他命令没法办到的事。比如前面提到的切换宠物技能自动施放状态的功能,就可以这样解决:/clickpetattackbutton5rightbutton这个命令的涵

34、义就是右键单击一下宠物栏上第五个按钮。用于指定按键的参数还可以是leftbutton(左键,默认),middlebutton(中键),button4(4号键)和button5(5号键,职业玩家的鼠标)。在掌握这些之后,第二部分结尾处还会介绍更复杂的,利用/click产生分支判定效果的例子。10.进阶:脚本i.脚本有哪些限制?脚本是一个强大的工具,它按照lua语言的语法执行,利用客户端提供的接口可以产生强大的智能。所以玻璃渣就给它加了限制,防止它被滥用而影响游戏平衡性。我之所以要先讲脚本的限制,为的是让大家对它别抱太大希望。虽然脚本还是很有用,但是不能用来施法、使用物品、改换技能栏或改变当前

35、目标。这些功能只能依靠那些“安全化”的命令来实现。ii.什么是脚本?魔兽世界客户端的用户界面是可以通过lua脚本控制的。通过/run和/script命令就可以执行脚本(我个人推荐使用/run,节省字符数)。在命令后面书写脚本内容,中间不能换行。不过一个宏中可以包含多个/run命令。过多关于lua语言和编程的内容本文就不再赘述。如果你有一定的编程经验,那么就可以访问学习lua语言。如果没有什么基础,那么请先看编程入门了解一些基本概念。玻璃渣提供了很多api函数(applicationprogramminginterface),可以在lua脚本中调用来实现对界面的控制。关于ap

37、rgetifunitisunit(u.t,t)thensendchatmessage(changetargets!tryingtosheep.,whisper,nil,unitname(u)endend呃貌似看起来有些乱不过没办法首先,宏是有255字符数限制的,所以常常要用一些不美观的方式去写代码。其次,脚本要写在一行中。这两个条件导致代码的可读性很低。如果把代码单独拿出来美化一下的话,应该是这个样子:fori=1,getnumraidmembers()-1dolocalunit=raid.iifunitisunit(unit.target,targe

38、t)thensendchatmessage(changetargets!tryingtosheep.,whisper,nil,unitname(unit)endend二、命令条件语1.什么是命令条件语?命令条件语是插入在宏命令中,使宏根据条件执行不同功能的语句。举个例子,下面这个宏的作用是,如果是友方目标就施放恢复,如果是敌方目标就上痛:/casthelp恢复;harm暗言术:痛当这个宏执行时,首先检查help条件,判断当前目标是否是一个可以接受治疗/增益法术的目标。如果help条件成立,那么就施放恢复并执行下一条命令,否则(即没有目标,或目标不接受有益技能)继续

39、执行下一个子句,也就是分号后harm那里,再判断harm条件。harm条件和help条件相反,判断目标是否接受敌对法术。同上,如果条件成立就释放“暗言术:痛”并执行下一条命令。如果条件不成立,由于后面没有其他子句,这条宏命令就算执行完了,但是什么动作都没有做。注:如果没有写harm条件,实际运行效果是差不多的。不过,如果你没有目标或者当前目标不接受任何法术,那么屏幕上将会出现错误信息,或者对于某些技能,鼠标将会变成选择施放目标的状态。2.可以使用条件语的命令只有那些“安全化”命令可以接受命令条件语。其实正是经过安全化的命令才需要条件语。常规命令,比如说聊天、表情之类的,可以通过脚本来实现命令

40、条件语的功能。而且暴雪不想限制大家在聊天时使用分号(;)。如果/s命令可以使用命令条件语的话,那么下面这个命令就会只说hello:/sayhello;iman00b以下是当前客户端中安全化命令的列表:#show1#showtooltip1/assist/cancelaura/cancelform/cast/castrandom/castswquence/changeactionbar/clearfocus/cleartarget/click/dismount/equip2/equipslot2/focus/petagressive/petattack/petautoca

41、stoff/petautocaston/petdefensive/petfollow/petpassive/petstay/startattack/stopattack/stopcasting/stopmacro/swapactionbar/target/targetenemy/targetfriend/targetlasttarget/targetparty/targetraid/use/userandom注1:#show和#showtooltip不是真正意义上的安全化命令,但是它和/use以及/cast的内部机制相仿。注2:/equip和/equipsl

42、ot逻辑上也不算是安全化命令,因为它们的功能是可以通过插件和脚本实现的。当然,如果你希望在常规命令中使用命令条件语,就需要安装专门的插件。macrotalk,这是我的一个作品,通过在非安全化命令前添加/opt,然后在/opt中处理各类条件来实现对不同命令的调用(当然只能是非安全化命令)。最新版的supermacro中应该也有类似的功能。3.target=条件语该条件语使得宏命令除了可以对条件进行判断外,还可以设置动作的目标。例如,下面这个宏运行时,无论当前目标是谁,玩家只会给自己绑绷带:/usetarget=player厚灵纹绷带target条件语在指定动作目标的同时,也指定了进行条件判

43、断的目标。下面这个垃圾宏是一个纯教学例子,看我的说明:/casthelptarget=targettarget,helptarget=player快速治疗这个宏运行的时候,首先会检查help条件。如果条件为真,那么就开始吟唱快速治疗。否则就跳至第二个条件,target=targettarget,help。此时,判断目标和技能目标都被设定为你当前目标的目标,然后进行help条件判断。如果条件成立就对你当前目标的目标施放快速治疗,否则再跳至第三个条件。而第三个条件总是成立的,所做的只是把你自己当作施法目标。4.语法命令条件语是按什么规则生效的?恐怕要回答这个问题很容易引起混乱。所以,

44、趁还没有正式开始讲,我先用一些现实生活的例子做类比。看不懂不要紧,这只是些概念,技术性的内容后面都还会再提到的。i.条件语语法简介所有的宏命令的基本工作方式是相同的:一个命令,后面带上一个或多个参数(取决于命令的要求,有些甚至不需要任何参数)。看下面这些例子:/cast猛击_/_/|||参数|命令/petattack_//|||参数(为空)|命令/castsequencereset=target献祭,腐蚀术,痛苦诅咒,生命虹吸_/_/||命令参数而命令条件语可以通过对一组条件进行的判断来选择命令的实际参数。首先,可以用分号分隔出若干个“若干组条

45、件+参数”这样的子句,逻辑上,分号就相当于高级语言中的else或是elseif。条件的组数不定,也可以没有,同一组条件用一个方括号括在一起。而每组条件中有可以包含多个条件。就像这样:/命令一组条件另一组条件参数1;又一组条件参数2;前面的例子已经说明了,宏命令的解释过程是从左至右的。当一组条件被判定成立时,命令就会采用其对应的条件。如果某一个子句中不包含条件,那么就被无条件判定为成立。像/castxxx这种简单的宏命令就可以理解为一个只有一个子句的宏,而这个子句又不包含条件。而如果一个宏的任何一组条件都不为真,那么它就完全不会执行。ii.条件语法每组条件都是由逗号分隔的一些条件

46、语组成的,各条件不分前后次序。逻辑上,target=总是先发生作用,然后其他的条件才进行判定。逗号在这里可以理解为“并且”,也就是说各条件简是逻辑“与”的关系。比如help,nodead,target=focus的含义就是:我的焦点是友善的,并且是只活的。注意:条件是对大小写敏感的,如果你把help写成了help,宏运行时会报错。条件中有组合式的使用方式,比如nodead,同样对于help,你可以用nohelp表示相反的条件。但是nohelp不等于harm:首先,help和harm都要求目标存在才有可能成立;其次,有些目标,比如中立阵营npc、非战斗宠物或者护送任务npc等,既不算help

47、,也不算harm。还有些条件可以指定一些特定的参数。比如stance,姿态,单独使用时表示“在任一姿态中”(显然这对战士来说是废话一句)。如果给它加上参数,就可以指定在某个姿态下,格式是在条件语后写上冒号(:),然后后面写上参数,每个参数间用斜线(/)分隔。综上所述,一个条件语的完整格式如下(表示其中的部分是可选的):condition:parameter/parameter/parameter下面举个例子,如果在战斗或防御姿态施放盾击,否则转入防御姿态:/caststance:1/2盾击;防御姿态这个宏用伪代码写的话就是:if当前在姿态1或姿态2then用盾击else切换防御

49、ommandwordcondition=condition-phrase,condition-phrasecondition-phrase=no,option-word,:option-argument/option-argumentoption-argument=anyone-wordoption,suchasshift,ctrl,target,1,2iv.参数为空有些命令是可以没有参数的,这里就存在着一个陷阱。比如:/petattacktarget=focus,harm;很多初学者一看,认为这个宏的含义应该就是判断焦点是

50、否为敌对,如果是,就把宠物送上去咬。而实际上呢?让我们分析一下:/petattacktarget=focus,harm;_/_/vvv|||||命令条件语1||参数2(为空)|||条件语2(为空)|参数1(为空)现在看出来了吧?由于那个分号的存在,这个语句实际上包含两个子句,而一个条件语为空的子句是被当作条件成立处理的,因此即使前面的条件语1不成立,也会执行一个/petattack。v.条件为空有时我们需要在特定条件下对特定目标施放技能,并在条件不成立的情况下按常规施放。这中效果可以通过使用一组空条件来获得。下面例子中的宏在执行时会对你鼠标指

51、向的友方单位施放圣光闪现。如果鼠标没有指向任何单位或者指向的目标不是友善的,那么就会按常规对当前目标施放,或者根据设置(如自动自我施法、自我施法功能键)对自己施放。/casttarget=mouseover,help圣光闪现vi.target=条件语与命令参数很多命令的参数是可以直接指定目标的。比如/targetparty1就可以把小队中第一个队友作为你的目标。而用/targettarget=party1的话,虽然看起来别扭,但是效果也是一样的。但是宏的设计者不希望我们根据一个单位的状态而对另一个单位执行动作,因此大多数情况下target=条件和命令参数只能有一个发生作用。例如:/

52、targettarget=focus,deadparty1客户端会把party1直接忽略掉因为你已经指定了target=focus。不过这种情况也有例外,就是个别命令拥有一个“特殊单位”(其实也就是该命令会影响的单位标志符)。见下表:命令特殊单位/targettarget/focusfocus/startattacktarget/petattackpettarget当在target=中使用的是该命令的“特殊单位”时,命令执行目标不会被设置为该单位,而命令参数中指定的目标也不会被忽略。例如/focustarget=focus,deadtarget=focus,noharmtarg

53、et由于focus是/focus命令的特殊单位,所以/focus的目标就不会被target=focus设置成焦点,而是target,即当前目标。如果没有指定target,/focus就相当于没有参数,同样是把当前目标设为焦点。5.命令条件语下面给出一张条件总表,每一个条件在后面我都会再给出更详细的介绍。i.总表wow2.0在对宏命令系统的更新中,宗旨就是把玩家从按“一键万能宏”按到手抽筋的状态中“解脱”出来。不过有一些宏的用法是被官方认可了的,它们获得了“玻璃渣祝福”的效果可以通过使用条件语来重现。下面列出宏命令系统中支持的所有条件语。如果你需要的判断条件没有在此列出,那么就不可能通过该条

54、件来执行安全化命令的动作。这是中央的死龟腚,谁都没办法,不过以后也有可能会再增加一些。lhelp目标可以接受增益法术lharm目标可以受到攻击lexists目标存在ldead目标已经挂了lstance:0/1/2./n玩家在某姿态下lstealth玩家在潜行状态下lmodifier:shift/ctrl/alt某功能键被按下lbutton:1/5/宏通过某键点击执行lequipped:玩家装备了某类型物品,参见装备类型lchanneling:玩家正在引导某法术lactionbar:1/./6当前技能栏为某动作栏lpet:玩家当前宠物为某宠物lcombat玩家正在战斗状态lmounted玩家在骑乘状态lswimming玩家在游泳lf

THE END
1.网友担心狗狗无聊,动手做了个“喂食器”,感觉可以玩一天盘点那些讽刺性极强的瞬间,就这奇葩的操作,真是让人难以理解 欢乐搞笑配音 2726跟贴 宋楚瑜否定马英九,王金平力阻柯文哲 肖庭庭爱音乐 587跟贴 身怀绝技的猫咪,猫:老虎只学到了一些皮毛而已#猫咪 老金聊情感 2485跟贴 中国耗20年建一座城市,距印度仅70公里,印媒威胁:敢住人就开战 AI大时代 36跟贴 不丹归...https://m.163.com/v/video/VFHB90MBH.html
2.Bandizip如何设置不通知更新?Bandizip设置不通知更新的操作步骤Bandizip如何设置不通知更新?Bandizip设置不通知更新的操作步骤 Bandizip如何设置不通知更新?Bandizip设置不通知更新的操作步骤如下: 1、首先双击软件图标,打开Bandizip, 2、然后打开后,点击选项下面的设置按钮,如图: 3、接着在设置页面,点击左侧的常规,如图: 4、最后在右侧更新设置位置,选择不通知更新,如图:...http://m.chynews.cn/tech/tech/2022/1129/50390.html
3.魔兽世界宏命令完全教程20231102065310.doc但是……现在能做的就是遵照这个限定,至于想要把宏移植到其它机器上使用,请参见第三部分的宏的移植。写完宏后来,只要把它的图标拖放到技能栏中就能够了。当你执行一种宏,或者是关闭宏窗口的时候,宏都会自动保存的。现在点击宏的图标,看看效果吧!施放法术在正常游戏过程中,诸多宏命令通过聊天窗口输入使用似乎并不...https://m.book118.com/html/2023/1102/7044156116006002.shtm
4.新手教程IDOLiSH7游戏操作说明&注意事项&相关问题ver1.0本教程很长,请善用网页关键词搜索!(Ctrl+F) 提供部分关键词:【下载】【live】【剧情】【卡】【日替】【引继】【事前】 转载请注明出处!如有错漏,欢迎指正! 主页君的语文是体育老师教的,如有不懂的地方可提问补充。本教程会随时更新。 【必看】重要事项写在前面: ...https://www.weibo.com/p/1001603880564095602808/home?from=page_100505&mod=TAB
5.微信状态怎么养猪微信状态养宠物怎么设置微信农场怎么养宠物?在微信状态中可以设置各种宠物哦,包括很多人喜欢的养猪也可以,微信状态现在有农场了,因此大家可在农场中去设置自己想要养的宠物,具体的设置方法小编也会在下面给大家进行具体介绍。 微信状态养宠物怎么设置 首先第一步:点击微信状态 + https://m.liqucn.com/article/229122.wml
1.TowardsDataScience博客中文翻译2016~2018(二十七)AlphaZero 实现和教程 原文:https://towardsdatascience.com/alphazero-implementation-and-tutorial-f4324d65fdfc?source=collection_archive---6--- 使用自定义 TensorFlow 操作和自定义 Python C 模块实现 AlphaZero 的演练 **注意(2020 年 1 月 27 日)*我...https://blog.csdn.net/wizardforcel/article/details/142448100
2.自己在家如何做金毛狗粮?都要哪些食材呀宠物店自制狗粮的详细教程 自制狗粮原料 鸡胸肉 瘦牛肉 白菜 西芹 菜花 紫甘兰 胡萝卜 鸡蛋 南瓜 土豆 玉米面 羊奶粉 海藻粉 燕麦片 二.操作步骤 准备所有食材全手工自制狗粮的做法 步骤1 胡萝卜、土豆、南瓜去皮、切块 步骤2 蒸10-15分钟 步骤3 紫甘兰切碎,越碎越好,如果用机器打碎更方便了。 https://www.jydogs.com/post/314179.html
3.翼龙面板保姆级教程汇总(Pterodactyl)腾讯云开发者社区视频教程 简幻欢的数据可以在简幻云中进行迁移。 注: 简幻欢可能无法使用此功能! 可能你要换节点了,那么你一定要仔细看完这个,机器有价数据无价你首先要有一个Chrome内核的浏览器,Edge或者Chrome都可以,电脑的浏览器大多数都是Chrome内核,例如Edge,Google Chrome,QQ浏览器,等等 [通用]整个服务器 然后你需要 备份...https://cloud.tencent.com.cn/developer/article/2184415
4.SEO关键词优化基础9篇(全文)那我们就可以判断出,在这个标题中,核心的`权重主词就是狗粮。 有这样一个主词,一般情况下,你都会发现,能带来流量的词都是围绕这个主词的。 所以,从这一点来看,在写标题的时候,你就应该认为的去确定你标题中的主词到底是什么,然后围绕这个主词去选择长尾关键词。 https://www.99xueshu.com/w/fileh904nvdo.html
5.幼犬怎么泡狗粮视频教程如何泡狗粮视频教程第四个话,为了方便狗狗大小便,我建议大家给狗狗吃乐施昆虫蛋白狗粮,这个狗粮的好处就是调理肠胃,促进吸收,吃得多拉得更少,更成型。 像它这种在笼子里拉,在室外死都不拉该怎么处理?我们可以用棉签法引导它在室外去拉,我们在室外操作,给大家去看。 我们现在让它吃饱喝足出来,等了半天没拉,我们带它到室外用棉签法...http://www.cai58t.com/chongwu/chongwuxunyang/272428.html
6.FGO辅助安装教程第四章:具体启动方式 0.启动触动精灵然后点击我的账号点击登陆注册账号,这样就绑定账号不限制机器了,方便大家在其他设备登录 1.安装好app后 启动触动精灵,点击底部找脚本 然后顶部输入关键字言成吉 点击下载 2.下载启动后,设置悬浮窗权限 3.想要刷的狗粮 qp free本放置于右上角第一个 如下图所示 ...https://www.jianshu.com/p/f36a670cbffb
7.相对湿度HZ下小神J笔趣阁教程小说最新章节在线阅读(1v2高肉h小说...《相对湿度HZ下小神J笔趣阁教程》情节跌宕起伏、扣人心弦,是一本情节与文笔俱佳的都市小说,如云阁转载收集相对湿度HZ下小神J笔趣阁教程最新章节。 本站所有小说为转载作品,所有章节均由网友上传,转载至本站只是为了宣传本书让更多读者欣赏。 Copyright ? 2022 经典笔趣阁 All Rights Reserved. 如有侵权,请联系...https://www.rzjczs.com/30_30944.html
8....全网最详细中英文实用指南和教程,助你零基挫速轻松掌握全新...使用ChatGPT 嵌入可以极大地改善用户体验。它能够帮助聊天机器人更准确地处理文本信息,并实现更有效的文本搜索与推荐、体验更为流畅的交互式会话,从而更好地满足用户需求。 Overview 概述 What are embeddings? 什么是嵌入? OpenAI’s text embeddings measure the relatedness of text strings. Embeddings are commonly ...https://blog.51cto.com/u_14943402/10340699
9.IT技术资源操作系统教程大本营达可超文库IT资源,操作系统,系统教程,达可超文库http://www.dakachao.com/