求wowwow3.35整合插件包包

跪求一个WOW的团队整合插件包_百度知道等级:v5.0.1.9官方版24.8M简体推荐理由:大脚是一款向魔兽世界玩家提供便利的插件,完全使用暴雪官方提供的用户接口第三方开发,即大脚提供的辅助功能在当前游戏版本下完全被暴雪官方认可。您既可以通过选择左侧的功能选项按钮来设定相关模块的参数版本:
等级:V3.6.2 官方最新版2.7M简体推荐理由:蘑菇插件这是一款完全绿色安全的软件,它整合了当前《魔兽世界》最常用插件和宏,并提供相关插件和宏的一体式管理服务。玩家可以根据自身需要通过“蘑菇插件”对插件进行下载,***,更新,卸载等管理操作。此外,“蘑菇插件”还拥有相当人性化的搜索功能,便于玩家找寻自己所需求的插件和宏。版本:
等级:5.4.1.2876免费版577KB简体推荐理由:. 团队助手更新到了最新的版本,由于wow已经支持发送插件消息,所以取消了团队助手频道。
等级:226KB简体推荐理由:魔兽世界字体修改器fontshow和clearfont是专为魔兽世界设计的字体修改工具。这款小工具可以更改自己喜欢的字体,喜欢改什么字体就改什么字体版本:
等级:v5.0.5 免费版300KB简体推荐理由:这个是本人早期玩魔兽世界的时候写的,熊猫人之谜出来后有人反馈无法修改字体或是还原字体,于是做出了本次更新!版本:
等级:157KB简体推荐理由:Reforgenator装备重铸助手插件,在界面上显示你没有经过重铸的装备,并根据职业和天赋给出装备重铸的建议版本:
等级:4.1.06KB简体推荐理由:这个是个战场初级插件,高玩的话请看别的吧,很多童鞋在战场都纠结于魔兽世界的记分板,太乱了,一下想找到自己还真不容易,有了TGScoreBoard,你就轻松了版本:
等级:4.1054KB简体推荐理由:玩魔兽世界的玩家都知道,在战场里面,占领敌对方的点是需要时间的,这个时间具体是多久,大家只能凭心里默念,魔兽世界多用途战场计时让你更直观的看到这一切版本:
等级:v5.0.0920异常版618KB推荐理由:魔兽皇冠插件v5.0.0920免费测试版版本:
等级:v3.6.23.4M简体推荐理由:魔兽蘑菇插件管理器是款绿色软件,它整合了当前《魔兽世界》最常用插件和宏命令,并提供相应的一体式管理服务。玩家可以通过蘑菇对插件进行下载,***,设置,更新,卸载等管理操作版本:
等级:1.8M简体推荐理由:魔兽小强,目前功能最全面,更新速度最快的魔兽世界UI魔兽插件(UI插件:魔兽世界游戏自身提供版本:
等级:5.4.1.2876577KB推荐理由:魔兽精灵插件合集是魔兽世界游戏的一款实用的插件整合工具,功能包括搜索地图上的稀有怪、简单强大的一键施法绑定插件等等版本:
等级:V5.3.0正式版2.4M简体推荐理由:魔兽蘑菇插件管理器整合了当前最常用的魔兽世界插件和宏命令,是一款绿色的魔兽插件管理器。用户可以通过蘑菇对魔兽世界插件进行查询、下载、使用、卸载等操作版本:
等级:v3.2.16官方版13.2M简体推荐理由:网易有爱是全新网易有爱魔兽世界插件,采用全新的UI,给玩家全新的体验。并且能全面支持魔兽世界5.4版本版本:
等级:1.1M简体推荐理由:利用该插件,可以修改游戏内任意的文本的字体,以及设置大小、是否描边等,使用简单方便。ESC-界面-插件找到插件进行设置版本:
等级:v7.0.5.57.6M简体推荐理由:魔兽世界守望先锋风格界面UI美化插件(OwD),守望先锋的界面很漂亮清爽,作者将其融合到WOW中,内存占用也不高,纯lua编写的单体插件,适合广大普通魔兽玩家使用版本:
等级:v4.8c1.5M简体推荐理由:魔兽世界角色配置快速复制工具。魔兽玩家每次练小号调插件配置很麻烦,这个游戏工具可以快速复制大号配置到小号上去,分享给各位需要的WOW玩家版本:
等级:5KB简体推荐理由:TransmogRoulette是魔兽世界7.0新幻化系统插件,新的幻化系统将玩家所有获得过的装备保存在衣柜中,TransmogRoulette可以在衣柜试穿界面根据玩家已有的幻化装备来进行随机搭配,或许会有很多奇葩的幻化搭配出现哦,幻化达人们赶快下载吧版本:
等级:5.0.2.025M简体推荐理由:近日,魔兽世界国服已经更新到了7.0的前夕版本,很多插件都随着版本的更新而不能使用,作为目前使用人数最多的大脚为了配合7.0前夕版本做了最快的更新,本站为您提供魔兽世界大脚7.0前夕版下载,希望使用大脚插件的玩家能够喜欢版本:
等级:1.8M简体推荐理由:WOW手柄控制器ConsolePort插件,魔兽7.0总算出了越肩视角,正好可以配合手柄插件来玩了。升级路上可以舒舒服服躺着玩,打个5人本也不在话下。配合新越肩视角,让玩家爽到版本:
等级:130KB简体推荐理由:这是个原创盗贼的综合助手。帮助你更加便捷有效地监视:技能,能量及其回复速度,连击点,急速,橙色武器特效,毒药。/rt 呼出控制台,重载界面后设置生效版本:
等级:6.4.0212KB简体推荐理由:Aurora全面板透明效果是一款魔兽世界插件,用于可以自定义背景透明度,美化暴雪默认界面,是款非常不错的界面整体修改的插件版本:
等级:36402.0M简体推荐理由:Exorsus Raid Tools是Exorsus公会自制插件,功能强大!Exorsus Raid Tools团队技能冷却, 战斗日志, 观察浏览器, 备注, 团队检查, 邀请工具, 计时器, 团队拾取, 副本模式, 职业技能等版本:
等级:6.2-13182KB简体推荐理由:《XLoot拾取框体增强》取代系统自带简陋的拾取框和Roll界面,使用《XLoot拾取框体增强》还可设定更多的功能以及自定位置,所有的框体都可隐藏和拖动。新版的XLoot完全重写了代码,不再使用ACE2框架,使得插件的大小及内存占用都更加高效。同时,新版XLoot支持Masque/ButtonFacade皮肤版本:
等级:3KB简体推荐理由:idTip物品ID和法术ID显示插件,在物品或法术的鼠标提示信息里,显示编号(物品编号和法术编号)。由于一些其他自定义功能强的插件可以根据物品ID和法术ID来自定义添加所要的监视,所以这个插件对使用这些插件的玩家比较有用版本:
等级:6KB简体推荐理由:wow自带的宠物组合只有一个,我们需要针对不同的战斗选择不同的组合,这个插件让我们提供最多10种组合,这个插件集成了小宠物品质鉴定插件版本:
等级:312KB简体推荐理由:在玩家的姓名板上方显示buff,支持游戏自带姓名板以及、Aloft、caelNamePlates和Tidy Plates等常见姓名板插件版本:
等级:3KB简体推荐理由:团队通报助手ConjuredAnnouncer是非常小巧的插件,当检测到团队或队伍中的成员使用了以下技能时,就会自动进行通报:鱼宴、大摆筵席、贩卖机器人、战地修理机器人、仪式点心、召唤仪式、灵魂仪式、战争大锅等技能版本:
等级:278KB简体推荐理由:法师点燃监视插件mybigignite,在屏幕上显示一个进度条,上面显示你点燃的大小,可以设置点燃到达不同数字的3个颜色,外加燃烧没有好就自动隐藏。现在的燃烧只看点燃和炎爆的dot,后者覆盖时间超长,基本上100%存在。超低的时候是暗色的,达到你设定的值会变成绿色,很醒目。按esc-界面,进入设置界面。或者/MyBigIgnite 打开设置窗口版本:
等级:244KB简体推荐理由:系统头像增强插件MyUnitframes,分离自MysteryUI_V5版本。原系统元素的基础上进行增强,美化,修剪,就是这款界面你可以在ESC-界面里进行简单的设置完成。该插件与材质美化包MiirGui配合能让的你的界面视觉效果不同版本:热门搜索:
当前位置:
&&《魔兽世界》整合背包和物品分类查看插件
《魔兽世界》整合背包和物品分类查看插件
我要评分:
魔兽世界插件大全包含各种类型的魔兽插件,可以帮助各位玩家在游戏中实现各种方便的辅助功能,让您更好的的操作和掌握自己的角色。游戏堡小编为您精心整理的魔兽世界插件大全各位不容错过哦!
34.6 MB(19人阅读)
564.0 KB(562人阅读)
7.5 MB(93人阅读)
139.0 KB(6人阅读)
1.3 MB(93人阅读)
4.2 MB(61人阅读)
300.0 KB(3981人阅读)
14.6 MB(85人阅读)
285.0 KB(786人阅读)
190.0 KB(358人阅读)
《》整合背包和物品分类查看插件&支持搜索和物品类型分类的背包插件,分类可以自行按规则设置,设置界面在游戏界面下的插件标签页内打开。
2.复制文件夹到world of warrcraftinterfaceddons文件夹内
3.在人物选择页面插件按钮勾选加载过期插件,并且勾选新加入的插件名
4.进入游戏
高速下载器地址:
其它下载:
备用下载:
1.游戏堡网所有的补丁都经过严格***测试,但下载后仍请大家自行查杀以便决定是否使用。
2.推荐用户使用工具下载,以获取最佳的下载速度。
3.游戏在***运行的过程中若出现缺少dll、内存不能读、配置不正确等,请下载对应的
4.下载的资源有可能会被杀毒软件提醒,部分报毒与补丁工具修复有关。若您有顾虑,请谨慎下载。游戏堡官方QQ群: 可以帮助您解决游戏补丁相关的问题。
(12人阅读)
(21人阅读)
(41人阅读)
(27人阅读)
14.9 GB5.9
14.9 GB6.0
14.9 GB0.0
980.4 MB5.9
747.5 MB8.6
980.4 MB6.4
15.3 MB6.0
10.8 MB6.0
980.4 MB7.4
747.5 MB7.0
作品版权归作者所有,如果侵犯了您的版权,请联系我们,本站将在3个工作日内删除。
中国综合游戏门户之一,游戏堡网提供(,网络游戏,网页游戏,手机游戏等)资讯,攻略,下载,补丁 是您找游戏内容的最好选择。
All Rights Reserved 湘ICP备号-2
游戏堡网温馨提示:抵制不良游戏,拒绝盗版游戏,注意自我保护,谨防受骗上当,适度游戏益脑,沉迷游戏伤身,合理安排时间,享受健康生活!跪求魔兽世界整合插件包_百度知道[wow插件整合包]魔兽世界插件三部曲_wow插件整合包-牛宝宝文章网
[wow插件整合包]魔兽世界插件三部曲 wow插件整合包
魔兽世界插件三部曲之一 ---- TOC参考文献:http://www.niubb.netTOC
@Wowwiki (魔兽世界维基百科) 摘要:《魔兽世界》之所以会被数以千万的玩家所追捧而风靡全球,不仅仅在于它本身游戏内容的丰富和具有可玩性高,操作性强等优点,还在于它有一个比较完善的系统体系。WOW之所以经久的另一个原因就是,BLZ为了让玩家在游戏过程中能更好的适应习惯游戏的操作,改善游戏操作环境而开放了“官方API函数接口”,让玩家可以在开放并授权的代码规则下自己定义自己的用户界面(User Interface,简称UI)。从05年运营至今,BLZ力求让游戏中的每一个细节都做到人性化,为此不断完善游戏系统...BLZ知道玩家在游戏过程中会对部分游戏功能和操作的不适应,可能会需要一些第三 方软件来辅助他们游戏,于是乎,便有了WOW API(官方API函数接口),而事实上,在随着对游戏内容的不断了解和对游戏操作的熟悉后,玩家确实会渐渐的发现一些官方设置不如人意的地方,例如游戏内包裹打开的繁琐,内置动作条的局限,战斗提示的缺失,这些都或多或少影响了玩家游戏的操作性。同时UI接口的开放,让更多的编程爱好者、编程技术人员在休息之余投入到了WOW的插件开发,给WOW又增加了一份新的乐趣。通过游戏一些界面的修改,各种类型的插件辅助完善其游戏本身,以及BLZ在每次更新过程中对API进行的完善修正,可以这么说,WOW已经逐渐演变成续Windows之后的游戏中的"Windows".UI的添加使用,造就了WOW的繁荣,经久不衰...不过,UI制作需要了解一些专业的编程知识,因此大部分玩家还没有能力自己制作UI,只有一些熟悉XML和LUA语言的编程爱好者或者一些插件制作工作室能为我们提供他们制作的UI,并且放入WOW文件夹内发挥作用,这被称为X件(AddOn)。插件需要严格按照暴雪所设定的开源函数所编制,并且不能加入任何延时指令,即必须按照以下规则:“任何一个技能的施放必须由一个单独的鼠标或者键盘的物理动作来触发。”这就限制了插件不能做出自动施法的功能。插件并没有任何可执行文件,只是由一些以lua、xml、toc为后缀名的文件组成,将他们装到一个文件夹里,放置到魔兽世界文件夹下由暴雪指定的文件夹里就能够让《魔兽世界》来调用这些文件,这也是插件和非法第三方软件的最大区别。一个正常安全的UI只可能包含LUA、XML、BLP、TGA等脚本及资源文件,绝不可能含有EXE、COM、SCR等等可执行文件和以及.js、.vbs…脚本的,所有的脚本及资源文件全部是在玩家选择人物及载入插件列表后由WOW的脚本解释器编译执行的,这个时候所有的关于用户名及密码的操作都已结束,所以合法的插件是不可能盗号的。就目前来讲,WOW系统的这个LUA脚本语言和WOW UI提供的API接口还没有发现漏洞,所以插件是无法盗取你的帐号的。不过需要注意的是,BLZ虽然开放了WOWAPI,但是并没有承诺对其进行技术支持,所以错误的使用插件可能让游戏不正常甚至出错,如果玩家对插件没有足够的了解,那么建议玩家并不要使用插件。〓TOC新手教程〓魔兽世界的插件结构:& World of Warcraft &(魔兽世界目录)┗& Interface &┗& Addons &┗& *AddonName* & (以插件名字命名的文件夹)┣*AddonName*.toc (插件的加载信息)1┣*AddonName*.xml (插件定义文档)┣*AddonName*.lua (插件脚本文件)┣...任何一个ADDONS都是由3种文件组成: .LUA .XML .TOC这里先介绍下*.TOC的结构和写法,TOC全称为Table of Contents,就是目录索引的意思,是ADDONS的标签,就好比是一本书的目录,它将告诉WOW我们所编写插件的名字、作者、版本号、注释、主要文件、依赖文件、保存文件等,所以任何一个ADDONS中TOC文件都是必不可少的。简单的来说 *.toc中标注了关于插件信息的定义,以及需要加载的*.xml的位置。*.xml是插件的核心,包括界面、功能等元素都在其内。*.lua是一种嵌入式脚本语言,在WoW中实现*.xml调用的函数。换句话说,*.toc告诉WoW插件的名字和*.xml的位置,*.xml告诉WoW插件都有些什么元素,怎么工作,具体如何操作则交由*.lua来处理。引用:官方注解:The TOC format for files defines information about each addon installed, as well as specify which .xml and/or .lua files need to be loaded. It is currently required for an addon to be recognized, show up in the addons list and be loaded. The TOC filename must match the folder name in order for it to be recognized by WoW; however, any other files can be named whatever you want as long as they have the proper extension and are listed in the TOC or in an XML file inside &Script& or &Include& tags.WoW reads up to the first 1024 characters of each line only. Additional characters are ignored and do not cause an error.大致翻译如下(E文不是很好 ,欢迎指正)TOC文档包含着已***插件储存的文件信息,它需要由*.xml和*.lua一起被加载工作.TOC的文件名必须和插件的文件夹名保持一致才能被wow导入,包括名字的大小写,而其他文件的名字不管多长都将被列在TOC或者XML文件的&Script&
&Include& 标签中需要注意的是,WoW只能编译1024字节/行,多出的部分将会被忽略而且不会报错。TOC位置:World of Warcraft\Interface\AddOns\MyAddon\MyAddon.toc或c:\users\games\World of Warcraft\Interface\AddOns\MyAddon\MyAddon.toc其中高亮部分为你所装插件名称,必须保证文件夹名和文件名完全一致,包括大小写。
客户端识别:所有标签都必须要以"##"开头,只有Title和Notes标签支持其他语言,除此之外都要用英语书写。Interface(插件版本号):代码:格式:##Interface:30100Interface 版本号表示插件对应的游戏客户端的版本号,也就是这个插件是为哪个版本的WoW所开发的. 如果版本号与客户端不符合,插件将不会被调用加载而默认设置(这就是为 2什么游戏客户端一升级,部分插件就不能使用的原因) ,但是你可以在插件管理面板中手动勾选加载"过期插件",这样客户端就会忽略Interface版本号而强制加载使用插件,不过,最好还是尽快升级插件版本以避免插件出错。引用:获取当前客户端版本号有点麻烦,你当然可以启动游戏然后看看屏幕上显示的一串数字,但那个是错误的。WoW的每次更新会写一个版本号在FrameXML.toc里,但这个文件被埋在一个MPQ中。暴雪为此专门提供了一个工具 类似一个解压缩工具,然后用此工具打开World of Warcraft\Data\patch.mpq,文件较大可能需要需要一点时间。打开之后你会看到一个列表,找到Interface\FrameXML\FrameXML.toc,(framexml目录默认是隐藏的,只有用工具才能看见,这也就是为什么部分玩家有时候发现framexml目录错误却在Interface文件夹下找不到此文件夹的原因) 双击用默认的TXT记事本或者notpad之类的文本编辑器打开就可以看到版本号了。具体方法:Title(插件名称):代码:格式: ##Title: My Addon?
##Title-zhCN: 我的插件Title表示插件的名称,也就是角色界面左下角插件管理面板里显示的那个。支持多种语言定义,默认为英语。其他语言要在Title后面加上后缀,如上所示,zhCN表示简体中文,zhTW就是繁体中文。前面2个小写字母代表语言,后面2个大写代表国家和地区。
引用:"frFR": French"deDE": German"enUS": American english (what should be "enGB" clients return "enUS", too)"koKR": Korean"zhCN": Chinese (simplified)"zhTW": Chinese (traditional)"ruRU": Russian (UI AddOn)"esES": Spanish (Spain)"esMX": Spanish (Mexico)也可以为名称添加自己喜欢的颜色,WoW支持字串形式的颜色定义。插件管理面板默认字体颜色为黄,你可以根据自己的喜好自行定义文本颜色颜色字串以"|c"开头"|r"结束。中间为16进制α(alpha透明度) RGB颜色代码和你要显示的文本。例如:将"我的插件"几个字显示为蓝色。那么就应该是:代码:##Title: |cff0000ff我的插件|r颜色代码参照:http://www.niubb.netolor.htm其中|c表示接下来的8位字符是颜色代码,以α(alpha透明度)、R(红)、G(绿)、B(蓝)顺序排列。前面2位ff表示被着色的文本完全不透明(一般都取FF )XX表示红色的比率(从00到FF,16进制)3YY表示绿色的比率(从00到FF,16进制)ZZ表示蓝色的比率(从00到FF,16进制)不过并非所有的地方都支持透明。代码后面紧跟要显示的文本 "我的插件",|r表示代码结束,如果没有标记|r,WoW将会把颜色代码应用到这一行结束的全部文本Note(插件标签):代码:格式:## Notes: This is my first AddOn.?
## Notes-deDE: Informationen?
## Notes-zhCN: 这是我的第一个插件。Notes包含对插件的说明内容,也就是对插件功能的简单描述,插件管理面板中鼠标经过插件名称时将会出现此介绍标签RequiredDeps(依赖插件):代码:格式:## Dependencies: someAddOn, someOtherAddOn?
## RequiredDeps: someAddOn, someOtherAddOn如Grid的GridManaBars模块## Dependencies: Grid 意为需要Grid核心库的支持为了让插件更好地工作,某些插件开发者会使用第三方库或其他现成的插件作为基础和辅助,这么做的有点就是节约了开发成本,也使开发过程简便了许多,缺点是,要让插件正常工作,系统必须确保所依赖的文件都要存在,否则,如果任何依赖的库或插件缺失,当前插件加载都会失败。依赖的名称即依赖插件的名称,也就是目录文件夹的名称。如果需要依赖多个库或插件,彼此用逗号","隔开。注意大小写一致。这就是为什么禁用部分插件后,部分插件会因为依赖功能缺失而导致无法加载的原因,用过大脚、精灵之类整合包的玩家应该会有所了解,禁用bigfoot核心文件,将会造成部分插件功能无法启用,就是这个道理。Tip: Dependencies、RequiredDeps、Dependancies[sic]效果是一样的。OptionalDeps(可选依赖库):代码:格式:## OptionalDeps: someAddOn, someOtherAddOn当前插件为了实现某些附加功能而依赖的外部库或插件,若依赖的库/插件不存在addons下,那么当前插件仍然可以正常工作,但是使用可选依赖的插件就必须在可选依赖存在时 才能正常工作。LoadOnDemand(命令加载):代码:格式:
## LoadOnDemand: 1?
## LoadOnDemand: 0插件可以用命令来加载,而不用非得在用户第一次登录的时候加载。如果启用这一功能,此插件则必须在某个时候被另一个插件加载。这是为了避免加载一些特殊的不常用的插件而导致内存资源占用,如DBM的一些模块的toc中就有这类命令,在插件管理中启用/禁用相应模块,其实就是通过调整此参数完成的。4LoadWith(跟随加载):代码:格式:## LoadWith: someAddOn, someOtherAddOn和LoadOnDemand一起用,使你的插件跟随某个插件一起被加载(通常是暴雪自带的UI模块,像Blizzard_AuctionUI)。SavedVariables(统一的角色信息变量):代码:位置:/WTF/Account/&account name账号名&/SavedVariables/&addon name插件名&.lua ?
格式:## SavedVariables: someVariable, someOtherVariable保存的变量是当前流行的存储不同人物角色的方式。这些变量在客户端启动或UI重载(reload)时被载入。SavedVariables标签现以取代RegisterForSave函数,后者已经不再受客户端支持。注意在OnLoad事件过程中,SavedVariables并未完全加载所以必须假设包含nil(空)值直到以插件文件名为参数的ADDON_LOADED事件被触发。即便插件被禁用或因为错误、版本不匹配等问题没有加载,SavedVariables依然会被保存。所以一般插件的设置相关信息我们都 可以通过拷贝WTF文件夹保存下来SavedVariablesPerCharacter(单独的角色信息变量):代码:?
位置:/WTF/Account/&account name账号名&/&realm name服务器&/&character name角色名&/SavedVariables/&addon name插件名&.lua?
格式:## SavedVariablesPerCharacter: somePercharVariableSavedVariablesPerCharacter 标签不能区分用于不同的角色. 如果需要, 应使用SavedVariables标签替代.DefaultState:代码:格式:## DefaultState: enabled?
## DefaultState: disabled这里的enabled/disabled状态被写在WTF\Account\{account name账号名}\AddOns.txt里,并且这个文件会覆盖的DisabledAddOns.txt,后者为了保持兼容仍然会被老版本的加载。Secure:代码:格式:## Secure: 1这个标签被添加到Blizzard_UI。它的确切目的无从知晓,但一种可能就是它告诉客户端是否要为插件寻找一个签名。 貌似像智能手机***签名一样的道理Non-Standard Tags(非标准标签):用##标示还可以添加更多额外的信息,某些第三方插件甚至使用自行提供的信息。下面是一些常用的标签:AddOn Metadata Tags (插件元数据标签):5这些标签和Title、Notes放在一起,并可用GetAddOnMetadata("addon", "field")来调用。 Author (作者):代码:格式: ## Author: MyName作者的名字Version(插件版本号):代码:格式: ## Version: 1.0插件的版本号。X-&data&:代码:格式## X-email: ?
## X-Foo: I love pancakes?
## X-Foo-esES: Te quiero, mi esposa任何以X-开头的标签。代表插件的相关信息Ace2注视标签:代码:## X-Revision: 4025?
## X-Revision: $Rev$和Ace不一样,Ace2直接从TOC文件提取插件元数据,特定的域(field)进行特定的处理,即Version和X-Date,那么你就可以用CVS和Subversion关键字例如$Rev$作为它们的值。 除了正经域以外,它还可以寻找下列自定义的域。X-Date(插件-日期):代码:格式: ## X-Date: 07-05-2009插件的发布日期。X-eMail (插件-邮箱):代码:格式: ## X-eMail: X-Website: (插件-网站):代码:格式:## X-Website: http://maplezone.X-Category(插件-目录):代码:格式: ## X-Category: Raidlocal CATEGORIES = {6["Action Bars"] = "Action Bars",["Auction"] = "Auction",["Audio"] = "Audio",["Battlegrounds/PvP"] = "Battlegrounds/PvP",["Buffs"] = "Buffs",["Chat/Communication"] = "Chat/Communication",["Druid"] = "Druid",["Hunter"] = "Hunter",["Mage"] = "Mage",["Paladin"] = "Paladin",["Priest"] = "Priest",["Rogue"] = "Rogue",["Shaman"] = "Shaman",["Warlock"] = "Warlock",["Warrior"] = "Warrior",["Healer"] = "Healer",["Tank"] = "Tank",["Caster"] = "Caster",["Combat"] = "Combat",["Compilations"] = "Compilations",["Data Export"] = "Data Export",["Development Tools "] = "Development Tools ",["Guild"] = "Guild",["Frame Modification"] = "Frame Modification",["Interface Enhancements"] = "Interface Enhancements",["Inventory"] = "Inventory",["Library"] = "Library",["Map"] = "Map",["Mail"] = "Mail",["Miscellaneous"] = "Miscellaneous",["Quest"] = "Quest",["Raid"] = "Raid",["Tradeskill"] = "Tradeskill",["UnitFrame"] = "UnitFrame",}X-Feedback(插件-留言版):代码:## X-Feedback: http://www.niubb.netforums※ 其余详细代码请参阅:http://www.niubb.netTOC※ -------------------------------------------------------------------------------------------------------------------------------------*.toc文件实例,以大家比较熟悉的 Omen3 为例:## Interface: 30000
---客户端版本7## Version: 3.0.6
---插件版本## Title: Omen3
---插件名称## Notes: A lightweight, flexible, multi-target threat meter.
---插件简介注释## Notes-ruRU: Лёгкий, гибкий, измеритель угрозы.## Notes-frFR: Un "threat meter" léger, flexible et multi-cibles.## Notes-zhCN: 一个灵活的,多目标的,低资源占用的威胁值计量器。## Notes-zhTW: 一個輕量級、有彈性、可監視多個目標的仇恨統計插件。## Notes-koKR: ??-??? ?? ???? ???? ?????.## Author: Xinhuan
---插件作者## OptionalDeps: Ace3, LibSharedMedia-3.0, AceGUI-3.0-SharedMediaWidgets, LibSink-2.0, LibDBIcon-1.0
---插件可选库## X-eMail: xinhuan @ gmail DOT com
---插件联系邮箱## X-Donate: PayPal:xinhuan @ gmail DOT com## X-Category: Combat
---插件类型目录## SavedVariables: Omen3DB
---插件储存目录信息## X-Curse-Packaged-Version: v3.0.6## X-Curse-Project-Name: Omen Threat Meter## X-Curse-Project-ID: omen-threat-meter## X-Curse-Repository-ID: wow/omen-threat-meter/mainline魔兽世界插件三部曲之二 ---- XML参考文献:http://www.niubb.netXML_User_Interface
@Wowwiki (魔兽世界维基百科)摘要:首先确定你要无比热爱WOW,热爱UI,热爱DIY~~否则大量的脚本及相关的知识只会将你的自信心淹没,以至于还未着手深入了解、学习就轻言放弃,其次你可能先需要了解一些基本的编程知识,因为开发一些自定义脚本是需要学习一些编程语言基础的,虽然不用学的很深奥,但基本的语句用法还是要理解的。如果你具备这些条件那么就接着往下看。之前给大家介绍了TOC的相关知识,相信有心看过的玩家应该已经基本了解可以自己编写自己的TOC了,接下来给大家介绍的插件3大组成部分之二——"XML"定义:引用:XML为 eXtensible Markup Language 的缩写。eXtensible Markup Language中文译为“可扩展标记语言”,为众多Markup Language中的一种。其主要的目标为建立一种更加简单的结构更加严谨的SGML(Standard Generalized Markup Language,标准通用标记语言)。而WoW使用XML来定义规划游戏界面元素。一个简单的实体定义档XML格式如下:8&Uixmlns=""xmlns:xsi=""xsi:schemaLocation=""&&script file="脚本文件.lua"/&&Frame name="唯一的编号"&&scripts&&OnLoad&this:RegisterEvent("注册变量");&/OnLoad&&OnEvent&if (event == "注册的变量名") then"调用自定义函数";end&/OnEvent&&/scripts&&/Frame&&/Ui&〓XML用户界面〓魔兽世界有一个相当强大的创建用户界面的布局引擎。当组合一个附着UI 元素行为的的LUA脚本时,就创建了一个灵活、完整的游戏UI,这可以很好的创建一个自定义的插件。为了能让这些程序正确的执行,那么至少应该在Interface 目录下包含一个FrameXml 目录。(这个目录默认是隐藏的,你可以通过WinMpq软件打开Interface.mpq来找到这个文件夹)引用:PS:如果已经熟练的使用这门语言,关于更多的知识请参阅 /xml[/url]一个XML文件是一个包含了起始和结束标记元素的集合,一个用户界面描述文件也不例外。在一个用户界面的XML中有2 种主要的元素类型。第一个类型用于声明一个用户界面中的部件,如按钮、框架、复选框,我们称其为部件元素。第二个元素类型总是出现在第一个元素类型的内部,用于定义部件的属性和行为,我们称其为属性元素。下面是一个例子: 引用:&Button name="MyAddon_Button"&&Anchors&&Anchor point="CENTER"/&&/Anchors&9&/Button&在这里Button 元素是第一个类型元素,也就是说是一个部件元素。它出现在这个XML文件中促使一个名为MyButton的按钮被创建。这个元素内部中的Anchors定义了它的属性,因此这些是第二个元素类型,也就是说是一个属性元素。一般的UI 结构总是这样的,你使用一个元素来表现一个部件,并且在其内部使用其他元素来表现它的属性。并且他们是可以嵌套的,举个例子:代码:&Frame name="MyAddon_Frame"&?
&Anchors&?
&Anchor point="CENTER"/&?
&/Anchors&?
&Button name="MyAddon_Button"&?
&Anchors&?
&Anchor point="CENTER"/&?
&/Anchors&?
&/Button&?
&/Frames&?
&/Frame&在这个例子中有二个部件元素(Frame 和Button)和多个属性元素(Anchors、Anchor)。这里例子创建了一个框架并且在其内部还包含了一个按钮。在这里MyButton 是MyFrame的子元素(包含在其内部),而MyFrame 是MyButton 的父元素。这里需要注意的是XML对空元素(即元素没有值)的语法约束。(&Anchor point=”CENTER”&&/Anchor&等同于&Anchor point=”CENTER”/&注意这个反斜杠的使用)。有许多的元素可以使用属性,比如上面例子中出现的name 属性。一个正确完整的XML文件必须正确包含一个名为UI 的元素作为其根元素(即第一个需要声明的元素,除XML文件本身的声明外)。下面是一个完整的用户界面描述文件的迷你示例(你可以复制以下代码到你的XML文件中):代码:&Ui xmlns="http://www.niubb.netwow/ui/"?
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?
xsi:schemaLocation="http://www.niubb.netwow/ui/ ..\FrameXML\UI.xsd"&?
&Frame name="MyAddon_Frame"&?
&/Ui&10这个文件创建一个名为MyFrame 单独的框架。然而这个框架将是不可见的并且其中没有任何的内容。〓命名部件〓每一个部件必须有一个name 属性,它促使一个同名的Lua全局变量被创建。这个变量通常用于在该部件上调用API(Application Programming Interface 应用编程接口)。Tip:全局变量对于整个UI 都是可见的,这意味它的命名必须在所有XML文件中是唯一的。 下面这个例子展示了XML文件中的一部分:代码:&Frame name="MyAddon_Frame"&?
&Button name="MyAddon_Button"&?
&/Button&?
&/Frames&?
&/Frame&在任何Lua代码中你可以使用MyFrame 变量来引用这个框架,同样的你也可以使用MyButton 这个变量来引用这个按钮。举例来说,要显示这个框架可以调用MyFrame:Show()方法。或者让这个按钮失效你可以调用MyButton:Disable()方法。当为一个部件命名的时候,可以使用一个特殊的字符串$parent,它可以表示当前部件的父部件的名称。看下面这个例子:代码:&Frame name="MyFrame"&?
&Button name="$parentButton"&?
&/Button&?
&/Frames&?
&/Frame&这个结果是创建了二个Lua全局变量:一个是MyFrame,另一个是MyFrameButton。
11〓框架管理〓Note:本节的许多内容应用于所有的用户界面,不仅仅是框架,布局属性,尺寸等等,对于所有的部件都是通用的。1) Layout 布局框架有一个组合的Size 元素以及一个或多个组合的Anchors(锚)元素。当一个框架被放置在窗体上时,这些组合了的元素将定义一个矩形窗体并呈现在屏幕上。一个Size 元素通过使用指定的Size 关键字来定义,并且其中可以包含AbsDimension 或RelDimension 其中的任意一个。Anchors(锚)允许定义框架的相对位置,也允许框架动态的重新配置其内容。一个Anchors(锚)组通过包含一个或多个Anchor 子元素的Anchors(锚)元素来表示,其中还可以包含一个Offset 元素。下面是一些例子:代码:&Frame&?
&Size&&AbsDimension x="100" y="100"/&&/Size&?
&Anchors&?
&Anchor point="TOPLEFT"/&?
&/Anchors&?
&/Frame&这个例子创建了一个长*宽为100*100 的框架,并且该框架的顶部和左部依赖于父框架的顶部和左部。(更多的关于坐标系的知识请参考笛卡儿坐标系表示)。代码:&Frame&?
&Size&&RelDimension x="0.5" y="0.5"/& &/Size&?
&Anchors&?
&Anchor point="LEFT"/&?
&/Anchors&?
&/Frame&这个例子中的框架将覆盖掉你用户界面的一半区域。代码:&Frame&?
&Size&&AbsDimension x="100" y="100"/&&/Size&?
&Anchors&?
&Anchor point="TOPLEFT" relativePoint="TOPRIGHT"/&?
&/Anchors&12?
&/Frame&这个例子中创建了一个100*100 大小尺寸的框架,并且它的顶部和左部依赖你父框架的顶部和右部。代码:&Frame&?
&Size&&AbsDimension x="100" y="100"/&&/Size&?
&Anchors&?
&Anchor point="TOPLEFT" relativeTo="SomeOtherFrame"&?
&Offset&&AbsDimension x="10" y="-10"/&&/Offset&?
&/Anchor&?
&/Anchors&?
&/Frame&这里例子创建了一个指定长度*宽度为100*100 的框架,并且该框架的顶部和左部依赖于SomeOtherFrame 框架的顶部和左部,并且向右偏移10 个象素,向下偏移10个象素。(PS:Y 坐标从下往上增长,所以-Y 意味着向下移动)。代码:&Frame&?
&Anchors&?
&Anchor point="TOPLEFT" relativeTo="SomeOtherFrame"&?
&Offset&&AbsDimension x="5" y="-5"/&&/Offset&?
&/Anchor&?
&Anchor point="BOTTOMRIGHT" relativeTo="SomeOtherFrame"&?
&Offset&&AbsDimension x="-5" y="5"/&&/Offset&?
&/Anchor&?
&/Anchors&?
&/Frame&这里并没有出现Size 元素,该框架的尺寸和位置完全依赖于SomeOtherFrame框架。特别的是,该框架出现在SomeOtherFrame 的内部,并且其左上角和右上角对于SomeOtherFrame 向里偏移了5 个象素。当SameOtherFrame 框架被改变大小时,该框架也被很好的调整。2) Showing/Hiding 显示和隐藏框架能通过FrameName:Hide()和FrameName:Show()函数显示和隐藏。同样可以使用ShowUIPanel(FrameName)和HideUIPanel(FrameName)达到同样的效果。133) Layers and Textures 层和纹理一共有三层: BACKGROUND 在最后, ARTWORK 在中间 , OVERLAY在最前。 如果你想确定一个部件在另一个之前,你必须指定将它放在哪个位置引用:BACKGROUND - Level 0. Place the background of your frame here.BORDER - Level 1. Place the artwork of your frame here .ARTWORK - Level 2. Place the artwork of your frame here.OVERLAY - Level 3. Place your text, objects, and buttons in this levelHIGHLIGHT - Level 4. Place your text, objects, and buttons in this levelElements in the HIGHLIGHT Layer are automatically shown or hidden when the mouse enters or leaves! For Highlighting to work you need enableMouse="true" in your &Frame& attributes.
注意:以上大写的原因表示该属性作用未知。看下面的例子:代码:&Layers&?
&Layer level="BACKGROUND"&?
&Layer level="ARTWORK"&?
&Layer level="OVERLAY"&?
&/Layers&4)Using Templates 使用模板Templates are used when you want to create a common layout for several frames. In this way you can save on the amount of code needed to recreate each frame, as the frames will automatically take on the properties, children, and attributes from whatever template it inherits. There are several rules that must be following when initially creating the template:Templates are created at the root of the file. Meaning that you cannot have a template that is a child of another elementTemplates must have their virtual attributes set to trueTemplates must have a name, and it cannot use the $parent keywordChildren of a template do not need to be named, but when doing so, you should use the $parent
14keywordAs discussed above, there is a special keyword that can be used when naming something inside the template. When you inherit a frame, any object inside the template that is inherited, which has the keyword $parent, will automatically replace the keyword with the name of the parent which inherited the template. Example:代码:&Button name="MyAddonButtonTemplate" parent="UIParent" virtual="true"& &ButtonText name="$parentText"/& &/Button& &Button name="MyAddonSpecialButton" inherits="MyAddonButtonTemplate"& &Size&&AbsDimension x="40" y="22"/&&/Size& &/Button&Is the same as doing:代码:&Button name="MyAddonSpecialButton" parent="UIParent"& &Size&&AbsDimension x="40" y="22"/&&/Size& &ButtonText name="MyAddonSpecialButtonText"/& &/Button&Be aware that any inherited attributes, properties, or children can also be overridden. Example:代码:&Button name="MyAddonButtonTemplate" parent="UIParent" movable="true" virtual="true"& &ButtonText name="$parentText"/& &/Button& &Button name="MyAddonSpecialButton" inherits="MyAddonButtonTemplate" movable="false"& &Size&&AbsDimension x="40" y="22"/&&/Size& &/Button&Is the same as doing:代码:&Button name="MyAddonSpecialButton" parent="UIParent" movable="false"& &Size&&AbsDimension x="40" y="22"/&&/Size& &ButtonText name="MyAddonSpecialButtonText"/& &/Button&Templates can inherit other templates as well. When done in this way, any $parent keywords used in the template being inherited carry over to the template that inherits it. Example:代码:&Button name="MyAddonButtonTemplate1" parent="UIParent" movable="true" virtual="true"& &ButtonText name="$parentText"/& &/Button& &Button name="MyAddonButtonTemplate2" clampedToScreen="true" inherits="MyAddonButtonTemplate1" virtual="true"& &NormalFont inherits="GameFontNormal"/& &/Button& &Button name="MyAddonSpecialButton" inherits="MyAddonButtonTemplate2"& &Size&&AbsDimension x="40" y="22"/&&/Size& &/Button&Is the same as doing:代码:&Button name="MyAddonSpecialButton" parent="UIParent" clampedToScreen="true"
15movable="true"& &Size&&AbsDimension x="40" y="22"/&&/Size& &ButtonText name="MyAddonSpecialButtonText"/& &NormalFont inherits="GameFontNormal"/& &HighlightFont inherits="GameFontHighlight"/& &/Button&5) Scripts 脚本在XML文件中为用户界面元素附着行为你必须使用Lua。有两种为用户界面元素附着Lua代码的方法:较少的代码可以直接放置在XML文件中适当的事件处理元素内。较多的代码应该放置在一个分离的后缀名为.lua 的文件中,并在XML 文件中通过Script 元素把它包含进来。要通过Script 元素包含Lua 代码你必须在XML 文件的开始处使用一个或多个&Script&元素。看下面的例子:代码:&Ui ... &?
&Script file="mycode.lua"/&?
&Frame name="MyFrame"&?
&/Ui&当XML文件被读取时,这个mycode.lua 文件也同时被读取并解释。文件中的代码对于XML文件总是可见的,并且任何在该XML后被读取的XML文件也可以读取这些代码。定义在mycode.lua中的函数能被XML文件中的用于事件处理的部分调用。6)Basic Event Handling concepts 基本事件处理概念如果你不惯于事件处理编程,那么请读本节,否则请直接越过。传统的编程方式包括代码撰写的开始及结束,程序开始运行,紧跟着程序内部的运算逻辑被执行,直到最后运行结束。事件处理编程方式有些不同。在这种场合,你创建了一些独立的代码片段,并没有明确的开始和结束。每个代码片段当一个必然的事件发生时被响应并有计划的执行。这样的事件被一个事件处理句柄调用。一个事件处理句柄能得到其代码并执行一次或多次再者一次都不执行。有些编程方式习惯将代码于一些扩展程序结合依此来响应请求并完成一些处理任务。在魔兽世界的环境下游戏核心是外部的接口代码。无论何时当一些事情发生时它请求接口代码,接口代码通过调用适当事件处理句柄来响应请求。7) Handling UI Events 处理用户界面事件要处理用户界面事件你必须在你的XML 文件中包含事件处理元素。通过使用Script 元素并在其内部使用一个或多个前缀为On 开头的事件处理元素。看下面的例子:代码:&Frame name="MyFrame"&16?
&Scripts&?
message("Hello!");?
&/OnShow&?
&/Scripts&?
&/Frame&该框架只有一个事件处理元素,当框架可见时该事件处理被执行。在OnShow元素中的内容可以是任何正确的Lua 代码。在这个例子中,只包含一条语句,该语句调用message 函数,该函数弹出一个对话框并且包含一条Hello!的消息。(message 函数被定义在BasicControls.xml 文件中,并且默认是可见的)。下面是一个完整的包含Lua代码处理事件的例子:Myframe.xml:代码:&Ui ... &?
&Script file="mymod.lua"/&?
&Frame name="MyModMainFrame"&?
&Scripts&?
MyMod_ShowMessage();?
&/OnLoad&?
&/Scripts&?
&/Ui&Myframe.lua:代码:function ShowMessage()?
message("Hello World!");?
end当MyFrame框架被加载(该过程只发生一次,那就是在游戏开始的时候,这时候所有的XML 文件将被读取),OnLoad 事件被执行。这个语句只是简单的调用了一下message 函数而已。为了让上面的例子能实际运行,你至少还应该创建一个包含myframe.xml 和myframe.lua 文件的AddOns 目录,或者包含它们到FrameXML 目录里并且在FrameXML.toc 文件中添加myframe.xml 的引用。178) Event Handler reference 事件处理程序参考下面是一个所有可用处理事件的完整列表。所有的部件都有这些事件(除了LayoutFrame,Texture 和FontString,这些都不能使用Script 元素)。但是其中的一些不能理解特殊的部件。Tip:OnEvent 这个比较特殊。引用:·OnAnimFinished·OnChar·OnClick·OnColorSelect·OnCursorChanged·OnDoubleClick·OnDragStart·OnDragStop·OnEditFocusGained·OnEditFocusLost·OnEnter·OnEnterPressed·OnEscapePressed·OnEvent·OnFocusGained·OnFocusLost·OnHide·OnHorizontalScroll·OnHyperlinkClick·OnHyperlinkEnter·OnHyperlinkLeave·OnInputLanguageChanged·OnKeyDown·OnKeyUp·OnLeave·OnLoad·OnMessageScrollChanged·OnMouseDown·OnMouseUp·OnMouseWheel·OnMovieFinished·OnMovieHideSubtitle·OnMovieShowSubtitle·OnReceiveDrag·OnScrollRangeChanged·OnShow18·OnSizeChanged·OnSpacePressed·OnTabPressed·OnTextChanged·OnTextSet·OnUpdate·OnUpdateModel·OnValueChanged·OnVerticalScroll你应该注意以上事件主要包括与用户界面有关系的事件,OnEvent 事件是个特殊的事件,它是一些事件的集合。它能调用与游戏有关的事件。10) Widget Elements 部件元素这里大多数信息来自UI.xsd,这不意味着完整,因为任何时候都可能发生变化。部件元素具有等级关系,一些元素可能派生自其他元素。这意味着派生的元素继承了它父元素的属性和属性元素。继承也同样适用于该类型部件的API 函数。Tip:这个等级不受其父子关系的影响,也同样不影响继承模板(虚拟元素)。在XML文件中,无论哪个部件元素可指定,你都应该使用派生自它的元素来作为使用 的部件。在下面的参考中,将使用一对大括号{}指示该部分可替换。UI引用:Elements: Include, Script, {}LayoutFrame引用:19Elements: Size, AnchorsAttributes: name, inherits, virtual, setAllPoints, hiddenTexture引用:Derived from:Elements: TexCoords, , GradientAttributes: file,Note: The Texture must be within aNote #2: When adding custom textures remember that the file must have power-of-two dimensions, or else you'll end up with a solid green texture. For reference: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, ... You can always cut off any excess size with TexCoords.FontString引用:Derived from:
Elements: FontHeight, Color, Shadow Attributes: font, bytes, text, spacing, outline, monochrome, nonspacewrap, justifyV, justifyH, maxLines, inherits The Fontstring element is used to display a text in the user interface. The text displayed by the Fontstring element can be changed with the LUA function &fontstringobject&:SetText() or read with the function &fontstringobject&:GetText(). outline = "NORMAL" or "THICK", m or "false", justifyV = "TOP", "MIDDLE" or "BOTTOM", justifyH = "LEFT", "RIGHT", "CENTER" inherits can be set to an existing font. If set, the current FontString will take on all of that font's settings, unless overridden in the current FontString. Note: &FontString& must be within a , Attribute "font" needs to be set for element "FontHeight" towork See
for the system default list of inheritable fonts! Code:Example代码:&FontString name="$parentFontString" font="Fonts\FRIZQT__.TTF" text="Example Text" justifyH="LEFT" justifyV="TOP"&?
&Color r="1" g="0.8" b="1" a="1"/&?
&FontHeight&?
&AbsValue val="12"/&?
&/FontHeight&?
&Anchors&?
&Anchor point="TOPLEFT" relativeTo="$parent"&?
&AbsDimension x="20" y="-20"/&?
&/Offset&20?
&/Anchor&?
&/Anchors&?
&AbsDimension x="1" y="1"/&?
&/offset&?
&color r="0" g="0" b="0"/&?
&/Shadow&?
&/FontString&Frame引用:Derived from:
Elements: , ResizeBounds, , , Layers, Frames, Scripts,
Attributes: , parent, , movable, resizable, , , id, enableMouse, enableKeyboardButton引用:Derived from:
Elements: NormalTexture, PushedTexture, DisabledTexture, HighlightTexture, , HighlightText, DisabledText, PushedTextOffset Attributes: text Notes: The various textures, once inherited or set to art of your choice, will automatically behave as expect. (highlight on mouseover, pushed while clicked, disabled when disabled) The same goes for the different texts.ExampleIncluded in代码:&Button name="$parentButtonClose" inherits="OptionsButtonTemplate" text="Close"& ?
&Anchors&?
&Anchor point="BOTTOMRIGHT"&?
&AbsDimension x="-12" y="16"/&?
&/Offset&?
&/Anchor&?
&/Anchors&?
&Scripts&?
&OnClick& autoInviteMainConfigFrame:Hide(); &/OnClick&?
&/Scripts&?
&/Button&21CheckButton引用:Derived from:Elements: CheckedTexture, DisabledCheckedTextureAttributes: checkedNote: For checkbuttons, setting the label of the checkbutton works differently from normal buttons. Using MyCheckButton:SetText("monkey"); will not give you a visible result. Instead, you need to address the text property of the checkbuttons invisible FontString frame. The FontString frame is named "&checkButtonName&Text", so to address it, use the following lua code: getglobal(MyCheckButton:GetName() .. "Text"):SetText("Monkey");ExampleIncluded in代码:&CheckButton name="$parentCheckButton" inherits="OptionsCheckButtonTemplate" checked="true"&?
&Anchors&?
&Anchor point="LEFT"&?
&AbsDimension x="20" y="0"&&/AbsDimension&?
&/Offset&?
&/Anchor&22?
&/Anchors&?
&/CheckButton&StatusBar引用:Derived from:
Elements: BarTexture, BarColor Attributes: , minValue, maxValue, defaultValueSlider引用:Derived from:
Elements: ThumbTexture Attributes: drawLayer, minValue, maxValue, defaultValue, valueStep, orientationEditBox引用:Derived from:Elements: FontString, HighlightColor, TextInsetsAttributes: letters, blinkSpeed, numeric, password, multiLine, historyLines, autoFocus, ignoreArrowsExample Included in代码:&EditBox name="$parentEditBox" letters="80"&?
&AbsDimension x="100" y="32"&&/AbsDimension&?
&Anchors&?
&Anchor point="LEFT"&?
&AbsDimension x="50" y="0"&&/AbsDimension&?
&/Offset&?
&/Anchor&?
&/Anchors&?
&Layer level="BACKGROUND"&?
&Texture file="Interface\ChatFrame\UI-ChatInputBorder-Left"& ?
&AbsDimension x="75" y="32"&&/AbsDimension& ?
&Anchors&?
&Anchor point="LEFT"&?
&AbsDimension x="-10" y="0"&&/AbsDimension&?
&/Offset&?
&/Anchor&?
&/Anchors&?
&TexCoords left="0" right="0.2" top="0" bottom="1.0"&&/TexCoords&?
&/Texture&?
&Texture file="Interface\ChatFrame\UI-ChatInputBorder-Right"& ?
&AbsDimension x="75" y="32"&&/AbsDimension& ?
&Anchors&?
&Anchor point="RIGHT"&?
&AbsDimension x="10" y="0"&&/AbsDimension&?
&/Offset&?
&/Anchor&?
&/Anchors&?
&TexCoords left="0.7" right="1.0" top="0" bottom="1.0"&&/TexCoords&?
&/Texture&?
&/Layers&?
&Scripts&24?
&OnLoad&&/OnLoad&?
&/Scripts&?
&FontString inherits="ChatFontNormal"&&/FontString&?
&/EditBox&ColorSelect引用:Derived from:Elements: ColorWheelTexture, ColorWheelThumbTexture, ColorValueTexture, ColorValueThumbTextureExampleIncluded in代码:&ColorSelect name="$parentColorSelect" enableMouse="true"&?
&AbsDimension x="100" y="100"&&/AbsDimension&?
&Anchors&?
&Anchor point="LEFT"&?
&AbsDimension x="50" y="0"&&/AbsDimension& ?
&/Offset&?
&/Anchor&?
&/Anchors&?
&ColorWheelTexture&&/ColorWheelTexture&25?
&/ColorSelect&Model引用:Derived from:
Elements: FogColor Attributes: file, scale, fogNear, fogFarSimpleHTML引用:Derived from:
Elements: FontString, FontStringHeader1, FontStringHeader2, FontStringHeader3 Attributes: filesMessageFrame引用:Derived from:
Elements: FontString, TextInsets Attributes: fadeDuration, insertModeScrollingMessageFrame引用:Derived from:
Elements: FontString, TextInsets Attributes: fade, fadeDuration, displayDuration, maxLinesScrollFrame引用:Derived from:
Elements: ScrollChildMovieFrame引用:Derived from:26GameTooltip引用:For a Lua pseudo code representation of the tooltip widget's methods, see
Derived from:
Elements: ? Attributes: ?TaxiRouteFrame引用:Derived from:
Elements: ? Attributes: ?LootButton引用:Derived from:
Elements: ? Attributes: ?TabardModel引用:Derived from:
Elements: ? Attributes: ?PlayerModel引用:Derived from:
Elements: ? Attributes: ?Minimap引用:Derived from:
Elements: ? Attributes: ?WorldFrame引用:Derived from:Elements: ?Attributes: ?魔兽世界插件三部曲之三 ---- LUA参考文献:http://www.niubb.netLua
@Wowwiki (魔兽世界维基百科) 摘要:"LUA程序设计语言是一个简洁、轻量、可扩展的脚本语言。LUA读作/'lua/(噜啊),是葡萄牙语中"Luna"(月亮)的意思。LUA的目标是成为一个很容易嵌入其它语言中使用的语言。大多数程序员也认为它的确做到了这一点。27很多应用程序使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括仙境傳說、魔兽世界、战锤40k、博德之门、轩辕剑外传汉之云等。Lua是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程式裡。和许多"大而全"的语言不一样,网路通讯、图形界面等都没有预设提供。但是Lua可以很容易地被扩展:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。事实上,现在已经有很多成熟的扩展模块可供选用。特性:Lua是一种多重编程范式的程式设计语言:它只提供了很小的一个特性集合来满足不同编輯范式的需要,而不是为某种特定的编輯范式提供繁杂的特性支援。例如,Lua并不提供继承这个特性,但是你可以用元表来模拟它。诸如名字空间、类这些概念都没有在语言基本特性中实现,但是我们可以轻易的用表结构(Lua唯一提供的复杂数据结构)轻易模拟。Lua可以在运行时随时构造出一个函数,并把它看作一个对象(正是所谓的first class function),这个特性可以很好的满足函数式编程的需要。这是提供了这些基本的元特性,我们可以任意的对语言进行自需的改造。Lua原生支援的数据类型非常之少,它只提供了 数字(缺省是双精度浮点数,可配置)、布尔量、字符串、表、子程序、协程(coroutine)以及用户自定义数据这几种。但是其处理表和字符串的效率非常之高,加上元表的支援,我们可以高效的模拟出需要的复杂数据类型(比如集合、数组等)。Lua是一个动态弱类型语言,支援增量式垃圾收集策略。有内建的,与操作系统无关的协作式多线程(coroutine)支援。28欢迎您转载分享:
更多精彩:

参考资料

 

随机推荐