您的位置 : 攻略 > 游戏攻略 > 魔兽世界插件开发入门

魔兽世界插件开发入门

来源:菜鸟下载 | 更新时间:2025-06-13

最近刚学了Lua,想写点东西练练手。正好看到电脑桌面角落的战网图标,灵机一动,魔兽世界插件不就是Lua写的吗。于是就有了这篇文章

最近刚学了Lua,想写点东西练练手。正好看到电脑桌面角落的战网图标,灵机一动,魔兽世界插件不就是Lua写的吗。于是就有了这篇文章,这篇文章仅是入门教程,不会涉及UI插件开发,毕竟我也是个新手。

必要技能:lua语言。lua不难,现学都行(有编程基础的话)。

插件位置:World of Warcraft\_retail_\Interface\AddOns

插件位置如上图所示,test插件是我自己写着玩的,其他文件夹都是正式插件


插件结构:必要和非必要的文件。一个插件必须有必要文件,才能正常运行。

两种必要文件: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主要是显示作用。


如果你是复制上述的toc内容,鼠标放到插件上,插件列表的显示效果

剩下的Author和Version可填可不填。当然还有其他的参数,比如SavedVariables等,这里暂时不用到,就没往上写。

如果你想在toc里面写注释的话,请使用单个#开头。

test.lua是登入游戏之后开始加载这个test插件的第一个lua文件,如果需要加载多个文件(除了lua还可以是xml),请一行填写一个完整的文件名。游戏会按顺序从上到下加载文件。

4.test.lua内容:

好了,到此为止,这个插件就写完了。下面进入游戏看下效果,请记得在插件列表那里选择加载test插件。

聊天窗口内第1到第4行是test.lua的print打印。具体数值由你的角色购买的包包数量决定

如果你没看到上图的效果,请检查你的代码。或者去游戏内银行打开你的银行包包,我猜魔兽是按需加载功能的,刚进入游戏并没有加载银行数据。

再教大家一个调试小技巧:修改了lua文件内容后,并不需要重新登录游戏触发,只需在聊天框内输入/rl。这个指令会重新加载游戏,具体会加载哪个部分不清楚,反正肯定会重新加载插件。如果你玩游戏平时遇到插件出问题,也可以使用该指令重载插件。

上面说过了,lua文件是实现逻辑的地方。修改lua文件,可以实现不同的功能。

把test.lua内容换成这个,再加入游戏内就就会看到聊天窗口的打印。

这是战斗信息的详细打印,具体含义请去查询https://wow.gamepedia.com/API_CombatLogGetCurrentEventInfo

温馨提示,最好别在暴风城或奥格瑞玛等人流量大的地方实验这个战斗打印,否则你会发现聊天窗口在疯狂打印,因为这个战斗信息包含了你周围所有玩家的战斗信息。自己去野外找个角落实验,用个技能什么的,上坐骑之类也会打印。

参考资料:https://wow.gamepedia.com/World_of_Warcraft_API

菜鸟下载发布此文仅为传递信息,不代表菜鸟下载认同其观点或证实其描述。

展开

相关文章

更多>>

热门游戏

更多>>

手机扫描此二维码,

在手机上查看此页面

关于本站 下载帮助 版权声明 网站地图

版权投诉请发邮件到 cn486com#outlook.com (把#改成@),我们会尽快处理

Copyright © 2019-2020 菜鸟下载(www.cn486.com).All Reserved | 备案号:湘ICP备2023003002号-8

本站资源均收集整理于互联网,其著作权归原作者所有,如有侵犯你的版权,请来信告知,我们将及时下架删除相应资源