WOW UI定制基本资料初学者指南- 被一个疯狂迷恋魔兽的兄弟逼死了,不得以,沦落的作些小脚本,失败呀

http://wowbbs.game.mop.com/index.php

WOW UI定制基本资料初学者指南

副标题:

作者:王动 文章来源:16T论坛 点击数:183 更新时间:2005-5-17

 

 

    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 [name] - Assist your target or the named
    unit if specified
    /cast name - Cast the named spell, which may
    include the rank in parenthesis
    /afk [message] - Toggle yourself as "away from
    keyboard"
    /dnd [message] - Toggle yourself as "do not
    disturb"
    /duel [name] - 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 -> [slouken] 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 [name] - 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
    /beg
    /bite
    /bleed
    /blink
    /blush
    /boggle
    /bonk
    /bored
    /bounce
    /bow
    /brb
    /burp
    /bye
    /cackle
    /calm
    /cheer
    /chicken
    /chuckle
    /clap
    /cold
    /comfort
    /commend
    /confused
    /congratulate
    /cough
    /cower
    /crack
    /cringe
    /cry
    /cuddle
    /curious
    /curtsey
    /dance
    /drink
    /drool
    /duck
    /eat
    /eye
    /fart
    /fidget
    /flex
    /flop
    /frown
    /gasp
    /gaze
    /giggle
    /glare
    /gloat
    /greet
    /grin
    /groan
    /grovel
    /growl
    /guffaw
    /hail
    /happy
    /hello
    /hug
    /hungry
    /insult
    /introduce
    /jk
    /kiss
    /kneel
    /laugh
    /laydown
    /lick
    /listen
    /lost
    /love
    /massage
    /moan
    /mock
    /moo
    /moon
    /mourn
    /no
    /nod
    /nosepick
    /panic
    /peer
    /pity
    /plead
    /point
    /poke
    /ponder
    /pounce
    /praise
    /pray
    /purr
    /puzzle
    /raise
    /rasp
    /ready
    /roar
    /rofl
    /rude
    /salute
    /scared
    /scratch
    /sexy
    /shake
    /shimmy
    /shiver
    /shoo
    /shout
    /shrug
    /shy
    /sigh
    /sit
    /slap
    /sleep
    /smile
    /smirk
    /snarl
    /snicker
    /sniff
    /snub
    /soothe
    /spit
    /stand
    /stare
    /stink
    /surprised
    /surrender
    /talk
    /talkex
    /talkq
    /tap
    /taunt
    /tease
    /thank
    /thirsty
    /threaten
    /tickle
    /tired
    /train
    /unused
    /veto
    /victory
    /violin
    /wave
    /welcome
    /whine
    /whistle
    /work
    /yawn

    还有两个:
    /console 执行控制台命令
    /script 执行LUA脚本语言命令

 

你可能感兴趣的:(初学者)