转贴来自原天外天旧公会网站:
WOW用两种不同的文件来制作用户介面:LUA与XLM。LUA文件中包括了真正的代码,用户介面的逻辑。XML文件用以定义用户介面的元素,如,按钮、视窗、文本串等等,并定义了要载入哪些LUA文件。
Bilzzard的文件保存在 Interface\FrameXML 下,用户定义的 元件 放在:Interface\AddOns\AddOnName目录下。
除非你确实搞得定,轻易不要去更改GlueXML文件,有可能会破坏WOW的UI系统。
1.Slash Commands/命令
2.Macros/巨集
3.Scripts/脚本
4.User Interface Mods and AddOns用户介面 MOD与AddOn插件
5 Cosmos, Gypsy, CT_Mod 等常用的插件
6 独立与绿色的插件
/命令
WOW像其他网游一样,用大家熟悉的“/命令”的格式,如选定目标后,在对话方块中输入“/follow”,就会跟随目标,"/help"是求助。WOW中文版支援中文与英文两种命令的格式。与我们定制开发有关的命令列表我会发在跟贴中。
命令有好几种,有些用于做指定的动作,如/follow, /assist, /cast,有些用于交流,如/yell, /chatlist,有些用于显示资讯,如:/who,有些用于表达表情(/laugh, /bow)。
有一个特殊的命令:"/script",用于执行脚本程式,我们在下文中细解。
Macros 巨集
巨集用于建立一些简单的定制动作或任务,宏利用现成的游戏中的动作。一个巨集是一系列 /命令 组成,按顺序执行。要建立一个巨集,可以用命令:/macro来建立一个巨集,可以给巨集指定一个名称,一个图示。建立好的巨集也可以通过快捷按钮栏调用。
巨集:
cast Fireball(Rank 1)
/yell "放火烤它!"
这个巨集放一个火球,然后大叫一声:)
巨集有一些局限,它只能用于执行非常简单的任务。最主要的一个局限是你不能用巨集来施展多个魔法。这些限制了你不能用巨集做很多自动化的事。就像其他一些命令不能超过256个字元,很不爽的!
脚本Scripts
我们知道,许多软体中都支援脚M$ Office、Internet Exploler等。脚本通常是一些小程式,用一些非常简单的语言来写(脚本语言)。脚本用来做一些自动化的事,也有用脚本语言来控制其他程式。
魔兽世界内置了一个强大的编程语言:LUA语言。WOW可以执行用LUA写的小程式。但WOW不是一个程式开发环境,不是我们简单地输入程式然后执行它。WOW在不同的地方调用脚本:
- /script 命令:用/script命令可以直接运行LUA语言,在/script后输入LUA语句,每个语句之间用分号;分开。
- 巨集:脚本可以作巨集的一部分,在巨集中可以嵌入多个/script命令。
- 用户介面定制与插件:WOW的用户介面定制与插件都用了LUA脚本语言(还用XML)
脚本能做什呢?我会用专门的贴子给大家介绍LUA这个强大的脚本语言。LUA脚本强的一点是它能够比“/命令”执行更多的游戏动作。脚本语言可以WOW脚本语言提供的大量函数(API应用编程介面)。(API清单我在整理中)
让我们看一看这个简单的脚本:
if (IsPartyLeader()) then
CastSpellByName("Fireball(Rank 1)");
end
这个脚本在执行时,先判定你是否是队长,是的话,则放一个火球术。这个脚本也可以用"/script"来执行:
/script if (IsPartyLeader()) then CastSpellByName("Fireball(Rank 1)"); end
你可以直接在对话栏中输入这个命令,当然,你也可以将它写在一个巨集中。
总结一下:脚本是WOW中用LUA语言写的一段小程式,能够与游戏交互执行游戏动作。你可将脚本用于游戏的不同部分,如巨集中、“/script”命令中,以及用户介面定制与插件中。
用户介面修改Mod与插件AddOn
在开发WOW时,暴雪有一个重要的决定,就是,其用户介面完全可以定制、修改与扩展。用户介面修改UI Mod与插件AddOn实际上是同一个东东,它们的不同之处只在于名字,通常来说,Mod指的是一些对已有用户介面的功能作一些修改的小东西,而AddOn是扩展的一些功能。了简化,在以后我们统称两者“插件”,或者它的英文名AddOn。
AddOn是用LUR脚本语言编写的,并用了XML技术。插件不仅仅能在萤幕中加一些有趣的按钮与视窗,还可以做许多功能强大的事情,我们在以后将详细给大家讲解如何开发插件。
从用户的角度来看,你只要知道插件是一些文本文集件,以".xml" 或".lua"副档名结尾。
这些文件应该放在WOW的Interface或者它的子目录下。通常情况下,AddOn以ZIP压缩文件方式发布,而你只需以解压缩方式安装到WOW的目录下。(当你在你的机器上没有看到Interface目录,不用担心,WOW这个目录在缺省情况下是没有的,你想使用插件时,你建一个就成了。
注意:当你下载一个插件,而它是EXE文件时,千万要小心。因EXE是可执行文件,它可以在你的机器上干任何的事,一个EXE文件中可能含了病毒与木马。WOW的插件应该写成XML或LUA文件,所有人都可以检查这些文件,并且没法加入恶意的程式,因AddOn仅能做一些WoW中的操作,它无法执行其他程式,破坏你的电脑。
说到这里,实际上有不少插件的作者以可执行文件EXE的形式发布插件。这些程式可能简单地自动解压缩文件到WOW安装目录。有些发布版能自动下载最新版本的插件,或者上载一些插件收集到的资料。
卸载:要卸载插件非常简单,只需将Interface目录整个删掉就成!
Cosmos, Gypsy, CT_Mod 等着名插件包
网上找一找WOW的插件,你会看到Cosmos、Gypsy、CT_Mod等等,这些都是一些着名的插件包,它们包了大量插件。这些插件的作者(工作组)是WOW社区中值得尊敬的玩家,他们的努力我们提供了许多非常有用的插件(虽然当中有一些插件不怎样),并且整理与汇总这些插件打成包。
大家可以放心地使用这些包,这些插件是合法的,也是暴雪认可的。但是官方不会对这些插件有任何技术支援。你可以下载试一下,选择你喜欢的插件。
注意:这些流行的插件有不少是互相冲突的,所以你可能不能将它们混在一起用。
独立,绿色的插件,
你会在网上看到一些插件标榜自已是“独立的”或者“绿色的”。通常情况下,插件会修改一些标准的核心用户介面文件(官方发布版的文件)以调整介面功能,当不同的插件做同样的修改时就会导致冲突。一个绿色的插件不修改任何已有文件,它仅仅加入自已的文件。这就保证了这些插件能互相相容,共同使用。
此外,有许多插件依赖于其他插件的功能。举例来说,Cosmos包中的大部分插件是不能单独使用的,它必需与整个包一起用。一个“独立的”插件意味着它是完整的,可以单独使遥的,不需要其他插件的。
说到这儿,从插件开发者的角度看,你会发现许多插件做的事情很类似。通过修改已有插件的功能,或者利用现成的公共的“库”可以很快地开发出新的插件。所以什有些插件库都依赖于一些公共的元件,如SEA函数库等。这些元件松成了一些核心插件,如果你下载的插件需要这些元件时,你可以去下载这些核心插件,并安装到WOW的目录下。
就象现在有许多游戏都依赖于PC上的DirectX。通过利用DirectX的功能,可以比较方便地开发游戏。因此,我们在运行游戏时需要DirectX。同样,在我们用一些插件时,也可能需要这些公共的核心插件。
可用于编写巨集的命令集合:
/assist - Assist your target or the named unit if specified
/cast name - Cast the named spell, which may include the rank in parenthesis
/afk - Toggle yourself as "away from keyboard"
/dnd - Toggle yourself as "do not disturb"
/duel - Request a duel with your target, or the named unit if specified
/yield - Surrender to your opponent in a duel
/emote message - Emote the message (e.g. /emote picks his nose -> picks his nose)
/follow - Automatically move to follow your current target
/guild message - Send the message to your guild chat
/ignore name - Toggle ignoring the named unit
/inspect - Inspect your target
/invite - Invite your target or the named unit to your group
/join name - Join (or create) the named chat channel
/leave name - Leave the named chat channel
/logout - Sit down and logout
/ffa - Set "free for all" loot policy
/master name - Set the named unit to be the master looter
/roundrobin - Set "round robin" loot policy
/party message - Send the message to your party chat
/played - Show how much time your character has been online
/pvp - Enable PvP for the next 5 minutes
/raid message - Send the message to your raid chat
/random num - Roll a random number between 1 and num
/reply message - Send the message to the last player to whisper to you
/say message - Send the message to people around you
/target name - Target the named unit
/time - Show the current game time
/trade - Initiate a trade with your target
/uninvite name - Remove the named unit from your group
/whisper name message - Whisper the message to the named unit
/who - List the players around your level in the current zone
可用于编写巨集的表情与动作命令全集
/agree
/amaze
/angry
/apologize
/applaud
/bark
/bashful
/beckon
/be ..
访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容