魔兽世界插件删除文件删除是Interface 但是里面有好几个.. 什...

LUA学习笔记中魔兽世界自定义界面插件 是本文要介绍的内容,主要是来了解操作系统的库文件没有包含在魔兽世界UI的PATH路径之中,本文是对魔兽世界自定义界面插件的介绍,内容主要是如何进行自定义的UI插件(Custom UI)进行定义:

近来有许多玩家蜂拥而入了WOW团体,他们中有许多,就像我一样,有着一些编程经验并且希望试着创建UI插件。由于有着众多编程语言和接口,不少人可能会走些弯路,我希望以下内容能够减少以上这些情况(至少减少为寻找那些函数的资料而头痛的烦恼):

(译注:其实并不难,其内容只涉及到一些脚本语言和XML文档的知识,就算你没有写过程序,也能胜任。)

第一步必须明白将要做些什么,但是为了能够正确的开始,我们必须选择一些编写脚本的工具。我想首先重要的一点是编辑器(用专业术语来说就是IDE-integrated development evironment), 这可能有许多种选择。由于我们编写脚本的语言是LUA(译注:一种脚本语言,参见:/ (译注:.br/luaeclipse/ (译注:一个运用于Eclipse IDE下的插件,建议使用过Java语言的专业人士使用。)

EditPlus ? 这是替代记事本程序的有效工具,这也是我编辑LUA的工具。它有着多种你所需的功能,而且它有着LUA语言的Schema(译注:Schema可以理解为一种模板,它规定者文件如何定义等内容)。但是它有着30天的评估期,你得注册拥有它。

这只是3种建议,我认为一旦掌握了B:Lua后,你就能够更好地使用其它工具了。

(2)目标:WOW文件

  • 是脚本文件,也就是插件运行的脚本所在。每个界面都用<Frame>的标签(Tag)扩起来。这里我们使用了一个Frame标签来简单地把所有事件脚本包进来,你也可以将所有的界面上的按钮,窗口等定义在Frame标签里面。在<Frame>标签里,可以定义其一个叫name的属性(如:<Frame

    注意里面的值必须在整个文件里是唯一的。建议你用你的插件模块名称作为前缀开始,后接下划线,再接上Frame真正意义的名称。在上面的例子里,我们把它叫做core,因而组成了上述名字。

    在<Frame>标签里有个<script>标签,其中是真正脚本的内容。在这里有许多事件(译注:即魔兽世界游戏程序在某阶段将做的某个动作),其中 <onLoad> 和<OnEvent>是最常用的2个。

    其中<onLoad>是当你选择了角色进入游戏时而角色Laoding画面开始之前的将响应的事件(换句话说,你的插件在登入画面时是不会被装载的)。在我们的代码中,我们注册了this给了一个叫“VARIABLES_LOADED”的事件(译注:看不懂代码的朋友还是先看看一些脚本语言的介绍书籍),this代表了当前的Frame,即这个名字叫hello_world_core的Frame,this就是指向该Frame的对象/变量(指向该Frame对象的实例),这里的“:”相当于引用方法的表达符(像其他某些脚本语言中的”.”

    (译注: 真的是要了解编程的了哦。 这里处理事件就类似Win32处理事件的代码模式,可以用if(event=事件名称){操作代码}else if(event=事件名称2){操作代码}…..或者 switch case的方式来完成。)

    现在,暴雪提供了存储变量的方法,你可以用RegisterForSave(“variable_name”)的方法来定义一个变量在游戏过程中。

    (3)补完 (译注:写代码的部分,会写脚本的人一定看得懂,不会写的需要学习:<)

    好了,现在是真正要写代码的时候了。创建1个叫作hello_world.lua的文件。内容如下:

    这里我不想对语法做出解释,如果不懂请看LUA的文档,那里会详细地介绍。参见:www.lua.org/manual/5.0/

    注意这里系统的I/O 库文件,操作系统的库文件没有包含在魔兽世界UI的PATH路径之中。至于暴雪定义的函数(内置的)和事件,你可以在Cosmos网站上找到,参阅:www.cosmosui.org/texts/BlizzardCommands.xml

    回到代码,在我们的函数中,我们定义了1个聊天用的命令。似乎我们的代码看起来挺怪的,是的,我们是直接修改了SlashCmdList这个表,其作用是当我们输入宏“/hellow 消息” 或者“/hw 消息”是会调用hello_world_command()函数,(至于游戏内部如何这种关系做映射不在本文讨论范围内)然后玩家看到打出“消息”的聊天信息的窗口(译注:事实上是msg()函数创建的窗口)。可以看到“消息”作为参数传递给了hello_world_command()函数。

    以上所有做的就是一个简单的插件,它加入了两条命令(宏)。如果你想测试它,进入游戏,输入/console reloadui(重新加载UI),在登入游戏后的聊天框中输入“/hellow Why hello there!”,你会看到游戏中弹出一个消息框,消息是“Why hello there!”。

    这就是我们基本的例子,以后我可能抽空给出一些其它的例子。

    如果你已经完成了以上这个例子,我真是要为你鼓掌了呀!(那花了你不少时间来阅读吧。)

    如果你感兴趣的话,以下还有不少资料:LUA

    小结:LUA学习笔记:魔兽世界自定义界面插件的内容介绍完了,希望通过本文的学习能对你有所帮助!


最近朋友给我介绍了一个插件能检查BUFF的。但是要***在interface/addons内。我下好了就是没有interface后面没有addons?这是为什么呢?... 最近朋友给我介绍了一个插件能检查BUFF的。但是要***在interface/addons内。我下好了就是没有interface后面没有addons?这是为什么呢?

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

LZ应该是以前没用过插件 或者用大脚一类的

自己在魔兽目录下创建 interface文件夹 打开 再创建addons 把你弄好的插件放到addons里 就OK

没有自己新建个 ,看看还有没其他interface

你打开下魔兽 那个addons会自己出来的

我也遇到过看看***目录是不是有问题。还有是不是***出现错误,这个可能比较低。

不是addons 就是一个文件夹add 放进去就可以了

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

这个文件夹没有用 是装你以前用的那些插件用的 可以删除

Interface是你现在用的插件文件夹 即使你没有用插件只要运行游戏都要帮你自动生成一个

参考资料

 

随机推荐