2024年1月29日发(作者:)

魔兽世界插件三部曲之一 ---- TOC

参考文献:/TOC @Wowwiki (魔兽世界维基百科)

摘要:

《魔兽世界》之所以会被数以千万的玩家所追捧而风靡全球,不仅仅在于它本身游戏内容的丰富和具有可玩性高,操作性强等优点,还在于它有一个比较完善的系统体系。WOW之所以经久的另一个原因就是,BLZ为了让玩家在游戏过程中能更好的适应习惯游戏的操作,改善游戏操作环境而开放了“官方API函数接口”,让玩家可以在开放并授权的代码规则下自己定义自己的用户界面(User Interface,简称UI)。

从05年运营至今,BLZ力求让游戏中的每一个细节都做到人性化,为此不断完善游戏系统...BLZ知道玩家在游戏过程中会对部分游戏功能和操作的不适应,可能会需要一些第三

方软件来辅助他们游戏,于是乎,便有了WOW API(官方API函数接口),而事实上,在随着对游戏内容的不断了解和对游戏操作的熟悉后,玩家确实会渐渐的发现一些官方设置不如人意的地方,例如游戏内包裹打开的繁琐,内置动作条的局限,战斗提示的缺失,这些都或多或少影响了玩家游戏的操作性。同时UI接口的开放,让更多的编程爱好者、编程技术人员在休息之余投入到了WOW的插件开发,给WOW又增加了一份新的乐趣。通过游戏一些界面的修改,各种类型的插件辅助完善其游戏本身,以及BLZ在每次更新过程中对API进行的完善修正,可以这么说,WOW已经逐渐演变成续Windows之后的游戏中的"Windows".UI的添加使用,造就了WOW的繁荣,经久不衰...

不过,UI制作需要了解一些专业的编程知识,因此大部分玩家还没有能力自己制作UI,只有一些熟悉XML和LUA语言的编程爱好者或者一些插件制作工作室能为我们提供他们制作的UI,并且放入WOW文件夹内发挥作用,这被称为X件(AddOn)。插件需要严格按照暴雪所设定的开源函数所编制,并且不能加入任何延时指令,即必须按照以下规则:“任何一个技能的施放必须由一个单独的鼠标或者键盘的物理动作来触发。”这就限制了插件不能做出自动施法的功能。插件并没有任何可执行文件,只是由一些以lua、xml、toc为后缀名的文件组成,将他们装到一个文件夹里,放置到魔兽世界文件夹下由暴雪指定的文件夹里就能够让《魔兽世界》来调用这些文件,这也是插件和非法第三方软件的最大区别。一个正常安全的UI只可能包含LUA、XML、BLP、TGA等脚本及资源文件,绝不可能含有EXE、COM、SCR等等可执行文件和以及.js、.vbs…脚本的,所有的脚本及资源文件全部是在玩家选择人物及载入插件列表后由WOW的脚本解释器编译执行的,这个时候所有的关于用户名及密码的操作都已结束,所以合法的插件是不可能盗号的。就目前来讲,WOW系统的这个LUA脚本语言和WOW UI提供的API接口还没有发现漏洞,所以插件是无法盗取你的帐号的。不过需要注意的是,BLZ虽然开放了WOWAPI,但是并没有承诺对其进行技术支持,所以错误的使用插件可能让游戏不正常甚至出错,如果玩家对插件没有足够的了解,那么建议玩家并不要使用插件。

〓TOC新手教程〓

魔兽世界的插件结构:

< World of Warcraft >(魔兽世界目录)

┗< Interface >

┗< Addons >

┗< *AddonName* > (以插件名字命名的文件夹)

┣*AddonName*.toc (插件的加载信息)

1

┣*AddonName*.xml (插件定义文档)

┣*AddonName*.lua (插件脚本文件)

┣...

任何一个ADDONS都是由3种文件组成: .LUA .XML .TOC

这里先介绍下*.TOC的结构和写法,TOC全称为Table of Contents,就是目录索引的意思,是ADDONS的标签,就好比是一本书的目录,它将告诉WOW我们所编写插件的名字、作者、版本号、注释、主要文件、依赖文件、保存文件等,所以任何一个ADDONS中TOC文件都是必不可少的。

简单的来说 *.toc中标注了关于插件信息的定义,以及需要加载的*.xml的位置。*.xml是插件的核心,包括界面、功能等元素都在其内。*.lua是一种嵌入式脚本语言,在WoW中实现*.xml调用的函数。换句话说,*.toc告诉WoW插件的名字和*.xml的位置,*.xml告诉WoW插件都有些什么元素,怎么工作,具体如何操作则交由*.lua来处理。

引用:

官方注解:

The TOC format for files defines information about each addon installed, as well as specify

which .xml and/or .lua files need to be loaded. It is currently required for an addon to be

recognized, show up in the addons list and be loaded. The TOC filename must match the folder

name in order for it to be recognized by WoW; however, any other files can be named whatever

you want as long as they have the proper extension and are listed in the TOC or in an XML file

inside