前言

本文主要参考的《Cogwheel's Complete Macro Guide》,由于找不到原文,所以实际参考链接是《考格威尔(Cogwheel's)宏命令完全指南》。后来又发现了可能的真正原文来自wowwiki的这篇《Making a macro》。。。

基于参考的文章,笔者一边学习一边操作,对部分内容作了修改和补充。

目录

一、基本宏命令

1.什么是宏?

2.怎样写宏?

3.施放法术

关于技能名称和等级的说明

4.使用物品或者饰品

5.集成多个动作

6.选择目标

7.控制宠物

8.宏在动作栏的显示控制 “#show”

9.其他的命令

i.装备物品

ii.队列施法或使用物品

iii.随机施法或使用物品

iv.攻击

v.技能栏控制

vi.移除增益效果

vii.退出形态

viii.中止施法

ix.终止一个宏

x.解散坐骑

xi.保存一个目标用于后续动作

xii.模拟点击

xiii.动作栏按扭名

10.进阶:脚本

i.脚本有哪些限制?

ii.什么是脚本?

二、命令条件语

1.什么是命令条件语?

2.可以使用条件语的命令

3.[target=]条件语

4.语法

i.条件语语法简介

ii.条件语法

iii.完整的EBNF语法

iv.参数为空

v.条件为空

vi.[target=]条件语与命令参数

5.命令条件语

i.总表

ii.敌/友(help / harm)

iii.存在(exists)

iv.死亡(dead)

v.姿态(stance:0/1/2/…/n)

vi.潜行(stealth)

vii.功能键状态(modifier:shift/ctrl/alt)

viii.功能键变量

ix.点击状态(button:1/2/…/5/<虚拟按键号>)

x.装备(equipped:<物品类型>)

xi.引导中(channeling:<技能名称>)

xii.技能条(actionbar:1/…/6)

xiii.宠物(pet:<宠物名称或类型>)

xiv.战斗(combat)

xv.行动方式、室内外状态(mounted, swimming, flying, indoors & outdoors)

xvi.允许飞行 (flyable)

xvii.小队/团队队友(party/raid)

xviii.在小队/团队中(group:party/raid)

6.命令条件语的应用

i.设置焦点(focus)

ii.用/click进行分支判定

三、附录

1.自定义图标

2.宏的移植

3.更多信息

4.鸣谢

5.译者注



一、基本宏命令

1.什么是宏?

宏是由一组宏命令组成的。以下是一些普通宏命令:

/say (/s)
/whisper(/w, /talk, /t)
/emote(/e, /em, /me)
/dance

喜爱PVP的人,应该不会忘了这个:

/spit

利用宏,我们可以把这些宏命令放到技能栏上点击使用,而且可以同时做多个动作。写宏的时候,每条动作写在一行上,就像在聊天界面中输入的一样。比如,让你的角色喊一声“Everybody, dance now!”然后开始跳舞的宏:

/y Everybody, dance now!
/dance

一个基本完整的宏命令列表可以参考这里:《宏命令全表》,还有一些旧表《slash commands (old) 》和《list of slash commands (old)》。

注:我先在此说一下,宏的执行是立即进行的。这意味着当你点击技能栏上的一个宏时,宏命令会一条接一条地执行,执行完后才会返回游戏控制。这将会产生两个重要问题:第一,如果写了一个会执行很长时间的宏(如:/run for i=1, 1000000000 do end),游戏会被卡死,直到它执行结束;第二,也是更重要的一点,那就是宏命令不可能具有延时功能。这一现象在我们熟悉/cast之类的命令后就可以很清楚地感觉到。而一些提供了延时执行命令功能的插件,只能是能执行一些所谓的“良性命令”,如交谈、表情和对于其他插件命令的调用(不过战斗中更换武器是可以进行的)。

2.怎样写宏?

首先,打开你的宏窗口:单击主菜单上的“宏”按钮,或者在聊天界面中输入/macro(/m)回车。在宏窗口的顶端,可以看见两个标签:“通用宏”和“<你的角色名>的专用宏”。通用宏被存储在账号专有的文件夹中,路径\World of Warcraft\_retail_\WTF\Account\xxx#x\macros-cache.txt,被所有角色共享。而角色专用宏则存储在角色自己的文件夹下,也是一个macros-cache.txt的文件,是角色专用的。 在标签下面是18个存放宏的栏位。再往下是一个栏位,用于显示当前选中的宏;还有一个“修改名称/图标”的按钮,用于修改选中的宏。然后是一个用于显示、编辑当前宏的文本框。最下面是三个按钮,傻子也能看出它们是干什么的。

如果要创建一个宏,首先单击窗口下方的“新建”按钮,这时窗口旁边会显示一个对话框,用于选择图标和输入宏的名称。如果选择了第一个图标(就是那个很红很暴力的问号),WoW会自动根据你宏命令中涉及的技能或物品选择图标。选好图标,输入完名称,就可以单击“确定”按钮了。

顺便提几点:1.使用问号图标的宏,可以通过使用#show指定显示的图标。2.虽然可以给不同的宏起相同的名字,但是最好不要这样做。因为有些插件和宏命令是通过宏名称来调用宏的。3.在图标列表中可以[添加自定义的图标]  

现在,你选择的宏图标被显示在栏位中了(还会显示部分宏名称)。同时,新建的宏被选中,图标显示在当前选中宏的栏位中:现在你可以写你的宏了。单击编辑文本框,然后输入吧。

注:宏限定为255个字符,传闻这样做是为了以后可以把用户的宏上传到服务器中。不过……现在能做的就是遵循这个限定,至于想要把宏移植到其他机器上使用,请参见第三部分的[宏的移植]  

写完宏以后,只要把它的图标拖放到技能栏中就可以了。当你执行一个宏,或者是关闭宏窗口的时候,宏都会自动保存的。现在点击宏的图标,看看效果吧!

 

3.施放法术

在正常游戏过程中,很多宏命令通过聊天窗口输入使用似乎并不好用,但是在宏中就不一样了。在特定场合下,简简单单的表情宏也可以产生有趣的角色扮演效果哦,那么,继续看……

这个:/cast,它是最常见的宏命令了。作用嘛,就是施放一个技能书中的技能(包括宠物的)。最简单的用法就是这样:

/cast 暗言术:痛

把这个宏放到技能栏上点击,将会对目标施放你最高级的痛。这和把技能书中的痛拖到技能栏上,然后点击的效果是一样的。我们制作的宏同样会在技能栏显示你的技能冷却状态和射程状态,点击后同样能正确的施放痛。如果宏使用了问号图标,那么还同样会显示痛原有的图标。

那直接用技能不就行了么,何必用宏呢?继续看,在宏中通过集成多条命令可以产生什么效果吧,这才是宏的价值所在。比如说你是个法师,想让队友知道你要羊掉谁,你该怎么办?用宏吧,一个简单的/p命令加上一个/cast就可以了:

/cast 变形术
/p 我羊了%t!谁打谁扛着哈!

注:由于宏的执行是立即进行的,所以不管目标是否有效技能是否冷却,宏被点击时/p命令就执行了,也就是说这两行命令的顺序颠倒后效果是相同的。如果你想在确定成功施放一个技能后才执行某条命令,你可以试试这个/aftercast。AfterCast可以设定在施放某个技能后执行一条宏命令,当然,是在第1节末尾所提到的限制之下的。如:

/aftercast /p 请队友点门,把懒猪%t揪过来!
/cast 召唤仪式

关于技能名称和等级的说明

/cast命令对技能名称是十分严格的,文字、标点、空格,一个都不能错。为了防止出错,编辑宏时,你可以打开你的技能书,按下Shift然后单击你的技能图标,技能名称和等级就会被正确地输入到你的宏编辑文本框中,如:

/cast 暗言术:痛(等级 5)

如果把“(等级5)”删掉,宏在执行时就会自动选择你最高级别的技能执行;不过在很多场合下,还是需要指定级别的技能,比如术士放逐就需要根据时间来选择技能。另外要注意,等级指示中使用的括号是英文的半角括号,等级与数字间有一个半角空格。而一些技能名称中的括号,比如“精灵之火(野性)”中的括号,是中文的全角括号。以下宏命令不能正常执行:

/cast 精灵之火(野性)
/cast 精灵之火(野性)(等级 1)

而以下的命令是正确的:

/cast 精灵之火(野性)
/cast 精灵之火(野性)()

空的括号效果和没有括号是一样的。由于255字符限制的存在,空间还是要节省的,所以空括号可以删掉了……

4.使用物品或者饰品

使用物品和饰品和施放法术是类似的。用于使用物品的命令是/use,后面只需要加上物品的名字就可以了。例如:

 

/use 绿色机械陆行鸟

另外,还有以下其它的使用格式:

/use <装备栏>

这种格式可以使用指定装备栏中的物品。具体使用请参见[《装备栏编号方式》]。例如:

/use 13

使用第一个饰品。

/use <背包> <栏>

这种形式是在指定背包中确定物品栏的,比如你总是把猫食狗粮放在行囊的第一个栏位中,那么你就可以用这样的宏来喂养宠物:

/cast 喂养宠物
/use 0 1

背包的编号为0-4,顺序是从右到左,即0是行囊。物品栏则是从上到下从左到右,从1开始依次编号的(与书写顺序相同):

1  2  3  4
5  6  7  8
……

或者是:

 

       1  2
3  4  5  6
7  8  9   10
……

如果怕把/cast和/use的用法混淆了,那就彻底搞混吧,因为它们其实本来就是完全一样。/cast可以使用物品,而/use也可以施放技能。这一点在目前看来似乎没有什么,但是到后面,介绍命令条件语和施法队列时,你会发现能把物品和技能混合在同一条命令中是多么爽的一件事。

5.集成多个动作

首先,在一个宏中想一键释放多个法术是不行的。大多数技能和很多物品会触发公共冷却(GCD),防止你同时做太多的动作。即使一个技能释放失败,如果它可以触发GCD,那么它也会阻止后续/cast命令的执行。这是2.0版本之后的设定,之前可能看到这样的宏:

/cast 压制
/cast 斩杀
/cast 致死打击
/cast 破甲

但是现在,记住,这种宏已经不能正常执行了。如果压制施放失败,虽然没有触发GCD,客户端也不会继续执行后续的技能施放。不过令人欣慰的是部分技能还是可以集成到一个宏中。任何不触发GCD的瞬发技能后面可以接上另一个技能(“下次近战攻击”型的技能,如英勇打击也归于此类)。一个技能可以通过看说明知道它是否瞬发,至于是它是否触发GCD通过实验就可以知道。

2.3版本之前,在这个瞬发无GCD技能之后需要加上一个/stopcasting才可以施放其后的技能。施放第一个技能后,游戏客户端会认为当前在施法状态,而/stopcasting就可以解除这个状态,就可以解决后续技能不能释放的问题。但是由于技能是瞬发,/stopcasting实际上并不能取消技能的施放。

而现在这里可以不用/stopcasting了,例如:(//表示注释,不起作用的文字)

/use 短暂能量护符
/cast 奥术强化
//stopcasting
/cast 气定神闲
//stopcasting
/cast 炎爆术

6.选择目标

选择目标是宏的另一个主要作用。此类功能可以用专门的目标选择命令实现,改变当前的目标;也可以在一些命令中用[target=]命令条件语实现,临时指定施法或使用物品的目标,而不改变当前目标。命令条件语在第二部分将会讲到。现在我先介绍目标选择命令。

最基本的命令是/target,用法如下:

/target Cogwheel

/target的选择是经过最佳相近匹配的,也就是说,如果我正站在你附近(并且附近没有谁叫Cog的),你执行/target Cog,我就会变成你的当前目标。至于这种机制是利是弊……那就取决于实际情况了,因为这个东东貌似不稳定,有时会得到莫名其妙的结果。比如下面这个宏就可能不是很好用:

 

/target 黑翼法师
/cast 痛苦诅咒

如果附近没有黑翼法师呢?或许结果就是:选中了团里的某个人,因为他的名字在某种意义上比较相近。虽然你的诅咒不会真对他们放出来,但还是够囧的。 另外一个问题是,它可能会选择你身后一个离你100码的单位——根本不是你想选中的那一个……

实测目前此命令根据字符参数从左往右匹配最近目标。上例中只会把名叫Cogwheel单位作为目标,若没有叫Cogwheel的,就会匹配Cogwhee、Cogwhe、Cogwh...直到C,若附近连C开头的的单位名都没有,则不会切换目标。这里指出,它不会去匹配叫ogwheel、wheel、gwh等等的单位,因为第一个匹配的字符串一定是C。

再举个例子,“/target 黑” 能够匹配到附近的黑翼法师,“/target 法师” 就不能匹配到附近的黑翼法师。后面会提到一个/targetexact命令,就可以解决这个问题。

如果附近有两个黑翼法师怎么办呢?我想答案在你心里已经有了,就是匹配最近的哪一个,而不会在几个之间切换。那么这个“附近”又是个什么概念。笔者测试是100码内的单位。

除了用人名进行选择之外,还可以通过单位标识符进行选择。单位标识符(Unit ID)是用于标识特定单位的字符串。比如你的当前的目标就可以用“target”来表示,而你自己对应的标识符是“player”,如果你有宠物,那么它的标识符是“pet”。另外,通过在一个正确的标识符后加上target,就可以获取他的目标。例如:

/target pettarget

这个指令执行后就会以你的宠物的目标作为你的当前目标。

如此变态也可以:

/target targettargettargettargettargettarget

这里是一个可用ID的全表:[《单位标识符》]。

以下是其他的目标选择命令:

/assist

不加任何其他参数时效果是选择你目标的目标,如果在其后加上人物名称,那么就会选择对应人物的当前目标。例如:

/assist 杭海

另外,在客户端的界面选项中有一个选项,可以设置用/assist选中一个敌对目标时是否自动进行攻击。

/cleartarget

清除当前目标。

/targetexact

准确选择,如果附近没有单位的名字和给出的参数完全匹配,就不会切换目标。如果有,则选中最近的匹配目标。

/targetlasttarget
/targetlastfriend
/targetlastenemy

顾名思义,分别用来选择上一个目标、上一个友方目标和上一个敌对目标。如果你之前没有过任何目标,那么这些命令不会产生任何影响。

/targetenemy
/targetfriend

选择敌方目标和选择友方目标。这两条命令是按一定顺序循环选择指定类型的目标的,和使用Tab键的效果类似。如果在命令后加上一个1作为参数,那么就会按循环的反方向进行选择。例如:

/targetenemy 1

效果就和按下Shift+Tab键一样。

注:这两个宏命令每个宏中只能用一次。匹配距离只有50码。

/targetparty
/targetraid

按距离循环选择你附近的小队或团队队友,与/targetenemy类似,也可以用1作为参数改变选择的循环方向。

7.控制宠物

之前在讲施放技能的时候提到过,使用/cast命令可以施放宠物的技能。玻璃渣把法师的水宝宝的霜星起名叫“冰冻术”就是为了避免和法师自身的“冰霜新星”技能冲突,从而导致不能在宏内使用。但是有宠物的职业会发现,如果宏只能施放技能的话,甚至还不如宠物技能栏的功能。别急,燃烧的远征中,新增了以下这些宏指令:

/petattack

让你的宠物去攻击你的当前目标。当然,在命令后加参数可以指定攻击的对象。

/petfollow

宠物切换到跟随状态,同时取消攻击。

/petpassive
/petdefensive
/petaggressive

宠物切换被动、防御和主动攻击状态。同宠物技能栏上的最后3个按钮。

/petautocaston
/petautocastoff

打开/关闭宠物技能的自动施放。例如:

/petautocaston 折磨
/petautocastoff 受难

不过美中不足,没有直接切换自动施放状态的宏命令,我将在后面[模拟点击]  部分提到一个解决方法。

8.宏在动作栏的显示控制

如果一个宏使用问号图标,魔兽世界客户端会默认把宏内容中的第一个技能或物品的图标、冷却状态等信息显示在技能栏上。比如前面所讲的这个例子:

/use 短暂能量护符
/cast 奥术强化
/cast 气定神闲
/cast 炎爆术

客户端会把奥术强化的状态信息作为宏的状态显示。但是这恐怕不是我们所希望的,因为这个宏的目的是炎爆,前几行的奥强气定都只是为了最后把一个大大的脸盆给丢出来。如果在宏的前面加上这样一行,炎爆术就会被当作宏的默认技能:

#show 炎爆术

如果使用了问号图标的话,宏还会直接显示炎爆的图标。#show的参数机制和/cast类似,可以使用技能名、物品名、物品编号(如item:12345)、装备栏或者背包+物品栏编号。

和#item类似的还有#showtooltip。正常情况下,鼠标指向宏的时候,提示信息显示的是宏的名字。而这在绝大多数情况下是很不好用的。而用#showtooltip就可以指定宏在鼠标指向时显示的信息,用法同#show。另外,如果使用了#showtooltip的话,就没必要再用#show了。如果客户端自动选择的技能符合你的要求,那么可以只用#showtooltip而不加参数来显示该技能的说明,这样可以节约空间。

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

9.其他的命令

i.装备物品

用于装备物品的命令有两个:/equip和/equipslot。/equip的参数为物品名称,效果是把对应物品装备到默认的装备栏中,类似在背包中右键单击物品(如:一件单手武器就会被装备到主手上)。而/equipslot的参数为[装备栏编号和物品名称],效果是把物品装备到指定栏位中去。例:

装备武器:

/equip 虚空角斧

把饰品装备在第二个饰品栏中:

/equipslot 14 棍子上的胡萝卜

注意:即使是在战斗中,插件页是可以直接使用装备命令的。因此在AfterCast和Chronos中可以使用装备命令。如果插件内部会检查命令是否经过安全化可能就不那么好用了,因为它属于“安全化”指令——但是事实上它并没有受到安全限制。

ii.队列施法或使用物品

很多时候我们需要经常按一定顺序使用固定的一些技能或物品。这样的操作是可用/castsequence宏命令进行傻瓜化的。/castsequence命令用法是在后面写上一些技能或物品的名称,之间用英文的半角逗号分隔,和/use、/cast类似。技能名、物品名、物品代号、装备栏代号和背包位代号都可以混合使用。每次执行宏,就使用当前的技能或物品(从第一个开始),如果成功,队列的当前位置就被移至下一个技能或物品。也就是说需要反复执行宏来按顺序使用这些技能或物品。当最后一个技能/物品成功使用后,这个队列就被重置到开头。比如:

/castsequence 腐蚀术, 痛楚, 生命虹吸,痛苦无常

这是痛苦术士起手的招牌动作。注意,如果生命虹吸没有施放成功(比如魔法不足,超出范围,被沉默了等等或者根本没有洗出这个天赋),这个队列不会继续执行,直到生命虹吸放出去。所以下面这个宏是屁用没有的:

/castsequence 压制, 斩杀, 致死打击

原因就是斩杀,不需要太多解释了吧。

在技能列表之前,可以插入一个条件语,用于另外指定一些队列的重置条件。语法是:

reset=n/target/combat/shift/alt/ctrl

以上的这些条件都可以任意共存。其中,n是数字,表示从某次最后一次执行宏开始,经过n秒后没有再次执行这个宏,那么队列就被重置到开头。这一点很重要,因为这意味着无法利用reset条件语来精确计时(比如让某技能一冷却就用,或者让你的腐蚀术DOT结束前一秒重置宏到腐蚀术这个技能)。target条件表示当目标切换时,宏队列重置;combat条件表示脱离战斗后重置;shift,alt和ctrl表示当执行宏时指定的键为按下状态时重置。例如:

/castsequence reset=10/shift 第一个技能, 其他技能, 一些物品

如果这个宏图标使用的是问号,就会自动显示下一个要施放技能的图标。如果直接使用宏队列的当前技能(或物品)而不是执行宏,队列的当前位置依然能够移至下个位置。注意,此时不会刷新reset=n的计数。

但如果/castsequence前面还有其他/cast和/uses命令,这个功能就没有了,而且玻璃渣也没有提供什么命令来解决这个问题。

iii.随机施法或使用物品

最常见的例子就是希望随机召唤一个坐骑来装B,使用/castrandom或者/userandom宏命令很容易实现这个功能。用法和/castsequence类似,如:

/castrandom 迅捷绿色机械路行鸟, 军用黑色机械路行鸟, 召唤恐惧战马

iv.攻击

以前的宏是/attack,后面可以写上单位名作为攻击对象,无参数则以当前目标为对象。效果是切换当前的攻击状态(攻击/停止攻击)。但是这个宏从2.2.3开始就被废除了,只能使用/startattack和/stopattack了。分别用来攻击和停止攻击。如:

/startattack 杭海

v.技能栏控制

有两个控制技能栏翻页的宏:/changeactionbar和/swapactionbar。前者接受一个数字作为参数,表示要切换到的技能栏页码。常见的是猎人用来转换近战远程攻击状态:(时代变了!)

/cast 雄鹰守护
/changeactionbar 1
/cast 灵猴守护
/changeactionbar 2

/swapactionbar命令后面要写两个页码,表示来回切换指定的两个技能页。如果当前技能页不是两个页码中的一个,当前页就会被设置为第一个页码指定的技能栏页。

/swapactionbar 1 2

生存猎切远近战攻击已经以BUFF的形式直接改变技能攻击距离了,而小德变身、盗贼潜行都能自动切换技能页了。所以笔者认为这个宏的作用现在变成禁用自动切换技能页,例如人形鸟德变身咕咕、盗贼离开或进入潜行状态等。

vi.移除增益效果

/cancelaura命令可以移除自己不想要的增益效果(BUFF),比如主坦需要移除身上的拯救祝福:

/cancelaura 拯救祝福

vii.退出形态

除了战士,任何有“形态”概念的职业(德鲁伊、暗牧)都可以用/cancelform来退出当前形态:

/cancelform
/use 超强治疗药水

2.3版本之前,上面这个宏由于形态取消有一个延迟,为了达到效果需要执行两次。不过2.3版本后,小德可以只点一次就产生效果了。

viii.中止施法

前面简单提到了/stopcasting命令,不过它存在的目的顾名思义,是用来打断当前施法的。这对处理紧急情况很有用,比如我的术士:

/stopcasting
/cast 暗影灼烧

ix.终止一个宏

/stopmacro

/stopmacro如果不配合条件语来使用是没有什么意义的。它一般用来实现条件执行的功能:如果满足了某些条件,则中止宏继续运行。具体用例请参见[设置焦点(focus)]  

x.解散坐骑

/dismount

不用再说什么了吧?

xi.保存一个目标用于后续动作

/focus宏可以把一个目标设为焦点(focus),然后可以在其他指令中使用这个focus。比如你的老大指定了一个目标让你羊着。你要做的就是选择它,然后输入/focus。然后你就可以用这个宏羊着它了,而不用管你当前目标变成了谁:

/cast [target=focus] 变形术

注意,focus的作用可不仅仅如此,具体还是请参见[设置焦点(focus)] 一节的内容,那里有更深入的剖析。

xii.模拟点击

/click命令的参数为一个按钮(本质上来说是一个窗口)的名称,执行的效果就相当于用鼠标点击了这个按钮。默认情况下,它的效果相当于左键单击,也可以根据设置成其他按键点击的效果。至于按钮名称可以通过一下方式获知:

  • 使用插件。某些插件,比如MoveAnything,提供了查看窗口名称的功能。
  • 查看界面的源代码。这一般是非常娴熟非常牛B的插件制作者才能做到的。

用这样一个宏获取当前鼠标所指的窗口名称:

/run local f=GetMouseFocus(); if f then DEFAULT_CHAT_FRAME:AddMessage(f:GetName()) end

/click可以用于很多用途。比如利用它可以一次执行很多宏。还有,假设你有一个宏太长了,远远超过255字符限制。你就可以把后面写不下的代码写到另一个宏中,而前面那个宏的末尾写上:

/click MultiBarRightButton1

再把第二个宏拖到那个叫MultiBarRightButton1的栏位中。这样执行第一个宏就相当于执行了所有的宏命令。

另外,这个宏还可以用来做一些其他命令没法办到的事。比如前面提到的切换宠物技能自动施放状态的功能,就可以这样解决:

/click PetActionButton5 RightButton

这个命令的涵义就是右键单击一下宠物栏上第五个按钮。

用于指定按键的参数还可以是LeftButton(左键,默认),MiddleButton(中键),Button4(4号键)和Button5(5号键,职业玩家的鼠标……)。在掌握这些之后,第二部分结尾处还会介绍更复杂的,利用/click产生分支判定效果的例子。

xiii.动作栏按扭名

As shown above, MultiBarRi6ghtButton1 refers to the first button of the right-hand vertical extra action bar. MultiBarRightButton2 refers to the second button, and so on. Names for buttons on each of the standard action bars are as follows, replacing the # with an appropriate number:

ActionButton#主动作栏
MultiBarBottomLeftButton#底部左边动作栏
MultiBarBottomRightButton#底部右边动作栏
MultiBarRightButton#右侧右边动作栏
MultiBarLeftButton#右侧左边动作栏
PetActionButton#宠物动作栏

10.进阶:脚本

i.脚本有哪些限制?

脚本是一个强大的工具,它按照LUA语言的语法执行,利用客户端提供的接口可以产生强大的智能。所以玻璃渣就给它加了限制,防止它被滥用而影响游戏平衡性。我之所以要先讲脚本的限制,为的是让大家对它别抱太大希望。虽然脚本还是很有用,但是不能用来施法、使用物品、改换技能栏或改变当前目标。这些功能只能依靠那些“安全化”的命令来实现。

ii.什么是脚本?

魔兽世界客户端的用户界面是可以通过LUA脚本控制的。通过/run和/script命令就可以执行脚本(我个人推荐使用/run,节省字符数……)。在命令后面书写脚本内容,中间不能换行。不过一个宏中可以包含多个/run命令。

过多关于LUA语言和编程的内容本文就不再赘述。如果你有一定的编程经验,那么就可以访问[lua.org]学习LUA语言。如果没有什么基础,那么请先看[《编程入门》]了解一些基本概念。

玻璃渣提供了很多API函数(Application Programming Interface),可以在LUA脚本中调用来实现对界面的控制。关于API函数和相关的内容可以看看这篇文章:[《界面DIY》](如果你打算花时间好好研究魔兽世界插件的话,WoWWiki是最优选择)。我不可能把所有关于用户界面的细节都讲到,因此我只打算用我最常用的一个宏做例子,简单地讲一下。想了解得可以看上面给出的链接,或者这里:[《Mod Author Resources sticky》]。

下面这个宏是我给出的例子,它会向所有和你目标相同的人发送悄悄话,通知他们改变目标(我的插件CCWarn也是就是基于这段代码的)。这样就可以防止已被羊的人受到攻击。

/cast 变形术
/run for i=1,GetNumRaidMembers()-1 do local u,t="raid"..i,"target"if UnitIsUnit(u..t,t)then SendChatMessage("Change targets! Trying to sheep...","WHISPER",nil,UnitName(u))end end

呃……貌似看起来有些乱……不过没办法……首先,宏是有255字符数限制的,所以常常要用一些不美观的方式去写代码。其次,脚本要写在一行中。这两个条件导致代码的可读性很低。如果把代码单独拿出来美化一下的话,应该是这个样子:

for i = 1, GetNumRaidMembers() - 1 do
local unit = "raid"..i
if UnitIsUnit(unit.."target", "target") then
SendChatMessage("Change targets! Trying to sheep...", "WHISPER", nil, UnitName(unit))
end
end

二、命令条件语

1.什么是命令条件语?

命令条件语是插入在宏命令中,使宏根据条件执行不同功能的语句。举个例子,下面这个宏的作用是,如果是友方目标就施放恢复,如果是敌方目标就上痛:

/cast [help] 恢复; [harm] 暗言术:痛

当这个宏执行时,首先检查[help]条件,判断当前目标是否是一个可以接受治疗/增益法术的目标。如果[help]条件成立,那么就施放恢复并执行下一条命令,否则(即没有目标,或目标不接受有益技能)继续执行下一个子句,也就是分号后[harm]那里,再判断[harm]条件。[harm]条件和[help]条件相反,判断目标是否接受敌对法术。同上,如果条件成立就释放“暗言术:痛”并执行下一条命令。如果条件不成立,由于后面没有其他子句,这条宏命令就算执行完了,但是什么动作都没有做。

注:如果没有写[harm]条件,实际运行效果是差不多的。不过,如果你没有目标或者当前目标不接受任何法术,那么屏幕上将会出现错误信息,或者对于某些技能,鼠标将会变成选择施放目标的状态。

2.可以使用条件语的命令

只有那些“安全化”命令可以接受命令条件语。其实正是经过安全化的命令才需要条件语。常规命令,比如说聊天、表情之类的,可以通过脚本来实现命令条件语的功能。而且暴雪不想限制大家在聊天时使用分号(;)。如果/s命令可以使用命令条件语的话,那么下面这个命令就会只说hello:

/say Hello; I’m a n00b

以下是当前客户端中安全化命令的列表:

#show (1)
#showtooltip (1)
/assist
/cancelaura
/cancelform
/cast
/castrandom
/castsequence
/changeactionbar
/clearfocus
/cleartarget
/click
/dismount
/equip (2)
/equipslot (2)
/focus
/petagressive
/petattack
/petautocastoff
/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和/equipslot逻辑上也不算是安全化命令,因为它们的功能是可以通过插件和脚本实现的。

当然,如果你希望在常规命令中使用命令条件语,就需要安装专门的插件。[MacroTalk],通过在非安全化命令前添加/opt,然后在/opt中处理各类条件来实现对不同命令的调用(当然只能是非安全化命令)。最新版的SuperMacro中应该也有类似的功能。

3.[target=]条件语

该条件语使得宏命令除了可以对条件进行判断外,还可以设置动作的目标。例如,下面这个宏运行时,无论当前目标是谁,玩家只会给自己绑绷带:(可用ID的全表:[《单位标识符》])

/use [target=player] 厚灵纹绷带

Target条件语在指定动作目标的同时,也指定了进行条件判断的目标。下面这个垃圾宏是一个纯教学例子,看我的说明:

/cast [help] [target=targettarget, help] [target=player] 快速治疗

这个宏运行的时候,首先会检查[help]条件。如果条件为真,那么就开始吟唱快速治疗。否则就跳至第二个条件,[target=targettarget, help]。此时,判断目标和技能目标都被设定为你当前目标的目标,然后进行help条件判断。如果条件成立就对你当前目标的目标施放快速治疗,否则再跳至第三个条件。而第三个条件总是成立的,所做的只是把你自己当作施法目标。

4.语法

命令条件语是按什么规则生效的?恐怕要回答这个问题很容易引起混乱。所以,趁还没有正式开始讲,我先用一些现实生活的例子做类比。看不懂不要紧,这只是些概念,技术性的内容后面都还会再提到的。

i.条件语语法简介

所有的宏命令的基本工作方式是相同的:一个命令,后面带上一个或多个参数(取决于命令的要求,有些甚至不需要任何参数)。看下面这些例子:

/cast 猛击
\___/ \___/|   ||   参数|命令
/petattack
\_______/\__/|    ||  参数(为空)|命令
/castsequence reset=target 腐蚀术,痛楚,痛苦无偿,生命虹吸
\__________/ \________________________________/|              |命令             参数

而命令条件语可以通过对一组条件进行的判断来选择命令的实际参数。首先,可以用分号分隔出若干个“若干组条件+参数”这样的子句,逻辑上,分号就相当于高级语言中的else或是elseif。条件的组数不定,也可以没有,同一组条件用一个方括号括在一起。而每组条件中有可以包含多个条件。就像这样:

/命令 [一组条件] [另一组条件] 参数1; [又一组条件] 参数2; ……

前面的例子已经说明了,宏命令的解释过程是从左至右的。当一组条件被判定成立时,命令就会采用其对应的条件。如果某一个子句中不包含条件,那么就被无条件判定为成立。像/cast XXX这种简单的宏命令就可以理解为一个只有一个子句的宏,而这个子句又不包含条件。而如果一个宏的任何一组条件都不为真,那么它就完全不会执行。

方括号内的多个条件判定是与关系,一个分句中不同方括号之间的条件判定是或关系,下面会提到。

ii.条件语法

每组条件都是由逗号分隔的一些条件语组成的,各条件不分前后次序。逻辑上,[target=]总是先发生作用,然后其他的条件才进行判定。逗号在这里可以理解为“并且”,也就是说各条件间是逻辑“与”的关系。比如[help, nodead, target=focus]的含义就是:我的焦点是友善的,并且是只活的。

注意:条件是对大小写敏感的,如果你把[help]写成了[Help],宏运行时会报错。

条件中有组合式的使用方式,比如nodead,同样对于help,你可以用nohelp表示相反的条件。但是nohelp不等于harm:首先,help和harm都要求目标存在才有可能成立;其次,有些目标,比如中立阵营NPC、非战斗宠物或者护送任务NPC等,既不算help,也不算harm。

还有些条件可以指定一些特定的参数。比如[stance],姿态,单独使用时表示“在任一姿态中”(显然这对战士来说是废话一句)。如果给它加上参数,就可以指定在某个姿态下,格式是在条件语后写上冒号(:),然后后面写上参数,每个参数间用斜线(/)分隔。综上所述,一个条件语的完整格式如下(<>表示其中的部分是可选的):

[<no>condition<:parameter</parameter</parameter<…>>>>]

下面举个例子,如果在战斗或防御姿态施放盾击,否则转入防御姿态:

/cast [stance:1/2] 盾击; 防御姿态

这个宏用伪代码写的话就是:

IF 当前在姿态1或姿态2
THEN 用盾击
ELSE 切换防御姿态

注意:“no”前缀是对整个条件和所有参数的修饰,即把原来的真变为假,假变为真。比如[nostance:1/2]表示“不在姿态1也不在姿态2中”。

iii.完整的EBNF语法

对EBNF规范很熟悉的人,以上内容可以概括为:

command = "/", command-verb, [ {command-object, ";" } command-object] ]
command-verb = ? any secure command word ?
command-object = { condition } parameters
parameters = ? anything which may be passed to the command word ?
condition = "[" condition-phrase { "," condition-phrase } "]"
condition-phrase = [ "no" ], option-word, [ ":" option-argument { "/" option-argument } ]
option-argument = ? any one-word option, such as 'shift, 'ctrl', 'target', '1', '2' ?

iv.参数为空

有些命令是可以没有参数的,这里就存在着一个陷阱。比如:

/petattack [target=focus, harm] ;

很多初学者一看,认为这个宏的含义应该就是判断焦点是否为敌对,如果是,就把宠物送上去咬。而实际上呢?让我们分析一下:

/petattack [target=focus, harm] ;
\_______/ \_______________/V VV|        |    | | |命令      条件语   | | 参数(为空)|  || 条件语(为空)|参数(为空)

现在看出来了吧?由于那个分号的存在,这个语句实际上包含两个子句,而一个条件语为空的子句是被当作条件成立处理的,因此即使前面的条件语1不成立,也会执行一个/petattack。

v.条件为空

有时我们需要在特定条件下对特定目标施放技能,并在条件不成立的情况下按常规施放。这中效果可以通过使用一组空条件来获得。下面例子中的宏在执行时会对你鼠标指向的友方单位施放圣光闪现。如果鼠标没有指向任何单位或者指向的目标不是友善的,那么就会按常规对当前目标施放,或者根据设置(如自动自我施法、自我施法功能键)对自己施放。

/cast [target=mouseover, help] [ ] 圣光闪现

vi.[target=]条件语与命令参数

很多命令的参数是可以直接指定目标的。比如/target party1就可以把小队中第一个队友作为你的目标。而用/target [target=party1]的话,虽然看起来别扭,但是效果也是一样的。但是宏的设计者不希望我们根据一个单位的状态而对另一个单位执行动作,因此大多数情况下[target=]条件和命令参数只能有一个发生作用。例如:

/target [target=focus, dead] party1

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

/focus [target=focus, dead] [target=focus, noharm] target

由于focus是/focus命令的特殊单位,所以/focus的目标就不会被[target=focus]设置成焦点,而是target,即当前目标。如果没有指定target,/focus就相当于没有参数,同样是把当前目标设为焦点。

宏命令特殊单位
/targettarget
/focusfocus
/startattacktarget
/petattackpettarget

5.命令条件语

下面给出一张条件总表,每一个条件在后面我都会再给出更详细的介绍。

i.总表

WOW2.0在对宏命令系统的更新中,宗旨就是把玩家从按“一键万能宏”按到手抽筋的状态中“解脱”出来。不过有一些宏的用法是被官方认可了的,它们获得了“玻璃渣祝福”的效果——可以通过使用条件语来重现。

下面列出宏命令系统中支持的所有条件语。如果你需要的判断条件没有在此列出,那么就不可能通过该条件来执行安全化命令的动作。这是中央的死龟腚,谁都没办法,不过以后也有可能会再增加一些。

help

目标可以接受增益法术

harm

目标可以受到攻击

exists

目标存在

dead

目标已经挂了

stance:0/1/2../n

玩家在某姿态下

stealth

玩家在潜行状态下

modifier:shift/ctrl/alt

某功能键被按下

button:1/…/5/<虚拟按键号>

宏通过某键点击执行

equipped:<装备类型>

玩家装备了某类型物品

channeling:<法术名称>

玩家正在引导某法术

actionbar:1/…./6

当前技能栏为某动作栏

pet:<宠物名称或类型>

玩家当前宠物为某宠物

combat

玩家正在战斗状态

mounted

玩家在骑乘状态

swimming

玩家在游泳

flying

玩家在飞行状态

flyable

玩家正处在一个允许飞行的地界

indoors

玩家在室内

outdoors

玩家在户外

party

目标在玩家的小队中

raid

目标在玩家的小队或团队中

group:party/raid

玩家在某集体中(小队/团队)

ii.敌/友(help / harm)

help判断当前目标是否是一个可以接受治疗或增益法术的目标,harm判断目标是否是一个可以接受敌对法术的目标。

特殊指出,在达拉然等安全区域敌对阵营不属于harm,中立的黄名野怪属于harm。

iii.存在(exists)

如果目标存在条件为真。比如[exists],如果你没有目标,该条件就不成立。而对于[target=focus, exists],如果你设置了焦点目标,条件就成立。不过很多情况下该条件用不到,因为[help],[harm],[dead],[party]和[raid]条件成立的情况下,[exists]条件是必定成立的。

iv.死亡(dead)

如果判断对象已经挂了,条件就成立。

v.姿态(stance:0/1/2/…/n)

姿态是指对技能能否施放有影响的状态,比如战士的姿态,小德、萨满、暗牧的形态,盗贼的潜行状态。而骑士的光环、猎人的守护都不算是姿态。单独用[stance]是指在任意一种姿态下,就相当于[stance:1/2/…/n]这样把所有姿态列出来,对战士来说就是永远成立的。而[stance:0]就相当于[nostance]表示不在任何形态下。而[stance:0/3]就表示在形态3下或者不在任何形态下。

姿态的编号和面板上的顺序是对应的。下面给出各职业的姿态表:

编 号小德战士暗牧盗贼萨满
1熊形态战斗姿态暗影形态潜行幽灵狼
2海豹形态防御姿态   
3豹形态    
4旅行形态    
5枭兽/树形态    
6飞行形态    

注意:上面给出的是全表。如果少了某个姿态,其下方的形态就依次上移。我承认,我这话是针对小德说的……
下面给出例子:

/cancelform [nostance:0/1/3]
/cast [stance:1/3] 精灵之火(野性);[nostance] 精灵之火

如果在熊/猫形态,施放精灵之火(野性);在人形态,施放精灵之火;在其他形态就先退出,然后施放精灵之火(WOW2.3以后可以这样,2.3之前该宏只能退出形态)。

现在需要人形施放的技能都默认直接退出其他形态了,而且切换形态自动切换动作条了,战士的姿态也被移除了,这个好像没什么鸟用了。。。

vi.潜行(stealth)

对于盗贼来说由于[stealth]的存在反而显得多余。这个是给暗夜、法师、猫德用的,我的意思是它可以用来判断影遁、隐形和猫的潜行。

vii.功能键状态(modifier:shift/ctrl/alt)

它是节省技能栏的好帮手,可以让一个宏对不同功能键做不同动作,比如:

/cast [modifier, help] [modifier, target=targettarget, help] 快速治疗; [help] [target=targettarget] 强效治疗术

该宏会依次判断你的目标和目标的目标是否友善,条件成立的话,如果按下了某功能键,施放快速治疗,否则施放强效治疗术。

当然也可以指定特定的功能键。[modifier:shift/ctrl]表示Shift或者Ctrl被按下;如果想表示两个键同时按下则可以这样实现:[modifier:shift, modifier:ctrl]。

但是要注意这样一种情况,比如你的宏是通过A键执行的,然后根据Shift来做判断。但是你的Shift+A被设置了另外一个动作,那么你按下Shift+A的时候,执行的就是其对应的动作,而不是你的宏。另外,modifier可以被简写做mod以节省空间。

viii.功能键变量

虽然说mod指定的只能是shift、ctrl或alt,但是还可以通过一些系统变量来间接指定。比如SELFCAST这个系统变量,是指“自我施法功能键”,默认值为alt,可以通过某些插件修改,表示按下该键后执行的动作都是针对玩家自身的。下面看这个例子:

/cast [modifier:SELFCAST, target=player] [target=mouseover] [ ] 强效治疗术

这样的话,不管你系统设置的自我施法键是什么,宏命令都会正常执行。下面给出其他的一些系统变量,括号内为默认值,后面为中文含义:

AUTOLOOTTOGGLE (shift)
STICKYCAMERA (ctrl)
SPLITSTACK (shift)
PICKUPACTION (shift)
COMPAREITEMS (shift)
OPENALLBAGS (shift)
QUESTWATCHTOGGLE (shift)

ix.点击状态(button:1/2/…/5/<虚拟按键号>)

与[modifier]类似,[botton]可以根据不同的鼠标点击按钮做不同动作。1为左键,2为右键,3为中键,4和5则对应五键鼠标上另外两个扩展键。如果是通过键盘触发宏,那么也相当于左键点击。比如我的坐骑宏:

#show迅捷绿色机械陆行鸟
/userandom [nobutton:2, flyable, nomounted] 黑色狮鹫; [nomounted] 黑色战豹, 迅捷绿色机械陆行鸟
/dismount [noflying] [button:2]

非右键键点击时,如果没在坐骑上就召唤坐骑;如果右键点击并且不在飞行状态则取消坐骑。而虚拟按键号一般可以忽略,有些动作条插件可以在不同条件下向宏按钮提供不同的虚拟按键号,具体情况请查看插件说明,我们在此不作讨论。

x.装备(equipped:<物品类型>)

[equipped]条件可以判断指定类型的物品是否被装备。物品类型号可以是装备栏名称,物品类别或者物品子类别。比如我根据盾牌装备状态判断该用盾击还是拳击:

#show [equipped:Shields] 盾击; 拳击
/cast [equipped:Shields,stance:1/2] 盾击; [equipped:Shields] 防御姿态; [stance:3] 拳击; 狂暴姿态

利用[equipped]这里的#show可以根据装备显示不同的图标。下面的伪代码用来解释上面/cast命令的执行过程:

if 装备了盾牌 and 在防御姿态 then
/cast 盾击
else if 装备了盾牌 then
/cast 防御姿态
else if 在狂暴姿态 then
/cast 拳击
else /cast 狂暴姿态

下面再给出一个变态的压制宏作例子:

/equip [noequipped:Two-Handed Axes] 水晶熔铸战斧
/cast [nostance:1] 战斗姿态; [equipped:Two-Handed Axes] 压制

xi.引导中(channeling:<技能名称>)

在引导法术的状态下,如果施放另外一个法术将会打断施法。这个条件语就是用来防止这一情况的。当然,它还有些其他的用途,比如只打断特定的引导技。只用[channeling]的话表示正在引导任意技能,或者后面可以指定任意个引导技能的名称表示正在引导其中一个。

注意:引导和吟唱是两码事,[channeling]条件只对引导技能,如奥书飞弹、吸取生命、精神鞭笞等有用。例如:

/cast [channeling:吸取灵魂] ; 腐蚀术

在施放吸取灵魂时,点击此宏不会施放腐蚀术;不处于吸取灵魂引导状态时,此宏等于施放腐蚀术。

xii.技能条(actionbar:1/…/6)

系统默认的界面中有一个主技能条,可以翻页。而用这个条件就可以根据当前技能页作出不同反应。比如猎人可以拿来把守护做成姿态:

/swapactionbar 1 2
/cast [actionbar:1] 雄鹰守护; 灵猴守护

这样就可以切换1号和2号两个技能页,换到1页时施放雄鹰守护,2页时则施放灵猴守护。

AUTOLOOTTOGGLE (shift)
STICKYCAMERA (ctrl)
SPLITSTACK (shift)
PICKUPACTION (shift)
COMPAREITEMS (shift)
OPENALLBAGS (shift)
QUESTWATCHTOGGLE (shift)

有姿态的职业现在切姿态默认都切换动作条了(别拿德的人形和飞行来杠我),生存猎的远近战切换,暴雪已经直接调整了技能攻击距离,就好像萨满的升腾状态一样,某些技能在不同BUFF下有不同的说明。所以除非你喜欢在开龟壳的时候把所有还能用的技能整合到第二动作条上,否则我还真想不到还有什么切动作条的需求。

xiii.宠物(pet:<宠物名称或类型>)

对任何有宠职业来说这个条件都很有用,它可以根据你宠物状态来执行动作,可以根据宠物名字,也可以是类型(比如Voidwalker,Boar,Imp,Wolf等),如果只用[pet]的话表示带着任意宠物。比如法师可以根据是否有水宝宝施放不同的霜星:

/cast [pet] 冰冻术;冰霜新星

当兽王开启小红人后发现沙雕宠物不存在或者已经死了的时候,你就知道这个判断多有用了。

xiv.战斗(combat)

如果在战斗状态则条件成立。

xv.行动方式、室内外状态(mounted, swimming, flying, indoors & outdoors)

这些都无庸赘述,要说的就是它们都是对玩家自身状态的判断,而不是目标。

xvi.允许飞行 (flyable)

用于判断是否处在可以使用飞行坐骑的地区。

xvii.小队/团队队友(party/raid)

判断目标是否是自己的小队或团队中的队友。

xviii.在小队/团队中(group:party/raid)

注意和前面的区别。这个用于判断玩家自己是否处在小队或团队中,并且团队包括小队。这对加状态很有用,比如:

/cast [group, nomodifier] 奥术光辉; [help] [target=player] 奥术智慧

如果在队伍中,施放奥数光辉;如果按下功能键或者不在队伍中则施放奥术智慧。这个栗子也过期了。下面举个新鲜栗子:

/cast [group] 制造灵魂之井;制造治疗石

一看就懂吧,如果在小队或团队中,则制造马桶让大家拿糖,如果不是就自己造个糖。

6.命令条件语的应用

在第一部分中提到的很多命令,如果不配合条件语的使用,是没有什么价值的。而上述内容也只给出了一小部分的应用示例。作为本部分的压轴内容,下面两段将会把你带入一个更高的境界。

i.设置焦点(focus)

focus是一个单位标识符(参见[《单位标识符》]),就像target、player、raidpet1target一样。你可以将它设定为某一个单位,玩家或者NPC。比较简单的设置方法是通过按键设置。在按键设置中有两个选项:“焦点目标”和“目标焦点”。我不知道这是哪个脑残翻译的,其实际含义分别是“以目标为焦点”和“以焦点为目标”。当你设置了焦点以后,就可以用focus这个标识符了,也可以通过“目标焦点”绑定的按键把你设的focus作为你的当前目标。话说按键绑定也太小儿科了,下面来看看什么是职业玩家的focus用法。

作为一个有控制技能的专业DPS,我们最常用的就是控场宏。我们可以预先把你的“被监护人”设为你的焦点,然后用这种宏来调教他——而此过程中并不用切换目标:(加粗划重点!)

/cast [target=focus] 变形术

而作为一个灰常牛逼灰常娴熟的治疗,你可以把焦点设为你的主坦。另外还可以通过一些头像增强插件,来观察你焦点的状态。

不过职业玩家一般不用按键绑定设置焦点,而是用/focus和/clearfocus宏命令来设置或清除焦点。/focus直接就可以达到按键绑定的效果了,而通过参数指定/focus的目标更是按键绑定所没有的功能:

/focus party3target

上面的只不过是教学示例,实际上职业玩家是这样用的:

/focus [target=focus, noharm] [target=focus, dead] [modifier]
/stopmacro [target=focus, noexists]
/cast [target=focus] 变形术

第一行先判断以下三个条件,如果满足任意一个,就把你的当前目标设为焦点(不要忘记,focus是/focus命令的特殊单位,参见[[target=]条件语与命令参数]):

  • 你的当前焦点不是敌对目标(如果焦点不存在该条件也成立)
  • 你的焦点已经死了
  • 某个功能键被按下了

第二行判断你的焦点是否存在,如果不存在就终止宏的运行。这样控场是不是很方便?我们注意到这里用了/stopmacro命令,而不是在/cast命令中对焦点是否存在进行判断。这样的好处是我们可以在宏的最后加上更多的内容,比如一个小队喊话。
下面这个宏也很有用,可以把你的目标和焦点互换:

/cleartarget [target=target, dead]
/clearfocus [target=focus, dead]
/target focus
/cleartarget [target=focus, noexists]
/targetlasttarget
/focus target
/targetlasttarget

前两行的作用是把死亡的目标和焦点清除掉。第四行的作用是防止你没有当前焦点,导致当前目标不变,以至于在第五行选择了你以前的一个目标。

ii.用/click进行分支判定

假如你想让一个按键根据不同的功能键施放不同的技能,并且根据左键右键选择不同的施放目标,那么我可以给你这样的一个例子:

/cast [modifier:shift, button:1, target=party1] [modifier:shift, button:2, target=player] 强效治疗术; [modifier:ctrl, button:1, target=party1] [modifier:ctrl, button:2, target=player] 快速治疗; [nomodifier, button:1, target=party1] [nomodifier, button:2, target=player] 恢复

哦……对不起,不大好看……而且貌似超过255个字符限制了。重新写一下:

/cast [modifier:shift, button:1, target=party1] [modifier:shift, target=player] 强效治疗术
/cast [modifier:ctrl, button:1, target=party1] [modifier:ctrl, target=player] 快速治疗
/cast [button:1, target=party1] [target=player] 恢复

不过如果我们写一个宏根据不同按键点击分别选择两个不同的宏,而把功能键状态的判断放到这两个宏中的话,条理就会更清晰了:

主宏:

/click [button:1] MultiBarLeftButton2; MultiBarLeftButton3

辅助宏1:

/cast [mod:shift, target=party1] 强效治疗术; [mod:ctrl, target=party1] 快速治疗; [target=party1] 恢复

辅助宏2:

/cast [mod:shift, target=player] 强效治疗术; [mod:ctrl, target=palyer] 快速治疗; [target=player] 恢复

 

三、附录

1.自定义图标

如果想自定义宏的图标,可以把做好的图标放在游戏目录的“.\Interface\Icons”文件夹中(可能需要自己新建)。文件格式应该是界面材质规定的.BLP或24位无压缩的TGA文件。图片的长宽必须是2的自然数次幂,但不得超过512,比如可以是32×32、512×128等。注意:图片如果不是正方形,在界面显示中是会走形的……

2.宏的移植

玻璃渣目前还没有提供上传宏的服务,所以大家想把宏转移到另外一台机器上的话还是要手动拷贝。个人账户的角色通用设置都保存在游戏目录的“.\WTF\Account\账户名称”文件夹下,每个角色分别的数据则保存在“.\WTF\Account\账户名称\服务器名\角色名称”文件夹下,包括自定义的宏、按键设置、插件数据等,其中macros-cache.txt保存着宏的定义。

3.更多信息

如果你有关于宏的疑问,并且在此找不到答案,可以看看这里:[《Macro FAQ & Repository》],其中包含很多对于常见问题的解答和一些很好的例子。而且最好多看看[wowwiki.com](不过在中国访问的话很可能需要代理),可以获得很多东西,比如宏和脚本相关的文章,还有数据控喜欢的关于游戏算法的研究。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Python 机器学习——解决过拟合的方法

    四种常用的解决过拟合(tackle overfitting)的方法,以思维导图的方式展示如下:对神经网络而言,”choose a simpler model with fewer parameters”意味着降低网络的规模,比如层数(layers)、比如神经元(neurons)的个数。此外:对深度神经网络而言,有dropout 对Ensembl…...

    2024/4/20 15:24:25
  2. 【iOS】XCTest/XCTest.h file not found

    TargetBuilding settingsFRAMEWORK_SEARCH_PATHS$(PLATFORM_DIR)/Developer/Library/Frameworks...

    2024/4/13 21:22:42
  3. 辐射3特殊武器拿法(修正版)

    Experimental MIRV Fat Man(试做型核弹发射器MIRV)National Guard Depot - Inside armory, on table 国民卫队征兵处,B1军火库门口有终端的的门里。这个武器必须先拿到5个碟才能开门,具体地点分别是:1. Grisly Diner(真难吃饭馆) 到了那里杀几个土匪,在饭馆后面的左手边…...

    2024/5/2 20:39:02
  4. 入门机器学习的第一个程序!(python版)

    一. 前言 前两天看到了网上一个叫做机器学习中的hello world的入门视频。觉得非常有意思,也进一步对机器学习有了感性认识,觉得非常适合我们了解和认识机器学习这一当前的热门领域。这篇文章是对它的大概描述。本次实验使用的是python语言以及Scikit-learn库,实验环境使用的…...

    2024/4/12 23:48:19
  5. 联想ThinkPad x230iBIOS中 UEFI/Legacy Boot选项是灰色解决办法

    最进帮公司同事重装一台X230i,由于系统异常,进入BIOS后发现UEFI/Legacy Boot选项是灰色,不可用。于是乎查了一下BIOS的相关资料,发现在Securt Boot选项中需要把Enable更改为Disable,UEFI/Legacy Boot选项就可以用了....

    2024/4/24 15:25:47
  6. 树莓派嵌入式开发学习文章

    这里先提供一个地址吧: http://www.cnblogs.com/haochuang/category/975722.html ==================================================== 树莓派实验室: http://shumeipai.nxez.com/...

    2024/5/6 15:44:01
  7. 1.1机器学习基础-python深度机器学习

    参考彭亮老师的视频教程:转载请注明出处及彭亮老师原创视频教程: http://pan.baidu.com/s/1kVNe5EJ1. 课程介绍2. 机器学习 (Machine Learning, ML)2.1 概念:多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现…...

    2024/4/12 23:48:50
  8. 看完嵌入式培训视频的一些感受

    初入嵌入式开发,写代码一片茫然,在淘宝买了一套嵌入式学习视频,学完感想如下: 优点: 1,培训视频以入门为主,对嵌入式的概念讲得通俗易懂,学员会对嵌入式开发慢慢熟悉起来 2,课程几乎包含了所有的嵌入式内容,对嵌入式的整体框架学习有帮助 3,熟悉嵌入式开发的IDE开发…...

    2024/4/8 20:58:23
  9. 我的第一次面试经历

    昨天去面试了,面试的是java实习生的岗位,我主要是想这个暑假找个实习工作做一下,积累一下工作经验。本来昨天就像把这次面试的经历记录下来的,但是由于今天早上有个考试,所以昨天晚上看书去了,就今天晚上抽点时间来写写!我是上个星期在前程无忧上面投简历到这家公司的--…...

    2024/5/6 17:47:52
  10. Delphi2009的下载与安装资料

    Delphi2009的下载地址 http://altd.codegear.com/download/Delphi_C++Builder2009/Delphi_C++Builder2009.isoDelphi2009 安装序列号 Serial Number: HAAE-D4CAUN-DN74SG-H4CNDelphi2009的破解包下载地址 http://download.csdn.net/source/654248与大家分享一下...

    2024/4/8 20:58:21
  11. python机器学习及实践(从零开始kaggle竞赛之路)第二章的2.1.2.5集成模型程序报错:numpy.core._internal.AxisError: axis 0 is out of bo

    python机器学习及实践(从零开始kaggle竞赛之路)第二章的2.1.2.5集成模型程序报错:numpy.core._internal.AxisError: axis 0 is out of bounds for array of dimension 0:1.原因是本段代码在python3以上执行时:print(np.sort(zip(etr.feature_importances_,bosten.feature_n…...

    2024/4/17 23:53:04
  12. iOS开发,UIWebview与H5之间的交互

    导语:随着微信的不断推广,在移动开发的过程中原生与H5的混合开发在移动开发中占据着越来越重要的地位;下面我给大家分享一下我在混合开发中的心得!将HTML页面加载到UIWebview控件中: A:本地加载: NSString *webPath = [[NSBundlemainBundle]pathForResource:@“Hel…...

    2024/4/14 4:06:51
  13. 嵌入式学习之libmodbus的移植

    libmodbus的移植的过程中,要注意几点:第一,在交叉编译器是最好加上--prefix参数,叫相关的库直接集中起来,方便拷贝到开发板相应的目录中去;嵌入式开发板:./configure --build=i686 --host=arm-none-Linux-gnueabi --enable-static --prefix=/root/libmodbus-3.1.1/insta…...

    2024/5/6 12:29:42
  14. 星球乐园 | 我们采访了五位创业者,发现“区块链女神”是她们最不想拥有的标签...

    如果说要给区块链行业贴标签,那一定少不了“90后、一夜暴富、美女多”等这些时常出现在文章标题里的词汇。能理解90后是目前区块链行业的主力军,但问及为什么总有媒体爱拿“区块链十大女神”说事儿,这不禁让星球君想到每每参加活动时,的确发现和大咖金句同样亮眼的,是在场…...

    2024/4/15 6:13:52
  15. Python机器学习算法库——决策树(scikit-learn学习 - 决策树)

    决策树决策树(DTs)是一种用于分类和回归的非参数监督学习方法。目标是创建一个模型,通过从数据特性中推导出简单的决策规则来预测目标变量的值。 例如,在下面的例子中,决策树通过一组if-then-else决策规则从数据中学习到近似正弦曲线的情况。树越深,决策规则越复杂,模型也…...

    2024/4/27 11:25:26
  16. nagios监控iptables状态

    最近我们运维要加强安全防护,老大让我们监控iptables的状态。这里我废了九牛二虎之力,再加上我师父(聪哥)的指导,才成功完成。 下面给大家看下我写的监控脚本 #!/bin/bashprefix=/usr/local/nagios/libexec;check_iptab_md5=`/usr/bin/sudo iptables -L -n | md5sum | a…...

    2024/5/6 17:25:07
  17. 论嵌入式的学习心得

    随着社会的发展,信息化时代的到来,计算机在我们日常生活中扮演着越来越重要的角色,而嵌入式也逐渐走入了我们的日常生活,由于怀着对嵌入式的浓厚兴趣,我走上了自学之路。我是土木工程毕业,接下来我谈谈自己的学习之路。嵌入式的学习首先要从C语言开始,C语言是基础,好比…...

    2024/5/6 8:36:21
  18. Github Pages + Jekyll 独立博客一小时快速搭建&上线指南

    Github Pages + Jekyll 独立博客一小时快速搭建&上线指南这篇文章转载自我的个人博客 http://chaosinmotion.coding.me/cblog 链接:http://chaosinmotion.coding.me/cblog/2016/03/26/build-a-blog/ 欢迎分享,转载请注明出处。只要一小时?!人生道路上布满了坑,于是有…...

    2024/4/12 23:48:55
  19. python机器学习库scikit-learn:SVR的基本应用

    scikit-learn是python的第三方机器学习库,里面集成了大量机器学习的常用方法。例如:贝叶斯,svm,knn等。 scikit-learn的官网 : http://scikit-learn.org/stable/index.html点击打开链接SVR是支持向量回归(support vector regression)的英文缩写,是支持向量机(SVM)的重要的…...

    2024/4/12 23:48:55
  20. vmware workstation 设置efi启动方法

    看到很多人写了修改虚拟机目录下vmx文件的方法,但是这个方法改完了efi启动后我不知道怎么才能改回bios启动。其实选中虚拟机-编辑虚拟机设置-选项-高级,右边的设置,有个选项叫通过efi而非bios引导。这个勾了就efi,不勾就是bios,还蛮方便的。...

    2024/4/16 21:02:20

最新文章

  1. Java请求第三方接口的一些步骤

    一、前言 Java请求第三方接口的一些步骤。 在Java中请求第三方接口通常涉及以下步骤。这些步骤涵盖了从准备请求到处理响应的整个过程。 1. 确定接口详情 接口URL&#xff1a;你要请求的URL。请求方法&#xff1a;如GET、POST、PUT、DELETE等。请求参数&#xff1a;包括URL…...

    2024/5/6 21:17:51
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/6 9:38:23
  3. 【干货】零售商的商品规划策略

    商品规划&#xff0c;无疑是零售业的生命之源&#xff0c;是推动业务腾飞的强大引擎。一个精心策划的商品规划策略&#xff0c;不仅能帮助零售商在激烈的市场竞争中稳固立足&#xff0c;更能精准捕捉客户需求&#xff0c;实现利润最大化。以下&#xff0c;我们将深入探讨零售商…...

    2024/5/5 12:33:12
  4. promise.all方式使用

    romise.all( ).then( ) 处理多个异步任务&#xff0c;且所有的异步任务都得到结果时的情况。 比如&#xff1a;用户点击按钮&#xff0c;会弹出一个弹出对话框&#xff0c;对话框中有两部分数据呈现&#xff0c;这两部分数据分别是不同的后端接口获取的数据。 弹框弹出后的初…...

    2024/5/6 9:11:04
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57