魔兽世界宏命令完全教程.docx

上传人:b****7 文档编号:11278942 上传时间:2023-02-26 格式:DOCX 页数:33 大小:40.40KB
下载 相关 举报
魔兽世界宏命令完全教程.docx_第1页
第1页 / 共33页
魔兽世界宏命令完全教程.docx_第2页
第2页 / 共33页
魔兽世界宏命令完全教程.docx_第3页
第3页 / 共33页
魔兽世界宏命令完全教程.docx_第4页
第4页 / 共33页
魔兽世界宏命令完全教程.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

魔兽世界宏命令完全教程.docx

《魔兽世界宏命令完全教程.docx》由会员分享,可在线阅读,更多相关《魔兽世界宏命令完全教程.docx(33页珍藏版)》请在冰豆网上搜索。

魔兽世界宏命令完全教程.docx

魔兽世界宏命令完全教程

1考格威尔〔Cogwheel's〕宏命令完全指南

Cogwheel著WOWWiki共享维护Subelf译所有请勿用于商业用途

 

1一、根本宏命令

11.什么是宏?

宏是由一组宏命令组成的。

以下是一些普通宏命令:

●/say(/s)

●/whisper(/w,/talk,/t)

●/emote(/e,/em,/me)

●/dance

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

/spit

利用宏,我们可以把这些宏命令放到技能栏上点击使用,而且可以同时做多个动作。

写宏的时候,每条动作写在一行上,就像在聊天界面中输入的一样。

比如,让你的角色喊一声“Everybody,dancenow!

〞然后开始跳舞的宏:

/yEverybody,dancenow!

/dance

一个根本完整的宏命令列表可以参考这里:

《宏命令全表》,不过个别新添加的宏命令还没有被收录。

WoWWiki有很多关于宏的资料,尤其是脚本和/run命令〔后面将会提到〕。

注:

我先在此说一下,宏的执行是立即进展的。

这意味着当你点击技能栏上的一个宏时,宏命令会一条接一条地执行,执行完后才会返回游戏控制。

这将会产生两个重要问题:

第一,如果写了一个会执行很长时间的宏〔如:

/runfori=1,1000000000doend〕,游戏会被卡死,直到它执行完毕;第二,也是更重要的一点,那就是宏命令不可能具有延时功能。

这一现象在我们熟悉/cast之类的命令后就可以很清楚地感觉到。

而一些提供了延时执行命令功能的插件,只能是能执行一些所谓的“良性命令〞,如交谈、表情和对于其他插件命令的调用〔不过战斗中更换武器是可以进展的〕。

12.怎样写宏?

首先,打开你的宏窗口:

单击主菜单上的“宏〞按钮,或者在聊天界面中输入/macro〔/m〕回车。

在宏窗口的顶端,可以看见两个标签:

“通用宏〞和“<你的角色名>的专用宏〞。

通用宏被存储在账号专有的文件夹中,被所有角色共享。

而角色专用宏如此存储在角色自己的文件夹下,是角色专用的〔废话……囧〕。

在标签下面是18个存放宏的栏位。

再往下是一个栏位,用于显示当前选中的宏;还有一个“修改名称/图标〞的按钮,用于修改选中的宏。

然后是一个用于显示、编辑当前宏的文本框。

最下面是三个按钮,傻子也能看出它们是干什么的。

如果要创建一个宏,首先单击窗口下方的“新建〞按钮,这时窗口旁边会显示一个对话框,用于选择图标和输入宏的名称。

如果选择了第一个图标〔就是那个很红很暴力的问号〕,WoW会自动根据你宏命令中涉与的技能或物品选择图标。

选好图标,输入完名称,就可以单击“确定〞按钮了。

添加自定义的图标。

现在,你选择的宏图标被显示在栏位中了〔还会显示局部宏名称〕。

同时,新建的宏被选中,图标显示在当前选中宏的栏位中:

现在你可以写你的宏了。

单击编辑文本框,然后输入吧。

注:

宏限定为255个字符,传闻这样做是为了以后可以把用户的宏上传到服务器中。

不过……现在能做的就是遵循这个限定,至于想要把宏移植到其他机器上使用,请参见第三局部的宏的移植。

写完宏以后,只要把它的图标拖放到技能栏中就可以了。

当你执行一个宏,或者是关闭宏窗口的时候,宏都会自动保存的。

现在点击宏的图标,看看效果吧!

13.施放法术

在正常游戏过程中,很多宏命令通过聊天窗口输入使用似乎并不好用,但是在宏中就不一样了。

在特定场合下,简简单单的表情宏也可以产生有趣的角色扮演效果哦,那么,继续看……

这个:

/cast,它是最常见的宏命令了。

作用嘛,就是施放一个技能书中的技能〔包括宠物的〕。

最简单的用法就是这样:

/cast暗言术:

把这个宏放到技能栏上点击,将会对目标施放你最高级的痛。

这和把技能书中的痛拖到技能栏上,然后点击的效果是一样的。

我们制作的宏同样会在技能栏显示你的技能冷却状态和射程状态,点击后同样能正确的施放痛。

如果宏使用了问号图标,那么还同样会显示痛原有的图标。

那直接用技能不就行了么,何必用宏呢?

继续看,在宏中通过集成多条命令可以产生什么效果吧,这才是宏的价值所在。

比如说你是个法师,想让队友知道你要羊掉谁,你该怎么办?

用宏吧,一个简单的/p命令加上一个/cast就可以了〔使用这个无耻的插件可以达到更好的效果:

CCWarn,不过我们现在需要的只是这个简单易懂的教学例子〕:

/cast变形术

/p我羊了%t!

谁打谁扛着哈!

注:

由于宏的执行是立即进展的,所以不管目标是否有效技能是否冷却,宏被点击时/p命令就执行了,也就是说这两行命令的顺序颠倒后效果是一样的。

如果你想在确定成功施放一个技能后才执行某条命令,你可以试试这个插件:

AfterCast。

AfterCast可以设定在施放某个技能后执行一条宏命令,当然,是在第1节末尾所提到的限制之下的。

如:

/aftercast/p请队友点门,把懒猪%t揪过来!

/cast召唤仪式

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

/cast命令对技能名称是十分严格的,文字、标点、空格,一个都不能错。

为了防止出错,编辑宏时,你可以打开你的技能书,按下Shift然后单击你的技能图标,技能名称和等级就会被正确地输入到你的宏编辑文本框中,如:

/cast暗言术:

痛(等级5)

如果把“(等级5)〞删掉,宏在执行时就会自动选择你最高级别的技能执行;不过在很多场合下,还是需要指定级别的技能,比如术士放逐就需要根据时间来选择技能。

另外要注意,等级指示中使用的括号是英文的半角括号,等级与数字间有一个半角空格。

而一些技能名称中的括号,比如“精灵之火〔野性〕〞中的括号,是中文的全角括号。

以下宏命令不能正常执行:

/cast精灵之火(野性)

/cast精灵之火〔野性〕〔等级1〕

而以下的命令是正确的:

/cast精灵之火〔野性〕

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

空的括号效果和没有括号是一样的。

由于255字符限制的存在,空间还是要节省的,所以空括号可以删掉了……

14.使用物品或者饰品

使用物品和饰品和施放法术是类似的。

用于使用物品的命令是/use,后面只需要加上物品的名字就可以了。

例如:

/use绿色机械陆行鸟

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

1i./use<装备栏>

这种格式可以使用指定装备栏中的物品。

具体使用请参见《装备栏编号方式》。

例如:

/use13

使用第一个饰品。

1ii./use<背包><栏>

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

/cast喂养宠物

/use01

背包的编号为0-4,顺序是从右到左,即0是行囊。

物品栏如此是从上到下从左到右,从1开始依次编号的〔与书写顺序一样〕:

1234

5678

……

或者是:

12

3456

78910

……

如果怕把/cast和/use的用法混淆了,那就彻底搞混吧,因为它们其实本来就是完全一样。

/cast可以使用物品,而/use也可以施放技能。

这一点在目前看来似乎没有什么,但是到后面,介绍命令条件语和施法队列时,你会发现能把物品和技能混合在同一条命令中是多么爽的一件事。

15.集成多个动作

首先,在一个宏中想一键释放多个法术是不行的。

大多数技能和很多物品会触发公共冷却〔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炎爆术

16.选择目标

选择目标是宏的另一个主要作用。

此类功能可以用专门的目标选择命令实现,改变当前的目标;也可以在一些命令中用[target=]命令条件语实现,临时指定施法或使用物品的目标,而不改变当前目标。

命令条件语在第二局部将会讲到到。

现在我先介绍目标选择命令。

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

/targetCogwheel

/target的选择是经过最优相近匹配的,也就是说,如果我正站在你附近〔并且附近没有谁叫Cog的〕,你执行/targetCog,我就会变成你的当前目标。

至于这种机制是利是弊……那就取决于实际情况了,因为这个东东貌似不稳定,有时会得到莫名其妙的结果。

比如下面这个宏就可能不是很好用:

/target黑翼法师

/cast痛苦诅咒

如果附近没有黑翼法师呢?

或许结果就是:

选中了团里的某个人,因为他的名字在某种意义上比拟相近。

虽然你的诅咒不会真对他们放出来,但还是够囧的。

另外一个问题是,它可能会选择你身后一个离你100码的单位——根本不是你想选中的那一个……不过在2.3版之后,增加了一个/targetexact命令,第一个问题得到解决了。

除了用人名进展选择之外,还可以通过单位标识符进展选择。

单位标识符〔UnitID〕是用于标识特定单位的字符串。

比如你的当前的目标就可以用“target〞来表示,而你自己对应的标识符是“player〞,如果你有宠物,那么它的标识符是“pet〞。

另外,通过在一个正确的标识符后加上target,就可以获取他的目标。

如此变态也可以:

/targettargettargettargettargettargettarget

这里是一个可用ID的全表:

《单位标识符》。

1i.其他选择命令

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

●/assist

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

例如:

/assistCogwheel

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

●/cleartarget

去除当前目标。

●/targetexact

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

●/targetlasttarget,/targetlastfriend和/targetlastenemy

顾名思义,分别用来选择上一个目标、上一个友方目标和上一个敌对目标。

如果你之前没有过任何目标,那么这些命令不会产生任何影响。

●/targetenemy和/targetfriend

选择敌方目标和选择友方目标。

这两条命令是按一定顺序循环选择指定类型的目标的,和使用Tab键的效果类似。

如果在命令后加上一个1作为参数,那么就会按循环的反方向进展选择。

例如:

/targetenemy1

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

注:

这两个宏命令每个宏中只能用一次。

●/targetparty和/targetraid

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

17.控制宠物

之前在讲施放技能的时候提到过,使用/cast命令可以施放宠物的技能。

玻璃渣把法师的水宝宝的霜星起名叫“冰冻术〞就是为了防止和法师自身的“冰霜新星〞技能冲突,从而导致不能在宏内使用。

但是有宠物的职业会发现,如果宏只能施放技能的话,甚至还不如宠物技能栏的功能。

别急,燃烧的远征中,新增了以下这些宏指令:

1i./petattack

让你的宠物去攻击你的当前目标。

当然,在命令后加参数可以指定攻击的对象。

1ii./petfollow

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

1iii./petpassive,/petdefensive和/petaggressive

宠物切换被动、防御和主动攻击状态。

同宠物技能栏上的最后3个按钮。

1iv./petautocaston和/petautocastoff

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

例如:

/petautocaston折磨

/petautocastoff受难

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

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

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

比如前面所讲的这个例子:

/use短暂能量护符

/cast奥术强化

/cast气定神闲

/cast炎爆术

客户端会把奥术强化的状态信息作为宏的状态显示。

但是这恐怕不是我们所希望的,因为这个宏的目的是炎爆,前几行的奥强气定都只是为了最后把一个大大的脸盆给丢出来。

如果在宏的前面加上这样一行,炎爆术就会被当作宏的默认技能:

#show炎爆术

如果使用了问号图标的话,宏还会直接显示炎爆的图标。

#show的参数机制和/cast类似,可以使用技能名、物品名、物品编号〔如item:

12345〕、装备栏或者背包+物品栏编号。

和#item类似的还有#showtooltip。

正常情况下,鼠标指向宏的时候,提示信息显示的是宏的名字。

而这在绝大多数情况下是很不好用的〔除非你用了TheoryCraft之类的插件可以显示详细的技能信息〕。

而用#showtooltip就可以指定宏在鼠标指向时显示的信息,用法同#show。

另外,如果使用了#showtooltip的话,就没必要再用#show了。

如果客户端自动选择的技能符合你的要求,那么可以只用#showtooltip而不加参数来显示该技能的说明,这样可以节约空间。

请注意:

#show和#showtooltip与/开头的宏命令不同,是大小写敏感的,也就是说只能用小写字母。

19.其他的命令

现在有了足够的根底,以下这些命令我就只简要地讲解一下了。

有些命令看似没啥用,但如果配合将在第二局部介绍的命令条件语,它将会产生惊人的效果。

1i.装备物品

用于装备物品的命令有两个:

/equip和/equipslot。

/equip的参数为物品名称,效果是把对应物品装备到默认的装备栏中,类似在背包中右键单击物品〔如:

一件单手武器就会被装备到主手上〕。

而/equipslot的参数为装备栏编号和物品名称,效果是把物品装备到指定栏位中去。

例:

装备武器:

/equip虚空角斧

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

/equip14棍子上的胡萝卜

注意:

即使是在战斗中,插件页是可以直接使用装备命令的。

因此在AfterCast和Chronos中可以使用装备命令。

如果插件内部会检查命令是否经过安全化可能就不那么好用了,因为它属于“安全化〞指令——但是事实上它并没有受到安全限制。

1ii.队列施法或使用物品

很多时候我们需要经常按一定顺序使用固定的一些技能或物品。

这样的操作是可用/castsequence宏命令进展傻瓜化的。

/castsequence命令用法是在后面写上一些技能或物品的名称,之间用英文的半角逗号分隔,和/use、/cast类似。

技能名、物品名、物品代号、装备栏代号和背包位代号都可以混合使用。

每次执行宏,就使用当前的技能或物品〔从第一个开始〕,如果成功,队列的当前位置就被移至下一个技能或物品。

也就是说需要反复执行宏来按顺序使用这些技能或物品。

当最后一个技能/物品成功使用后,这个队列就被重置到开头。

比如:

/castesquence献祭,腐蚀术,痛苦诅咒,生命通道

这是痛苦术士起手的招牌动作。

注意,如果献祭没有施放成功〔比如魔法不足,超出X围,被沉默了等等〕,这个队列不会继续执行,直到献祭放出去。

所以下面这个宏是屁用没有的:

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

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

语法是:

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

以上的这些条件都可以任意共存。

其中,n是数字,表示从某次执行宏开始,经过n秒后没有再次执行这个宏,那么队列就被重置到开头。

这一点很重要,因为这意味着无法利用reset条件语来准确计时〔比如让某技能一冷却就用〕。

target条件表示当目标切换时,宏队列重置;bat条件表示脱离战斗后重置;shift,alt和ctrl表示当执行宏时指定的键为按下状态时重置。

例如:

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

如果这个宏图标使用的是问号,就会自动显示下一个要施放技能的图标。

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

1iii.随机施法或使用物品

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

用法和/castsequence类似,如:

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

1iv.攻击

以前的宏是/attack,后面可以写上单位名作为攻击对象,无参数如此以当前目标为对象。

效果是切换当前的攻击状态〔攻击/停止攻击〕。

但是这个宏从2.2.3开始就被废除了,只能使用/startattack和/stopattack了。

分别用来攻击和停止攻击。

如:

/startattackCogwheel

1v.技能栏控制

有两个控制技能栏翻页的宏:

/changeactionbar和/swapactionbar。

前者承受一个数字作为参数,表示要切换到的技能栏页码。

常见的是猎人用来转换近战远程攻击状态:

/cast雄鹰守护

/changeactionbar1

/cast灵猴守护

/changeactionbar2

/swapactionbar命令后面要写两个页码,表示来回切换指定的两个技能页。

如果当前技能页不是两个页码中的一个,当前页就会被设置为第一个页码指定的技能栏页。

/swapactionbar12

1vi.移除增益效果

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

/cancelaura拯救祝福

1vii.退出形态

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

/cancelform

/use超强治疗药水

2.3版本之前,上面这个宏由于形态取消有一个延迟,为了达到效果需要执行两次。

不过2.3版本后,小德可以只点一次就产生效果了。

1viii.中止施法

前面简单提到了/stopcasting命令,不过它存在的目的顾名思义,是用来打断当前施法的。

这对处理紧急情况很有用,比如我的术士:

/stopcasting

/cast暗影灼烧

1ix.终止一个宏:

/stopmacro

/stopmacro如果不配合条件语来使用是没有什么意义的。

它一般用来实现条件执行的功能:

如果满足了某些条件,如此中止宏继续运行。

具体用例请参见设置焦点〔focus〕。

1x.解散坐骑

/dismount

不用再说什么了吧?

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

/focus宏可以把一个目标设为焦点〔focus〕,然后可以在其他指令中使用这个focus。

比如你的老大指定了一个目标让你羊着。

你要做的就是选择它,然后输入/focus。

然后你就可以用这个宏羊着它了,而不用管你当前目标变成了谁:

/cast[target=focus]变形术

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

1xii.模拟点击

/click命令的参数为一个按钮〔本质上来说是一个窗口〕的名称,执行的效果就相当于用鼠标点击了这个按钮。

默认情况下,它的效果相当于左键单击,也可以根据设置成其他按键点击的效果。

至于按钮名称可以通过一下方式获知:

●使用插件。

某些插件,比如MoveAnything,提供了查看窗口名称的功能。

●查看界面的源代码。

这一般是非常娴熟非常牛B的插件制作者才能做到的。

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

/runlocalf=GetMouseFocus();iffthenDEFAULT_CHAT_FRAME:

AddMessage(f:

GetName())end

/click可以用于很多用途。

比如利用它可以一次执行很多宏。

还有,假设你有一个宏太长了,远远超过255字符限制。

你就可以把后面写不下的代码写到另一个宏中,而前面那个宏的末尾写上:

/clickMultiBarRightButton1

再把第二个宏拖到那个叫MultiBarRightButton1的栏位中。

这样执行第一个宏就相当于执行了所有的宏命令。

另外,这个宏还可以用来做一些其他命令没法办到的事。

比如前面提到的切换宠物技能自动施放状态的功能,就可以这样解决:

/clickPetAttackButton5RightButton

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

用于指定按键的参数还可以是LeftButton〔左键,默认〕,MiddleButton〔中键〕,Button4〔4号键〕和Button5〔5号键,职业玩家的鼠标……〕。

在掌握这些之后,第二局部结尾处还会介绍更复杂的,利用/click产生分支判定效果的例子。

110.进阶:

脚本

1i.脚本有哪些限制?

脚本是一个强大的工具,它按照LUA语言的语法执行,利用客户端提供的接口可以产生强大的智能。

所以玻璃渣就给它加了限制,防止它被滥用而影响游戏平衡性。

我之所以要先讲脚本的限制,为的是让大家对它别抱太大希望。

虽然脚本还是很有用,但是不能用来施法、使用物品、改换技能栏或改变当前目标。

这些功能只能依靠那些“安全化〞的命令来实现。

1ii.什么是脚本?

魔兽世界客户端的用户界面是可以通过LUA脚本控制的。

通过/run和/script命令就可以执行脚本〔我个人推荐使用/run,节省字符数……〕。

在命令后面书写脚本内容,中间不能换行。

不过一个宏中可以包含多个/run命令。

过多关于LUA语言和编程的内容本文就不再赘述。

如果你有一定的编程经验,那么就可以访问c:

\iknow\docshare\data\cur_work\.lua.org\pil\学习LUA语言。

如果没有什么根底,那么请先看《编程入门》了解一些根本概念。

玻璃渣提供了很多API函数〔ApplicationProgrammingInterface〕,可以在LUA脚本中调用来实现对界面的控制。

关于API函数和相关的内容可以看看这篇文章:

《界面DIY》〔如果你打算花时间好好研究魔兽世界插件的话,WoWWiki是最优选择〕。

我不可能把所有关于用户界面的细节都讲到,因此我只打算用我最常用的一个宏做例子,简单地讲一下。

想了解得可以看上面给出的,或者这里:

《ModAuthorResourcessticky》。

下面这

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1