zoukankan      html  css  js  c++  java
  • 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脚本语言命令

     

  • 相关阅读:
    pyzabbix 接口使用
    lvs使用进阶
    lvs基础
    linux服务基础之nginx配置详解
    linux服务基础之编译安装nginx
    iptables (二) nat & tcp_wrapper
    iptables (一) 主机防火墙和网络防火墙
    rsyslog及loganalyzer
    linux基础之Mini Linux制作
    linux基础之磁盘管理与文件系统
  • 原文地址:https://www.cnblogs.com/liangqihui/p/252306.html
Copyright © 2011-2022 走看看