最近刚学了Lua,想写点东西练练手。正好看到电脑桌面角落的战网图标,灵机一动,魔兽世界插件不就是Lua写的吗。于是就有了这篇文章
最近刚学了Lua,想写点东西练练手。正好看到电脑桌面角落的战网图标,灵机一动,魔兽世界插件不就是Lua写的吗。于是就有了这篇文章,这篇文章仅是入门教程,不会涉及UI插件开发,毕竟我也是个新手。
必要技能:lua语言。lua不难,现学都行(有编程基础的话)。
插件位置:World of Warcraft\_retail_\Interface\AddOns
插件结构:必要和非必要的文件。一个插件必须有必要文件,才能正常运行。
两种必要文件:lua和toc
lua文件:WOW插件是由lua脚本语言编程的,lua文件是插件的功能逻辑实现。
toc文件: 插件的描述定义文件。你可以简单的认为toc是插件的入口函数,类似C的 main函数
其他非必须文件:xml(配置或管理文件) 、ogg(语音)、tga(纹理)等等。
下面开始开发一个简单的正式服插件(没下怀旧服,但原理都差不多),试玩账号也可以制作该插件,不需要充月卡。该插件的功能在聊天窗口打印银行包包空位的所需金币。为啥不是打印helloworld呢,因为helloworld没意思。
在AddOns下面建立一个文件夹,你可以取任意名字,我取名为test
在第1步建立的文件夹下面建立两个文件:一个toc,一个lua
3.test.toc内容:
##后面接的是插件描述信息。
Interface:魔兽版本号。这个值可在游戏内聊天框中输入/dump select(4,GetBuildInfo())查询
Title和Notes主要是显示作用。
剩下的Author和Version可填可不填。当然还有其他的参数,比如SavedVariables等,这里暂时不用到,就没往上写。
如果你想在toc里面写注释的话,请使用单个#开头。
test.lua是登入游戏之后开始加载这个test插件的第一个lua文件,如果需要加载多个文件(除了lua还可以是xml),请一行填写一个完整的文件名。游戏会按顺序从上到下加载文件。
4.test.lua内容:
好了,到此为止,这个插件就写完了。下面进入游戏看下效果,请记得在插件列表那里选择加载test插件。
如果你没看到上图的效果,请检查你的代码。或者去游戏内银行打开你的银行包包,我猜魔兽是按需加载功能的,刚进入游戏并没有加载银行数据。
再教大家一个调试小技巧:修改了lua文件内容后,并不需要重新登录游戏触发,只需在聊天框内输入/rl。这个指令会重新加载游戏,具体会加载哪个部分不清楚,反正肯定会重新加载插件。如果你玩游戏平时遇到插件出问题,也可以使用该指令重载插件。
上面说过了,lua文件是实现逻辑的地方。修改lua文件,可以实现不同的功能。
把test.lua内容换成这个,再加入游戏内就就会看到聊天窗口的打印。
温馨提示,最好别在暴风城或奥格瑞玛等人流量大的地方实验这个战斗打印,否则你会发现聊天窗口在疯狂打印,因为这个战斗信息包含了你周围所有玩家的战斗信息。自己去野外找个角落实验,用个技能什么的,上坐骑之类也会打印。
参考资料:https://wow.gamepedia.com/World_of_Warcraft_API
菜鸟下载发布此文仅为传递信息,不代表菜鸟下载认同其观点或证实其描述。
版权投诉请发邮件到 cn486com#outlook.com (把#改成@),我们会尽快处理
Copyright © 2019-2020 菜鸟下载(www.cn486.com).All Reserved | 备案号:湘ICP备2023003002号-8
本站资源均收集整理于互联网,其著作权归原作者所有,如有侵犯你的版权,请来信告知,我们将及时下架删除相应资源