编写第一个WOW插件

插件的基本构成

插件目录

要让WOW客户端识别一个插件,首先要在指定位置上设置一个独立的目录。WOW会将这个目录中的所有内容扫描识别成一个插件。对于windows系统而言,这个独立的目录必须位于Interface/AddOns内。

toc文件

toc文件 = table of content file,中文翻译为内容表格文件,他必须和插件目录同名。该文件内部包含插件的一些描述性信息包括:标题、插件描述、作者、插件中需要加载的文件等。

lua文件

lua是一门脚本语言。通常游戏开发中,游戏引擎负责进行交互式图像应用处理,脚本语言则负责组织游戏内容和逻辑部分(调用游戏引擎内部机能)。因此在插件中,lua文件会实现插件的动态行为。

XML文件

XML是一种标记语言,与HTML不用,主要用来进行数据传输。在很多UI框架中,他负责定义UI界面的外观。WOW插件的可视元素通常由它来定义。

其他文件

其他文件主要是多媒体文件,例如音乐和图片。

第一个插件的编写

创建一个插件目录

在Interface/AddOns目录中创建目录CombatDet.

创建CombatDet.toc文件

toc文件必须和目录同名,因此应为CombatDet.toc。其内容至少应该包含:

  1. 匹配的游戏版本号。如"## Interface: 20300",20300对应于游戏版本2.0.3。
  2. 标题。如"## Title: Combat Detection",指明该插件用于检测是否进入或离开战斗状态。
  3. 描述。如"## Note: This addons is used to detect the state of combat"。
  4. 插件启动时需要加载的文件。如"combat_det.lua"

创建CombatDet.lua文件

对进入/退出战斗做出响应(提示音&文字提醒)

  1. WOW游戏本身是通过一系列Game Event驱动的,进入或退出战斗时,都会产生对应的事件上报到游戏客户端的应用层。进入/退出战斗对应的事件名为"PLAYER_REGEN_ENABLED"、“PLAYER_REGEN_DISABLED”。
  2. 知道了进入/退出战斗的事件名称,只需要为lua脚本注册事件,并提供对应的回调函数即可。
  3. 因为所有的Game Event通常都需要通过UI处理并反应出来,因此我们需要创建一个UI元素,并利用该元素注册对应的事件:
    if not MyCombatFrame then
    	CreateFrame("Frame", "MyCombatFrame", UIParent)
    end
    MyCombatFrame:RegisterEvent("PLAYER_REGEN_ENABLED")
    MyCombatFrame:RegisterEvent("PLAYER_REGEN_DISABLED")
    
  4. 创建处理函数并作为回调注册,类型为OnEvent,即发生事件时调用。
    function MyCombatFrame_OnEvent(self, event, ...)
    if event == "PLAYER_REG_ENABLE" then
    	ChatFrame3:AddMessage("退出战斗!!!")
    	PlaySoundFile("Interface//AddOns//CombatDet//exit_combat.mp3")
    	elseif event == "PLAYER_REGEN_DISABLED" then 
       	ChatFrame3:AddMessage("进入战斗!!!")
       	PlaySoundFile("Interface//AddOns//CombatDet//enter_combat.mp3")
       	end
    end
    MyCombatFrame:SetScript("OnEvent", MyCombatFrame_OnEvent)
    
  5. PlaySoundFile用于播放音频,且播放时不会有fade out。
  6. ChatFrame3:AddMessage用来向聊天窗口3输出文本。

加载插件并实测:

加载自定义插件

下图是角色选择窗口中打开的插件列表,其中能够看到我们刚才定义好的Combat Detection插件
在这里插入图片描述

游戏内测试

可以看到,自定义"聊天"窗口是第三个聊天窗口,可以收到战斗状态的提示。
在这里插入图片描述

qq_21787823
关注 关注
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
魔兽世界LUA插件开发
xMakubex的博客
03-28 1423
魔兽世界LUA插件开发
魔兽世界插件编写-第一个插件-空插件 EmptyAddOns
05-30 3346
魔兽世界插件开发 插件教程 插件编写WOW插件源代码 插件学习空插件 EmptyAddOns 最简单的插件 第一个插件编写一个能被魔兽世界正确加载的最小的插件,能免的都免掉。
魔兽世界lua笔记(2、编写一个打断喊话插件
weixin_33743703的博客
09-29 2494
前面我们介绍了lua的一些基本用法 然而一切的一切,还是为了能够搞魔兽插件,今天终于步入正题,来搞一个简单的魔兽插件 一、插件的结构 先来看看插件的结构吧,首先,插件是在World of WarcraftInterfaceAddOns目录下的,相信你已经知道了。 目录下面有很多文件夹,我截图了一部分。 这里面每一个文件夹都是一个插件,这些...
魔兽世界插件制作指南
11-13
适合于有一定的编程基础的并且想自己做魔兽世界插件的读者。主要讲述了魔兽世界插件制作过程。
魔兽世界插件编写普及教程
03-09
魔兽插件编写普及教程 ADDONS编写普及 作者:VVER
魔兽世界插件开发-暴雪设计工具/命令
05-29 5000
魔兽世界插件开发插件教程插件编写WOW插件源代码 插件学习魔兽世界命令指令宏 公众号:鸿石散人 魔兽世界游戏内提供了一些开发调试工具和命令,对于编写插件非常有用。这两天看了不少的魔兽世界的达人教学视频,反正是说得我都晕了,还是自己记录一下比较好。 什么是魔兽世界的命令和宏 命令(Command) 命令:指特定文本字符,是要求系统执行某种操作的标识符。 魔兽世界里边的命令通常指的是斜杠命令,就是在聊天窗口中输入的字符前加入斜杠,魔兽世界客...
魔兽世界插件编写教程与资料
12-02
有一本《Programming in Lua》,lua版本是5.1,用于插件的功能代码编写 2份wow插件的简单实例教程 ...wow插件编写资料实在太少,CWDG可能是目前中文资料最多的地方,英文的推荐wowwiki或者wowprogram
GM整合插件_wow313插件_Dewdrop插件_GM插件_
10-03
wow313插件 整合插件,功能好用但是没有大脚清晰
WOW插件编写快速入手指南
10-13
剥去其难解的外皮,让你有个清晰的大致了解。 1.程序员快速入手指南 1.引言 2.魔兽插件的架构 3.TOC —— 工程描述文件 4.XML —— 屏幕布局描述文件 1.XML文件主要内容 2.Ui标签 3.Script标签 4.Frame标签 5.UI...
WoW插件管理器.rar
04-05
WoW插件管理器.rar WoW插件管理器.rar WoW插件管理器.rar WoW插件管理器.rar WoW插件管理器.rar WoW插件管理器.rar
WOW插件制作指南PDF+WOW魔兽世界的APIs教程。
03-06
WOW插件制作指南PDF+WOW魔兽世界的APIs教程。
WOW插件制作指南PDF+WOW魔兽世界的APIs教程
08-02
WOW插件制作指南PDF+WOW魔兽世界的APIs教程。很详细很详细很详细
PoliQuest-Shadowlands:我的第一个WoW插件。 Shadowlands的练级插件
02-15
关于PoliQuest是一个Shadowlands任务附加组件,它通过提供减少鼠标点击次数和自动执行任务交互的工具,使平整工作变得不那么麻烦。 指令输入“ / pq ”或“ / poliquest ”以打开配置菜单。 键入“ / pq toggle ”或...
VS (Visual Studio) 魔兽插件开发工具 AddOn Studio for WOW 1.0 含有LUA编辑
痞子龙3D编程
08-18 9932
AddOn Studio for World of Warcraft 1.0 Release原文 http://www.codeplex.com/WarcraftAddOnStudio/Wiki/View.aspx 发表于 CodePlex ,由SilverFox翻译,本文版权归属于CWDG。概要AddOn Studio for World of Warcraft 是一款开源的开发工具,其目标为使用Visual Studio环境开发World of Warcraft插件。这是此项目的第一个版本,我们还有相当
wow插件的构成
听风轻咛
08-25 3780
今天来说一说wow插件是个什么鬼?插件魔兽世界开放的第三个接口,有朋友会问,什么是第三方?这个是软件业的一个术语,简单的说,就是游戏当中能让我们自己来定制DIY的部分,比方说对话界面,还有一些数据显示之类的功能。wow插件全部保存在World of Warcraft/Interface/AddOns目录下,在这个目录下会有一些暴雪自带的功能插件,它们均是以Blizzard_开头的,我们自己做的插
WowLua学习笔记
tttytyty的博客
12-04 2274
WowLua学习笔记 为什么wow需要各种各样的插件魔兽世界内置了LUA这个脚本语言, 使用它可以制作更高级得宏(LUA自己提供得函数等等在魔兽得环境中只能用做辅助作用,比如你想在屏幕显示出目标怪物还剩多少生命值,你不可能在LUA本身语言库中找到任何函数来直接得出结果,而只有使用魔兽世界...
听风的插件-正在战斗中
听风轻咛
11-15 568
文章目录文件结构界面由上篇中的事件引出事件处理 上篇我们跟插件打了个招呼,本篇我们要介绍一个简单的战斗统计插件,这个插件的主要功能是在玩家战斗开始发生时提示玩家正在处于战斗,并在战斗结束时显示战斗过程中的一些信息。 文件结构 我们来复习一下文件结构。在wow游戏目录Interface/Addons下创建新的文件夹。注意目录我们只能用英文和数字或者一部分符号(英文和数字的组合是一个好的习惯),为了配...
魔兽世界插件》教程---21点扑克游戏 Blackjack
u014372033的专栏
03-26 432
1.效果图 因为我是新手,只能做一个非常简单的插件,21点扑克游戏。比较有趣吧,插件也可以做一个游戏游戏中的游戏! 2.编写魔兽世界插件准备 首先你要一个最新的魔兽世界客户端,我的有26G大小。记得要申请一个试玩账户,试玩账户不会消耗游戏时间,可不能用正常账户,那调试代码烧点卡烧的厉害!用什么编辑器呢?魔兽世界插件大部分是Lua,一部分是XML,Sc
请个我提供一个修改wow的思路
最新发布
03-11
我可以提供一些修改 WoW 的思路,比如增加新的任务、副本、角色职业等内容,改善游戏的平衡性和体验,提高游戏的稳定性和流畅度等。同时,也可以考虑增加一些社交功能,比如公会系统、交易系统等,以便玩家之间更好地互动和合作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 编写第一个WOW插件 8123

最新评论

  • 编写第一个WOW插件

    weixin_40868441: [code=csharp] if not MyCombatFrame then CreateFrame("Frame", "MyCombatFrame", UIParent) end MyCombatFrame:RegisterEvent("PLAYER_REGEN_ENABLED") MyCombatFrame:RegisterEvent("PLAYER_REGEN_DISABLED") function MyCombatFrame_OnEvent(self, event, ...) if event == "PLAYER_REGEN_ENABLED" then ChatFrame3:AddMessage("退出战斗!!!") PlaySoundFile("Interface\\AddOns\\LoveAndy\\music\\dingdang.mp3") elseif event == "PLAYER_REGEN_DISABLED" then ChatFrame3:AddMessage("进入战斗!!!") PlaySoundFile("Interface\\AddOns\\LoveAndy\\music\\chaojimali.mp3") end end MyCombatFrame:SetScript("OnEvent", MyCombatFrame_OnEvent) [/code]

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

2019年1篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

哆哆女性网冰冻三尺下一句给小朋友起名的网站指尖温热卫生院管理软件斗罗大陆全集免费观看完整版高清美女起个啥网名好brw108胡起取名大全你是我的荣耀电视剧百度网盘资源qq等级排行榜查询女宝宝姓程起名字鱼小姐起名国家艺术基金可歌可泣是什么意思秦时丽人明月心剧情介绍属羊起名决战朝鲜下载义无反顾是什么意思起名字姓韩女孩姓孙男宝宝取名起名大全乐可金银花露原文水木有关的起名大全给柴犬起名字现在什么最赚钱明起名字好乱明天下一根钉女孩姓史起哪些名字好牛羊肉商标注册起名开局签到七个神仙姐姐白景屹淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化