AddOns for World of Warcraft 之 “Hello, WoW!”
暴雪用5年的世界打造了世界顶级的网游World of Warcraft,复杂多变的操作方法为游戏增添了无穷乐趣,而游戏的可玩性不仅仅体现在游戏世界本身,其XML+Lua的扩展机制也成为该款游戏的一大玩点。就像大家熟知的firefox一样,WoW提供了丰富的接口,允许玩家实现一些有额外功能(如:物件ID查询),这些额外功能被称为Addon。客户端安装目录下/Interface/AddOns就是用于放置各种Addon的地方。
在开发Addon之前,必须了解其构成。在WoW中,规定Addon由至少三中文件构成:
- toc:指明该Addon适用的客户端API版本,以及Addon包含(和依赖)的文件。
- xml:用于创建UI,指明事件处理脚本(Lua)。在某些情况下,可以不需要Lua文件,而直接将脚本嵌入到<scripts></scripts>标签中。
- lua:实现Addon功能的脚本。
下面我将实现一个在聊天框中输入命令来执行两个整数相加的Lua脚本,我将该插件命名为Test:
Test.toc文件内容:
## Title: Test Addon
test.lua
test.xml
Test.xml文件内容:
<Frame name = "Test_Frame" hidden="true">
<Scripts>
<OnLoad>Test_load();</OnLoad>
</Scripts>
</Frame>
</Ui>
Test.lua文件内容:
-- Slash Commands
SLASH_Test1 = "/test";
SlashCmdList["Test"] = Test_commandline;
DEFAULT_CHAT_FRAME:AddMessage("Test AddOn is now loaded!");
end
function Test_commandline(cmd)
local a = gsub(cmd , "(%d+)(%s)(%d+)", "%1");
local b = gsub(cmd , "(%d+)(%s)(%d+)", "%3");
DEFAULT_CHAT_FRAME:AddMessage("a + b ="..a+b);
end
为了运行Addon,需要将上述三个文件放在
客户端安装目录下/Interface/AddOns/Test目录下,然后启动客户端,在聊天框中输入:/test <arg1> <arg2>就可以运行脚本了。截图如下:
![](https://p-blog.csdn.net/images/p_blog_csdn_net/Lodger007/script.png)
AddOns for World of Warcraft 之 “Hello, WoW!”相关推荐
- WOW AutoFollow
魔兽世界怀旧版,自动跟随插件,真麻烦,什么版本投诉,我还是贴出来吧 D:\World of Warcraft\_classic_\Interface\AddOns\ D:\World of Warcr ...
- Cindy中的Filter
Cindy中的Filter 今天和Arbow在MSN上讨论时谈到了MINA中的Filter机制,Arbow认为这是一个非常方便的功能,他提到了比如可以设定黑名单/白名单,来设定要不要剩下的Listen ...
- 大脚插件技能栏美化_血条也性感:TidyPlates姓名板美化增强插件
简介: TidyPlates是一款已经开发的强大到爆的姓名板美化增强插件,可选的多款姓名板皮肤下载,强大醒目的3个等级的仇恨发光,特别适用于坦克群拉. 特别注明:姓名板是指你按V后怪物头上出现的血量和 ...
- Think in Pushlet
Think in Pushlet 作者: cleverpig 介绍 server端向浏览器client发送通知这种通讯模式在J2EE应用中很常见,通常使用采用 RMI. CORBA或者 ...
- 学习Lua编写魔兽插件 for wow addons
Lua的学习真的很简单,安装完一个20多M的小文件之后,会直接出来一系列小教程.让有一定编程基础的人快速掌握这门语言. 比较有意思的是多赋值语句: a,b=b,a 会自动交换两个变量的值. ----- ...
- WOW战场报新场宏实现(以及该插件实现研究)
不用插件的只用一个宏:/run空格JoinBattlefield(0)打开战场npc ,然后等喊排时点这个宏排队,这样排队的战场列表不会消失,等出场时,如果列表里没有你出的场就是新场.有的话就是老场了 ...
- WOW插件:ShortKey 4.7 发布(2009.9.27)
最近更新及下载:http://bbs.cwowaddon.com/thread-805-1-1.html 我在这里只保存一些历史信息. 更新:v4.7 2009.9.28 这个版本主要在代码结构方面变 ...
- WOW插件:ShortUnitFrame 2.1 发布(2007.7.17)
作者: simonw From CWDG 2区 暗影之月, 人类牧师, 民族英雄 simonw的wow插件技术博客: http://blog.cwowaddon.com/simonw 1. 玩家窗体 ...
- WOW插件:ShortRobot 1.21 发布(2006.10.3)
下载:http://files.cnblogs.com/simonw/ShortRobot.rar 作者:simonw, [2区 暗影之月 人类牧师 民族英雄] Email::i-simon AT m ...
最新文章
- MyEclipse使用技巧小总结
- pytorch test单张图片_PyTorch版EfficientDet比官方TF实现快25倍?这个GitHub项目数天狂揽千星...
- Linux给Java程序设置端口_扫描服务端口的Java程序
- html载入图片代码,TextVeiw加载HTML代码块内图片
- python下载numpy库_安装numpy库
- 正态分布的前世今生:误差分布曲线的确立
- android 盒子gpu,挑选电视盒子时CPU和GPU哪个更重要?
- 计算机二级Python笔记——第一部分
- 《数据结构(C语言版)》严蔚敏代码实现———顺序表
- 魔兽争霸无法在这个计算机,魔兽争霸提示内存不足 无法执行此操作 然后自动退出游戏了 怎么处理?我内存8G 硬盘1T WIN7 32位系统...
- “室友靠这个拿到了华为50万年薪,太牛逼了…”
- unity加载文件夹下的所有预制体
- xman的思维导图快捷键_MindMaster 思维导图快捷键
- matlab中累加的小程序,微信小程序学习用demo:数字累加,动态效果
- 脑电数据分析方法与应用实例简介-EEG Processing and Feature 1
- LeetCode每日一题——Day17
- 机器学习学习笔记-西瓜书
- 经济低迷时期,企业如何通过知识管理逆风翻盘?
- 海思处理器sensor驱动调用过程与源码解析与实战
- thinkphp session设置