`
longphoenix
  • 浏览: 82754 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Lua基础入门—— 写出自己的魔兽世界插件

    博客分类:
  • Lua
阅读更多

注:本文系属Beginning Lua with World of Warcraft Addons(翻译)

简介

    附加组件 (插件)是一个令人兴奋地话题,它可以让你修改游戏来提升游戏体验。只有少数网游允许修改UI(User Interface 用户界面),例如魔兽世界(wow)你可以彻底修改UI或者添加。

    有成千上万的有效附加组件和宏命令可以再互联网上中找到,在魔兽世界里你也许正在使用很多的插件和宏命令,但是你知道它们是如何工作的吗?事实上所有的玩家都在使用的这些,但是只有很少一部分人可以自己动手编写插件或修改的现有的插件,你很快也会成为它们的一员!

    插件几乎可以修改游戏UI每个方面。有许多简单小巧的插件增强了界面。例如:你可以用几行代码在聊天框前实现时间戳的功能,你将会在第6张看到如何实现;你可以在第4张看到如何在聊天中添加链接提示。当然有成千上万行代码组成的大插件,你将会编写一个先进的功能完全的多人德州扑克游戏插件

    Lua编程语言被魔兽世界使用,它小巧、强大、易学。本章结束后你就会了解到Lua的概要。

    这些基础知识可以使你写出第三张的第一个Hello world插件。真正的乐趣在第四章才正开始,你会编写第一个真正使用的插件就如我们刚刚提到的聊天框提示.

    让我们开始吧!

CHAPTER 1

    本章将讨论几个很基本关于Lua及魔兽世界插件在我们下一张学习Lua语言之前。同时也介绍几款非常有用的工具,我们在整本书都会使用的。

Lua是什么?

    Lua 是一个编程语言是巴西里约热内卢天主教大学的Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo1993年开发。Lua在葡萄牙语里指的是“月亮”,发音为“LOO-ah”,Lua采用MIT授权条款,MIT是相对宽松的软件授权条款:只要有版权声明和许可你可以用Lua做任何事

    Lua的特点:可扩展性,简单性,效率和可移植性。非常容易的写出增加功能性的模块,也非常容易的把它当做脚本语言嵌入到游戏中。脚本语言是一种在另一个较大的应用程序的特定部分所使用的编程语言。魔兽世界(C++编写)使用Lua来开发界面。有很多游戏使用Lua来运行用户界面或脚本配置文件(“战锤Online”和"孤岛惊魂")。但是我们可以使用Lua写出整个游戏,有很多可以使用的扩展库和框架wxWidgets (wxLua), the .NET Framework (LuaInterface), 3D 引擎有基于Lua的OGRE (Lugre) 。这些扩展也称为绑定,因为它们将Lua扩展成为一个更强大、复杂的框架或库。

    Lua是简单易学,语法很简单明了。人们可以阅读和理解不知道对任何小的Lua脚本语言。所以没有编程知识的人们就可以使用Lua来配置文件。 Lua是一种动态类型语言,这意味着编程时自由和灵活。您将将会了解更多的特性第2章。尽管简单,但是Lua是一个非常强大的多范型编程语言。它提供必要的,实用和面向对象的范例来为你编写脚本提供参考。我会告诉讲解这些范例在下面的章节。您也不必考虑内存管理;的Lua提供了一个很好的增量垃圾收集器。垃圾收集器是在脚本和释放先前程序占用的内存之间交错运行的程序,增量意味着它一直运行,渐进方式工作。

    尽管这是一个功能齐全的强大的多范型语言,但是Lua运行起来非常快。Lua 5.1实用的虚拟机(编译Lua代码并执行它)是所使用的脚本语言在最快的。还有一个基于on the fly即时编译器(一种程序,将Lua飞速的转换为本地机器编码)更快。

Lua快速编译并执行成千上万行的脚本代码而且十分容易的处理大量数据。它可以编写脚本用来创建其他的由包含很多的项的庞大的表构成Lua脚本,或者创建持久性数据。 lua的编译器可以快速加载,编译这些数据文件。如果你认为你需要安装几兆的软件使得Lua可以在本地运行,再考虑下吧。Lua虚拟机仅仅有160 KB,而编译器才200KB。 (Lua 5.1.4 on Windows x86)

    Lua是纯ANSI C编写,所以它是非常轻便。它几乎可以运行在每一台你听说知道或者不知道的机器和操作系统,例如,Lua中已经成功地在乐高的Mindstorms NXT的平台上编译。.

一个好地方来获取有关Lua的其他信息网站:

WOW Addons是什么?

   魔兽世界的UI可以用Lua和UML修改   XML是一种强有力的数据描述语言,在前五章你不用考虑你是否有没基础。我们可以使用高度自定义的所谓的扩展插件来更换整个默认的UI。LUa  常被当做脚本语言使用,xml 可以用简单的方式来生成GUI元素。

   暴雪娱乐公司  WOW开发商,提供了很丰富的UI API(应用程序编程接口,一系列的函数可以上使用,通过脚本语言与与游戏通信,例如Lua)使得用户可以为游戏的每个部分编写脚本。有插件几乎包含了从元素更换和迷你游戏的聊天工具动作条像宝石迷阵

bots:  病毒介绍 Bots是一种能执行外部命令的自动运行型木马。

MOD是英文单词modification(意为修改)的缩写,它是游戏的一种修改或增强程序。

暴雪认为用户开发插件过于强大,因为他们接近机器人。像Decursive插件能够检查RAID中减益效并一键驱散他们。另一个插件让治疗职业只需使用一个键就可以选择最佳目标和释放治疗法术。治疗职业使用这些MODS只要重复地按相同的键就可以在战斗中发挥完美。另外mod甚至允许你运行某些预定义的路径,如在熔火之心跑尸。

因此,补丁2.0限制涉及“安全码”的某些行动,这是从默认的UI代码。受限制行动的目标,施法和运动相关的功能。然而,许多功能仍可能在某些情况下使用,所以还是有可能创建RAID框架mod。但它不再可能编写像刚才提到的战斗中自动化作战相关的任务插件。

默认的用户界面提供了游戏中普通用户需要的所有功能,但扩展可以提供高级的功能或不同的主题。图1-1显示了游戏默认的用户界面。一个大量修改的用户界面,用户界面截图所示的样子几乎什么都可以替换。

图二的UI全部被更改了,更改游戏默认的字体使得游戏看起来完全是另一款游戏。你会看到小地图、动作条和提示框。

玩家们可以去网站下载一个插件并安装它,但是在1150万的魔兽世界玩家中只有很少的人可以编写MODS。你读过这本书后将成为这为数不多的一员。你可能迫不及待,那么让我们看到一些书中使用的有用的工具。


分享到:
评论
3 楼 sheoopp 2013-02-19  
你翻译的太好了。。我还以为是你自己写的呢。。后、来找了原著看去了嘿嘿~
2 楼 Java饕餮 2011-07-05  
LZ这都7月了还没整理出来吗?
1 楼 longphoenix 2011-02-26  
回校开始要忙这座毕业设计了  游戏也被删了  翻译和代码测试延期了  争取在7月前将翻译的东东放出来  

相关推荐

    魔兽世界lua插件开发教程

    通过阅读本书籍,读者可以快速掌握lua语言和魔兽世界插件开发的技能,从而开发出更加智能和功能强大的插件。 lua语言基础知识点: * 变量:lua语言中的变量可以是数字、字符串、布尔值、表等多种类型。 * 数据...

    魔兽世界插件-LUA编辑器 WOWLUA

    WowLua 是一个在魔兽世界里边运行 Lua 脚本的编辑工具环境,他功能包括: 交互式 Lua 解释器 多页脚本编辑器。 语法着色 输出重定向到 WowLua 的输出窗口 WowLua 的输出窗口 /wowlua 或 /lua 打开 WowLua。 /...

    Teleport_stone(cn)_lua_魔兽世界_超级炉石_

    在原版《魔兽世界》中,炉石是一种可以让你快速返回绑定地点的道具,但“超级炉石”在此基础上进行了扩展,允许玩家快速传送到游戏内的任何已知地点,这大大节省了玩家的移动时间,提高了游戏体验。 其次,武器等级...

    基于Lua技术的魔兽世界怀旧服鼠标提示插件设计源码

    本设计源码提供了一个基于Lua技术的魔兽世界怀旧服鼠标提示插件,包含32个文件,其中包括20个lua源文件,7个toc文件,以及1个gitignore文件。此外,还有1个LICENSE文件,1个md文档,1个xml文件和1个txt文件。该项目...

    魔兽世界插件编写普及教程

    然而,插件开发的世界远不止于此,随着对LUA和XML的深入理解,你可以进一步探索更复杂的界面设计、更智能的功能集成,甚至开发出自己的游戏辅助工具或数据分析插件,为《魔兽世界》社区带来创新与活力。记住,每一个...

    Lua 5.3.0源码——包含VS2012项目文件

    Lua 5.3.0源码,其中带VS2012的解决方案和项目文件。在压缩包中的win_build中包含了VS2012构建用的文件和目录,可以将Lua核心库编译成动态库或静态库,可以生成Lua编译器和命令行解释器。但是,Lua5.3.0的编译器luac...

    Lua 5.2.2源码——包含VS2012项目文件

    Lua 5.2.2源码,其中带VS2012的解决方案和项目文件。在压缩包中的win_build中包含了VS2012构建用的文件和目录,可以将Lua核心库编译成动态库或静态库,可以生成Lua编译器和命令行解释器。但是,Lua5.2.2的编译器luac...

    Lua 5.2.3源码——包含VS2012项目文件

    Lua 5.2.3源码,其中带VS2012的解决方案和项目文件。在压缩包中的win_build中包含了VS2012构建用的文件和目录,可以将Lua核心库编译成动态库或静态库,可以生成Lua编译器和命令行解释器。但是,Lua5.2.3的编译器luac...

    Lua 5.2.1源码——包含VS2005项目文件

    Lua 5.2.1源码,其中带VS2005的解决方案和项目文件(更新版本的VS也能兼容)。在压缩包中的WinBuild中包含了VS2005构建用的文件和目录,可以将Lua核心库编译成动态库或静态库,可以生成Lua编译器和命令行解释器。

    基于魔兽世界集合石的Lua插件Happy版设计源码

    该项目是一款基于魔兽世界集合石的Lua插件Happy版设计源码,包含285个文件,包括199个Lua脚本文件、40个XML配置文件、19个BLP图像文件、13个TGA图像文件、5个JPG图像文件、2个PNG图像文件、2个Markdown文件、2个TOC...

    WOW插件制作指南PDF+WOW魔兽世界的APIs教程

    本压缩包包含两部分资源:《WOW插件制作指南PDF》和《WOW魔兽世界的APIs教程》,将帮助你深入了解如何开发自己的魔兽世界插件。 《WOW插件制作指南PDF》可能涵盖了以下内容: 1. **插件基础**:介绍什么是插件,...

    脚本策划LUA基础入门基础培训

    ### 脚本策划LUA基础入门基础培训 #### 一、引言 脚本策划在游戏开发领域扮演着至关重要的角色,特别是在游戏逻辑和交互设计方面。本篇旨在为初学者提供关于脚本策划及LUA语言的基础知识,帮助他们更好地理解脚本...

    国服魔兽世界精灵最新插件

    4. **Interface文件夹**:在《魔兽世界》中,所有的插件都存储在"Interface"文件夹下,每个插件都有自己的子文件夹。这个压缩包中的"Interface"文件夹,包含了所有更新后的插件代码和配置文件,玩家只需要将这个...

    Lua快速入门 pdf

    本文档旨在为已有一定编程基础的学习者提供Lua语言的快速入门指南。适合希望通过快速掌握Lua的关键概念和编程模式来提升自己的程序员阅读。 #### 二、核心内容概述 本文档分为初、中、高三个阶段,每个阶段包含若干...

    Lua 编程指南-Lua 编程入门教程

    ### Lua编程指南—Lua编程入门教程 #### 一、Lua简介及特点 Lua是一种轻量级的、高效的脚本语言,常被用作C语言的功能扩展。它具有以下特点: - **简洁优雅**:Lua的设计理念是简洁和优雅,这使得它的语法非常...

    LuaJIT2-8(Lua解释器——C语言编写)

    LuaJIT2-8是Lua解释器的一个版本,它以其高效和快速的执行性能而闻名。LuaJIT是一个Just-In-Time (JIT)编译器,它将Lua脚本转换为机器码,从而显著提高了执行速度。这个版本是2.0.0-beta8,意味着它是该系列中的一个...

    使用Lua的简单魔兽世界插件

    这个名为“使用Lua的简单魔兽世界插件”的项目,旨在教授如何利用Lua编程语言和《魔兽世界》的API来创建一个战斗信息插件。下面将详细解释相关知识点。 首先,Lua是一种轻量级的脚本语言,因其简洁的语法和高效性能...

    Python、Lua和Ruby——脚本大P.K.1

    Python、Lua 和 Ruby 是三种广泛应用于游戏开发、脚本编写以及各种软件工程的高级编程语言。每种语言都有其独特的特性和优势,同时也存在一些不足之处。下面我们将详细探讨这些语言的特点。 首先,Python 是一种...

    Lua 编程入门

    Lua 编程入门 PDF 分享 适用于无基础的lua学习新人。

Global site tag (gtag.js) - Google Analytics