想学习制作魔兽世界登陆界面自己的操作界面。QQ5631170

您现在的位置:&>>&&>>&
Tukui是一款国外下载量最高的漂亮的界面美化整合插件,由此衍生出很多类似的整合插件。TukUI内置2款模式:治疗模式和DPS/坦克模式,第一使用时,请选择一款适合自己的模式。
山寨技术!CombatAlert战斗提示加强修改版
魔兽世界NugComboBar漂亮个性的连击点显示
魔兽世界:多种族鼠标指针模型修改
Buff美化计时插件ElkBuffBars,能按照你的Buff或者Debuff分类显示,并能冷却计时,点击小地图上图标进行设置,效果见图。
BlizzMove是一款界面移动插件,用鼠标点击各个框体的标题栏即可移动。该插件不会保存一些小框体的移动后的位置,如:人物属性,任务日志等。但是可以保存全屏性质的窗口移动后的位置,如:成就框体等。
kgPanels也就是我们简称的KGP,eePanels的升级版,是一个基于ACE3平台下的界面美化插件 具体用途是在wow创建和编辑自定义面板来美化和补充整合界面的布局构成。
DragEmAll游戏框体移动插件,可以在游戏内自由移动人物属性窗体、天赋窗体、成就框体等等框体到任意位置。本插件不可以保存移动后的位置。
Skinner功能强大的界面换肤插件,能做出非常漂亮的透明效果,右键点击小地图图标进行设置。
DuffedUI是一款强大的界面美化整合插件,详细效果见图。DuffedUI是基于TukUI插件的修改版,加入了法术提醒、施法条美化、姓名板美化、法术计时等功能。
KuiNameplates小巧的姓名板美化插件,对系统默认姓名板进行美化和增强,显示目标名字、目标等级和目标生命值百分比。
KuiNameplates小巧的姓名板美化插件,对系统默认姓名板进行美化和增强,显示目标名字、目标等级和目标生命值百分比。
ElvUI是一款轻量级的漂亮的整合插件,所有插件功能在界面选项的插件中进行配置。
DuffedUI是一款强大的界面美化整合插件,详细效果见图。DuffedUI是基于TukUI插件的修改版,加入了法术提醒、施法条美化、姓名板美化、法术计时等功能。
漂亮的弧形血条ArcHUD3将自己及目标生命、法力值,用弧形显示在屏幕中间,右键点击小地图的图标进行设置;
鼠标施法条显示插件CursorCastbar,在你的鼠标指针旁显示一个施法条,显示你当前法术的施法时间,施法条,和公共冷却时间计时条。
Viewport是一款对游戏界面的美化插件,内置多款材质皮肤供你选择。此外,还有多达11套的额外材质包供你下载。通过和其他如:头像插件、动作条插件、小地图插件等整合后,可以做出漂亮的游戏界面。
CleanIcons本来是一款游戏内法术图标的美化插件,装上后,同时可以取到反和谐的功能,我的盒子又回来了。
Leatrix_Tooltip简约小巧鼠标提示插件,对系统自带的鼠标提示进行增强和美化。在界面选项的插件里进行设置。
wMarker漂亮的团队标记插件
NugComboBar漂亮个性的全职业连击点显示插件,并能自定义每个连击点不同的显示颜色,插件设置命令:"/ncb"。
TidyPlates姓名板美化增强插件,可选的多款姓名板皮肤下载,强大醒目的3个等级的仇恨发光,特别适用于坦克群拉。注:姓名板是你按V后怪物头上出现的血量和施法条。
RothUI暗黑3风格美化插件包,暗黑3风格的魔法、生命、小地图等界面元素的美化显示。
HideBlizzard隐藏暴雪界面元素插件,通过简单的点击,可以隐藏暴雪游戏内置的各类元素,在聊天框中输入:“/hb”进行设置。
Skinner功能强大的界面换肤插件,能做出非常漂亮的透明效果,右键点击小地图图标进行设置。
zTip 炽火鼠标提示插件,插件配置命令: /ztip。不要和整合插件的鼠标提示混合使用,否则NPC的城市阵营会消失,以及各种未知问题。
漂亮的弧形战斗显示插件IceHud,在屏幕中间显示弧形的头像状态,显示自身以及目标的血量,法力,能量,怒气,连击点,状态,仇恨值等,职业是德鲁伊在变身形态下还能监视自身的法力值,如下图所示。插件命令:"/icehud"。第一次使用请在设置界面的"Positioning settings"设置"Scale"值为"1"以上以获得更好的视觉效果。
漂亮的弧形血条ArcHUD3将自己及目标生命、法力值,用弧形显示在屏幕中间,右键点击小地图的图标进行设置;
Aloft姓名板增强插件,当你在游戏里按下"V"时,你周围的目标都会显示姓名板,方便你快速查看血量,施法条以及快速选取等功能。而Aloft姓名板增强插件就是增强此姓名板。能在默认的姓名板上扩展支持备注文字、公会名字、战斗信息名字、仇恨值信息、生命条、法力条、施法条等等功能。
SharedMedia插件界面材质插件,增加了更多的材质和外观到支持LibSharedMedia库的插件。以X-perl为例,演示图使用了SharedMedia额外增加的Steel材质。
Aloft姓名板增强插件,当你在游戏里按下"V"时,你周围的目标都会显示姓名板,方便你快速查看血量,施法条以及快速选取等功能。而Aloft姓名板增强插件就是增强此姓名板。能在默认的姓名板上扩展支持备注文字、公会名字、战斗信息名字、仇恨值信息、生命条、法力条、施法条等等功能。
shNameplates姓名板美化增强插件,美化游戏默认的姓名板,在姓名板上显示血量、等级、威胁值发光、血量百分比等信息。
Butsu物品拾取界面美化插件和Xloot一样,它可以替换系统原有的拾取页面,但是Butsu更小,更省。可以按住ALT键来拖动框体显示的位置。
Aurora界面透明材质插件,美化暴雪默认界面,详细效果见图。
Altoholic玩家游戏信息统计插件,在一个界面内显示玩家所有的游戏信息,如:专业技能、金钱、背包银行、公会银行、公会成员、邮件、拍卖行物品、成就等信息。并可以分类搜索所有在背包银行和公会银行的物品。详情见图。左键点击小地图图标查看。
PlateBuffs姓名板上Buff和Debuff显示插件,可以在玩家、目标、NPC的姓名板上方显示该单位所有的Buff和debuff,并能放大玩家施放的buff或debuff图标。
ClassColors职业颜色修改插件,修改游戏中任何地方出现的默认的职业颜色到你喜欢的颜色,如演示图。在界面选项的插件里进行修改颜色。
让显卡松口气,复古登陆界面再现,内附下载
漂亮的弧形战斗显示插件IceHud,在屏幕中间显示弧形的头像状态,显示自身以及目标的血量,法力,能量,怒气,连击点,状态,仇恨值等,职业是德鲁伊在变身形态下还能监视自身的法力值,如下图所示。插件命令:"/icehud"。
kgPanels也就是我们简称的KGP,eePanels的升级版,是一个基于ACE3平台下的界面美化插件 具体用途是在wow创建和编辑自定义面板来美化和补充整合界面的布局构成。
漂亮的弧形战斗显示插件IceHud,在屏幕中间显示弧形的头像状态,显示自身以及目标的血量,法力,能量,怒气,连击点,状态,仇恨值等,职业是德鲁伊在变身形态下还能监视自身的法力值,如下图所示。
强大的好友管理插件AuldLangSyne能帮助你注释好友,黑名单的后缀,方便的查看所有好友当前的方位,状态,等级,注释,并能查看公会人员的等级,官员注释,区域,等级等信息。鼠标移到小地图图标进行查看,邮件点击小地图图片进行设置。
Skinner功能强大的界面换肤插件,能做出非常漂亮的透明效果,右键点击小地图图标进行设置。
共 253 篇文章&&首页 | 上一页 | 1
| &44篇文章/页&&转到第页
         
TGBUS Corporation, All Rights Reserved您所在的位置: &
LUA学习笔记:魔兽世界自定义界面插件
LUA学习笔记:魔兽世界自定义界面插件
bilzzard论坛
LUA学习笔记中魔兽世界自定义界面插件 是本文要介绍的内容,主要是来了解操作系统的库文件没有包含在魔兽世界UI的PATH路径之中,具体内容看本文详解。
LUA学习笔记中魔兽世界自定义界面插件 是本文要介绍的内容,主要是来了解操作系统的库文件没有包含在魔兽世界UI的PATH路径之中,本文是对魔兽世界自定义界面插件的介绍,内容主要是如何进行自定义的UI插件(Custom UI)进行定义:
用户界面(UI - User Interface)向导
近来有许多玩家蜂拥而入了WOW团体,他们中有许多,就像我一样,有着一些编程经验并且希望试着创建UI插件。由于有着众多编程语言和接口,不少人可能会走些弯路,我希望以下内容能够减少以上这些情况(至少减少为寻找那些函数的资料而头痛的烦恼):
(译注:其实并不难,其内容只涉及到一些脚本语言和XML文档的知识,就算你没有写过程序,也能胜任。)
1、准备开始
(1)可以选用的工具
第一步必须明白将要做些什么,但是为了能够正确的开始,我们必须选择一些编写脚本的工具。我想首先重要的一点是编辑器(用专业术语来说就是IDE-integrated development evironment), 这可能有许多种选择。由于我们编写脚本的语言是LUA(译注:一种脚本语言,参见:www.lua.org),我们需要的编辑器应当是针对这种语言的,以下十供选择的列表:
blua.sourceforge.net/ (译注:sourceforge.net是一个著名的开源项目网站)
B:Lua这是首当其充的脚本编辑工具之一,它提供了强大的IDE所提供的功能,足够用来编辑WOW的UI。而且它是用Java语言编写的,不论在何种操作系统中尼都能运行它。
.br/luaeclipse/ (译注:一个运用于Eclipse IDE下的插件,建议使用过Java语言的专业人士使用。)
Lua Eclipse ? 这是另外一个Java环境的IDE,我没有用过这个IDE(译注:本文中的我不代表译者),它基于Eclipse 平台(译注:请参见www.eclipse.org),它是一个有着多种功能的插件,我确信这是一个很好的工具。
EditPlus ? 这是替代记事本程序的有效工具,这也是我编辑LUA的工具。它有着多种你所需的功能,而且它有着LUA语言的Schema(译注:Schema可以理解为一种模板,它规定者文件如何定义等内容)。但是它有着30天的评估期,你得注册拥有它。
这只是3种建议,我认为一旦掌握了B:Lua后,你就能够更好地使用其它工具了。
(2)目标:WOW文件
你拥有了编辑器后,一切只是刚刚开始,我们需要一些工具来编辑WOW。首选的工具是WinMPQ,下载地址:/dwnload.html#WinMPQ
你需要运行库(VB4运行库)来运行它(译注:一般windows都***了),有了它你就可以打开游戏目录中的MPQ文件或者MoPaO 文件。MPQ是暴雪公司存储游戏资料的文件格式,如果你有兴趣研究的话,请参阅:www.campaigncreations.org/starcraft/inside_mopaq/index.htm
有了WinMPQ,你就可以解开文件内容,并且打包到游戏***目录。
了WinMPQ,你就可以解开文件内容,并且打包到游戏***目录,里面就是你所需的所有内容。Interface.mpq文件里面有基本的界面数据,并且有着大量柯作为例子的文件。Patch.mpq文件里有着所有的补丁内容,在游戏运行时将覆盖所有基础的文件。
打开WinMpq,我们将所有基础界面文件作为例子来使用。下面还将示范如何保证数据与最新的补丁保持一致。使用&Open&选项打开interface.mpq文件(该文件在游戏***目录下),找到一个叫FrameXML的文件夹(还有一个叫glueXML的文件夹,不去管它),选中目录下所有文件并且解压到游戏***以外的目录下。
同样,打开Patch.mpq,其中不仅仅有界面文件,还有许多更新文件。打开Interface\FrameXML目录,将其中的内容解压到刚才interface.mpq文件的解压目录中,并覆盖已有的文件。这样我们就有了一份最新的游戏界面FrameXML目录数据作为参考。(你也可以用WinMPQ 解压其他的文件,例如音乐文件等)。
2、有了目标之后
一切准备就绪,让我们开始制作第一个插件吧!
首先你的知道具体文件的安排,哪个文件是做什么的。让我们看以下魔兽世界的***吧。其中有许多目录,我们将要操作的目录是Interface目录(若不存在请创建)。在该目录下有3个主要的目录:
FrameXML: 有所有暴雪提供的界面,你将打交道的文件都在这。
GlueXML: 包含&游戏之外&的界面,例如登入界面,服务器选择,角色创建等。你不太需要关心这些文件。
AddOns: 所有游戏角色的模型。
在AddOns目录下每个角色都有其所有的目录并且有一个内容表。
(1)初始化
我们要开始创建&Hello world&啦!(译注:&Hello world&常指第一个程序),创建1个叫hello_world的目录在AddOns下,即Warcraft/Interface/AddOns/hello_world。在目录中建立1个叫hello_world.toc的文件,这就是内容表了,它定义了WOW该如何装载插件内容。例如以下就是文件内容:
Interface:&4114& &Title:&Hello&World& &Notes:&The&obligatory&hello&world&script&?&WoW-style!& &OptionalDeps:& &Dependencies:& &hello_world.xml&&
作一下解释,第一行表示新的代码段的开始。事实上每次暴雪更新补丁后,当前的版本号都会更新。如果你的脚本没有最新的版本号,那么这段脚本将&不会&装载入游戏。这就是为什么版本更新导致插件无法使用的原因。
你可以通过打开Interface\FrameXML\FrameXML.toc文件来知道当前的版本号。接下来两行的Title和Nodes就不必解释了吧(译注:分别为标题和注解,可选)。在下一行,OptionalDeps中你可以列出所有你的插件的名称(你可以列出其他插件,用空格分隔)。Dependencies也是同样的,但它不是可选的,我不太确定如果没有这一行你的插件是否会装载。最好所有的都写,不管它是不是可选的,这样所有人都能更好阅读你的代码。
在开始的声明之后,你将写入一些XML文件的名称(次序未定),一行写一个文件的名称。你也可以将XML文件写在子目录中,例如&core/hello_world.xml&,这样能使文件夹里看起来更简洁。
哦。有些复杂了是么?其他不用管先看
(2)加入内容
下面将是最有意思的部分,让我们从简单的开始。在目录中创建hello_world.xml文件(该文件名应写在了FrameXML.toc中),内容如下(译注:XML文件格式请寻找有关文档):
&xmlns=&/wow/ui/&&xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&&
xsi:schemaLocation=&/wow/ui/&& &&file=&hello_world.lua&& && &&name=&hello_world_core&& && && &this:RegisterEvent(&VARIABLES_LOADED&);& && && &if&(event&==&&VARIABLES_LOADED&)&then& &hello_world_initialize();& &end& && && && &&&
(请看wow.nevir.net/tutorial/hello_world/hello_world.xml)
哦。有些复杂了是么?其他不用管先看&script file=&hello_world.lua&/&这一行,它告诉游戏 hello_world.lua 是脚本文件,也就是插件运行的脚本所在。每个界面都用&Frame&的标签(Tag)扩起来。这里我们使用了一个Frame标签来简单地把所有事件脚本包进来,你也可以将所有的界面上的按钮,窗口等定义在Frame标签里面。在&Frame&标签里,可以定义其一个叫name的属性(如:&Frame name=&hello_world_core&&)
注意里面的值必须在整个文件里是唯一的。建议你用你的插件模块名称作为前缀开始,后接下划线,再接上Frame真正意义的名称。在上面的例子里,我们把它叫做core,因而组成了上述名字。
在&Frame&标签里有个&script&标签,其中是真正脚本的内容。在这里有许多事件(译注:即魔兽世界游戏程序在某阶段将做的某个动作),其中 &onLoad& 和&OnEvent&是最常用的2个。
其中&onLoad&是当你选择了角色进入游戏时而角色Laoding画面开始之前的将响应的事件(换句话说,你的插件在登入画面时是不会被装载的)。在我们的代码中,我们注册了this给了一个叫&VARIABLES_LOADED&的事件(译注:看不懂代码的朋友还是先看看一些脚本语言的介绍书籍),this代表了当前的Frame,即这个名字叫hello_world_core的Frame,this就是指向该Frame的对象/变量(指向该Frame对象的实例),这里的&:&相当于引用方法的表达符(像其他某些脚本语言中的&.& 号),而RegisterEvent函数的作用是告诉游戏程序在VARIABLES_LOADED事件发生时(VARIABLES_LOADED是游戏内定义的事件)通知你定义的Frame。说到这里又得说说&OnEvent&这个标签了,在其中有一个默认的变量event,它的值就是当前游戏里产生的事件的名称(就好比上面的VARIABLES_LOADED)。
(译注: 真的是要了解编程的了哦。 这里处理事件就类似Win32处理事件的代码模式,可以用if(event=事件名称){操作代码}else if(event=事件名称2){操作代码}&..或者 switch case的方式来完成。)
现在,暴雪提供了存储变量的方法,你可以用RegisterForSave(&variable_name&)的方法来定义一个变量在游戏过程中。
在我们的例子中,当VARIABLES_LOADED发生后,将调用hello_world_initialize()函数来处理。对啦,这个hello_world_initialize()函数还没定义呢,下面就介绍如何定义函数。
(3)补完 (译注:写代码的部分,会写脚本的人一定看得懂,不会写的需要学习:&)
好了,现在是真正要写代码的时候了。创建1个叫作hello_world.lua的文件。内容如下:
function&hello_world_initialize()& &&--&add&our&very&first&chat&command!& &&SlashCmdList[&HELLOW&]&=&hello_world_& &&SLASH_HELLOW1&=&&/hellow&;& &&SLASH_HELLOW2&=&&/hw&;& &end &function&hello_world_command(msg)& & & --&this&function&handles&our&chat&command& &message(msg);& &end&&
这里我不想对语法做出解释,如果不懂请看LUA的文档,那里会详细地介绍。参见:www.lua.org/manual/5.0/
注意这里系统的I/O 库文件,操作系统的库文件没有包含在魔兽世界UI的PATH路径之中。至于暴雪定义的函数(内置的)和事件,你可以在Cosmos网站上找到,参阅:www.cosmosui.org/texts/BlizzardCommands.xml
回到代码,在我们的函数中,我们定义了1个聊天用的命令。似乎我们的代码看起来挺怪的,是的,我们是直接修改了SlashCmdList这个表,其作用是当我们输入宏&/hellow 消息& 或者&/hw 消息&是会调用hello_world_command()函数,(至于游戏内部如何这种关系做映射不在本文讨论范围内)然后玩家看到打出&消息&的聊天信息的窗口(译注:事实上是msg()函数创建的窗口)。可以看到&消息&作为参数传递给了hello_world_command()函数。
以上所有做的就是一个简单的插件,它加入了两条命令(宏)。如果你想测试它,进入游戏,输入/console reloadui(重新加载UI),在登入游戏后的聊天框中输入&/hellow Why hello there!&,你会看到游戏中弹出一个消息框,消息是&Why hello there!&。
这就是我们基本的例子,以后我可能抽空给出一些其它的例子。
如果你已经完成了以上这个例子,我真是要为你鼓掌了呀!(那花了你不少时间来阅读吧。)
如果你感兴趣的话,以下还有不少资料:LUA (www.lua.org/manual/5.0/),暴雪定义的函数(www.cosmosui.org/texts/BlizzardCommands.xml)。另外,试着看看Interface/FrameXML/BasicControls.xml文件,里面有不少操控语句;还有Font.xml文件,你可以定义自己的字体,颜色等。
小结:LUA学习笔记:魔兽世界自定义界面插件的内容介绍完了,希望通过本文的学习能对你有所帮助!【编辑推荐】【责任编辑: TEL:(010)】
关于&&&&&&的更多文章
据媒体报道,微软公司昨天宣布,公司将采用新的企业Logo.这是微
北京时间日,苹果在加利福尼亚召开新品发
免费下载+应用内购买(In-App Purchase)已成为移动应用
现在天气渐凉,秋意越来越浓厚了,上周,公司全体组织
Java学习笔记在JavaWorld技术论坛(.tw/)和作者的网站(http://caterpillar.onlyfun.net/Gossip/)提
Windows Phone专家
Android开发专家
51CTO旗下网站LUA学习笔记:魔兽世界自定义界面插件_魔兽世界界面插件-牛宝宝文章网
LUA学习笔记:魔兽世界自定义界面插件 魔兽世界界面插件
LUA学习笔记中魔兽世界自定义界面插件 是本文要介绍的内容,主要是来了解操作系统的库文件没有包含在魔兽世界UI的PATH路径之中,本文是对魔兽世界自定义界面插件的介绍,内容主要是如何进行自定义的UI插件(Custom UI)进行定义:用户界面(UI - User Interface)向导近来有许多玩家蜂拥而入了WOW团体,他们中有许多,就像我一样,有着一些编程经验并且希望试着创建UI插件。由于有着众多编程语言和接口,不少人可能会走些弯路,我希望以下内容能够减少以上这些情况(至少减少为寻找那些函数的资料而头痛的烦恼):(译注:其实并不难,其内容只涉及到一些脚本语言和XML文档的知识,就算你没有写过程序,也能胜任。)1、准备开始(1)可以选用的工具第一步必须明白将要做些什么,但是为了能够正确的开始,我们必须选择一些编写脚本的工具。我想首先重要的一点是编辑器(用专业术语来说就是IDE-integrated development evironment), 这可能有许多种选择。由于我们编写脚本的语言是LUA(译注:一种脚本语言,参见:www.lua.org),我们需要的编辑器应当是针对这种语言的,以下十供选择的列表:blua.sourceforge.net/ (译注:sourceforge.net是一个著名的开源项目网站)B:Lua这是首当其充的脚本编辑工具之一,它提供了强大的IDE所提供的功能,足够用来编辑WOW的UI。而且它是用Java语言编写的,不论在何种操作系统中尼都能运行它。.br/luaeclipse/ (译注:一个运用于Eclipse IDE下的插件,建议使用过Java语言的专业人士使用。)Lua Eclipse ? 这是另外一个Java环境的IDE,我没有用过这个IDE(译注:本文中的我不代表译者),它基于Eclipse 平台(译注:请参见www.eclipse.org),它是一个有着多种功能的插件,我确信这是一个很好的工具。 更多精彩:

参考资料

 

随机推荐