Lua 的应用

lua-users home
维基

以下是全球范围内一些使用 Lua 的项目的简要描述。(维基百科包含一个 [更长的列表]。)如果您知道任何未列出的使用 Lua 的激动人心的项目,请添加它。

添加项目到此页面的政策是什么?其目的是提供高质量的 Lua 使用示例,还是为任何使用 Lua 依赖项的项目做广告?

是的,这是一个过滤后的列表,但作者不想维护过滤算法,更希望社区来进行选择。也许我们可以将列表分成两个部分,第一个部分是主要示例,第二个部分是更全面的列表。-- JeromeVuarand

我认为一个全面的列表没有太大意义,可能会变成一个充斥着从未起步的已停用项目的垃圾场。Lua 并不是一两年历史,还在为被采用而奋斗,需要记录每一个使用案例。至于此页面的政策,似乎最好在前面明确说明,而不是让编辑事后删除条目,可能会惹恼某人。--JohnBelmonte


[Simultus]

用于教育和工业的软件,用于模拟自动化系统和设备

Simultus 允许模拟一个完整的设备,包括机械设计和控制程序。Simultus 软件用于原型设计和测试系统,允许用户在生产阶段避免错误。

请查看 [快速入门]

如何 [安装]


[SmartThings 的物联网中心]

三星 SmartThings?

SmartThings? 是一个基于物理中心的家庭物联网平台,可以控制 Zigbee、Z-Wave 和 LAN 设备。单个设备由 [边缘设备驱动程序] 支持,这些驱动程序是用 Lua 编写的,并在中心的安全沙箱环境中直接运行。驱动程序是在一个使用半事件模式的自定义框架上编写的。高级事件可以注册事件处理程序,这些处理程序随后将在 [cosock] 协程线程中运行,这允许在与设备交互时进行简单的阻塞式套接字编程。


[NSBase]

数据库管理

Lua 也是 NSBase 的原生语言,NSBase 是一种数据库管理软件。脚本使表单和报表更具动态性。因此,集成的 Lua 使得创建真正的数据库管理应用程序成为可能。


[Neovim]

文本编辑器

Neovim 是一个基于 Vim 的高度可扩展的文本编辑器。


[Screvle]

Lieron BVBA

Screvle 是一个硬件平台,它允许在没有嵌入式开发麻烦的情况下构建嵌入式产品。

只需浏览到板载 Lua 开发环境,即可立即访问硬件(UART、I2C、SPI、ADC/DAC、PWM、CAN 等)和软件 API(SMTP 和 HTTP 客户端、GUI、SD 卡、设置等)。


[arcapos]

微系统

arcapos® 是一款针对售票、图书馆和零售的销售点解决方案。它使用 Lua 语言完全可扩展。从 Lua,您可以访问所有外围设备,如售票机、收据打印机、信用卡终端等。

联系:Marc Balmer

[中文文本分析器]

Imral Software Pty Ltd

中文文本分析器是一款面向学习中文人士的工具,它可以跟踪用户已知的词汇,并方便地找到适合其词汇水平的文本。它还可以用于从中文文本中提取未知词语和句子列表,以及收集各种词频统计数据。

它将大量核心文本处理和统计收集功能暴露给 Lua,用户可以编写 Lua 脚本,并在应用程序中运行这些脚本以操作文本文档并提取有用信息。

联系:[Imral Software]

[Codea]

Codea 是一款带有视觉扩展的 iPad 应用程序。它允许您编写 Lua 代码来制作视觉游戏和其他程序。


[V-REP(虚拟机器人实验平台)]

V-REP Marc Freese

V-REP 是一个基于分布式控制架构的 3D 机器人模拟器:Lua 脚本(即控制程序)可以直接附加到场景对象,并以线程或非线程方式同时运行。这使得 V-REP 非常通用,非常适合多机器人应用,并允许用户以类似于现实的方式对机器人系统进行建模 - 在现实中,控制通常也是分布式的。


[ScriptStudio]

ScriptStudio? 是一个高性能的算法交易平台,它使用户能够快速编码、测试和部署交易策略或订单路由场景。所有交易规则都使用 Lua 在 ScriptStudio? 的嵌入式 Lua 编辑器中编写。


[Spring RTS]

Spring RTS 是一款受《全面战争》启发的实时战略游戏引擎,在 GPL v2 许可证下发布。它使用 Lua 脚本来实现单位动画、大多数游戏规则(小工具)和游戏内 UI(小部件)以及 AI。所有这些 Lua 脚本都在 GPLv2 兼容许可证下发布。


[模拟城市 4]

Maxis/艺电

《模拟城市 4》延续了 Maxis 一贯的高品质城市模拟游戏传统。该游戏使用 Lua 来配置游戏常量,并控制其各种元素,包括用户界面、教程、顾问和自动机。第三方《模拟城市》插件可以访问这些功能来定义自定义内容的行为。


[魔兽世界]

暴雪娱乐

《魔兽世界》是一款大型多人在线角色扮演游戏 (MMORPG),它使用 Lua 作为 UI 子系统的嵌入式脚本语言。这使得在开发过程中能够快速原型化新功能,并且客户能够通过修改和插件自定义和改进自己的界面。

《魔兽世界》是全球最受欢迎的订阅制 MMORPG,拥有超过 800 万订阅用户。

联系:[魔兽世界 UI 论坛]


[Adobe Photoshop Lightroom]

Adobe Systems Incorporated

Adobe Lightroom 是“从原始捕获到创意输出的数字摄影艺术和工艺的完整、优雅的环境”。超过 40% 的 Adobe Lightroom 代码是用 Lua 编写的。

联系:马克·汉堡


[战锤在线:末日决战]

EA Mythic/EA Games

《战锤在线》是一款来自 EA Mythic(《黑暗时代:凯美洛传奇》的创造者)的新 MMORPG 游戏。自 1990 年代中期成立以来,Mythic 一直是多人在线游戏的杰出创造者。2006 年,该公司被艺电收购。

据《战锤在线》制作人兰斯·罗伯逊介绍,“我们旨在让游戏界面高度可修改;我们为《战锤在线》选择的实际方法是使用 Lua 插件。”这些 Lua 修改遵循与《魔兽世界》修改相同的流行方式,作者可以自定义默认的《战锤在线》界面,一直到创建全新的界面和功能。


[Qryos]

[BCZ.com]

Lua / Luajit 用作数据生成的后台,也与 openresty 一起使用,openresty 是支持 luajit 的 nginx web 服务器。由于 luajit 的服务器占用空间与其他常用的脚本语言(如 Perl 或 PHP)相比非常小,因此它为快速编码和节省服务器资源提供了许多可能性。由 [[bczcentral.com]] 提供支持的网站,[[bcz.com]] 的 IT 解决方案提供商部门,使用 luajit 进行分析和聊天消息传递。


[CryENGINE2]

Crytek

CryENGINE2 是 CryENGINE 的继任者,CryENGINE 是《孤岛惊魂》背后的游戏引擎。该引擎被 Crytek 开发、艺电发行的第一人称射击游戏《孤岛危机》等游戏使用。使用 Lua 可以在不触碰 C++ 代码的情况下设置和调整武器/游戏参数、播放声音和加载图形。CryENGINE2 也用于非游戏应用程序,例如 IMAGTP,这是一个 3D 虚拟可视化程序。


[Metaplace]

区域

Metaplace 是一个下一代虚拟世界平台,旨在像 Web 一样运作。Metaplace 不需要庞大的自定义客户端和巨大的下载,而是让你可以在任何能够读取其开放式客户端标准的平台上玩同一个游戏。它提供了一套工具,让你可以创建世界,并为你托管服务器,以便任何人都可以连接并玩。而且客户端可以在 Web 上的任何地方。

Metaplace 致力于为其网络协议制定开放式标记标准 - 任何人都可以为他们想要的任何平台编写客户端。它在所有可能的情况下使用 Web 标准,这就是为什么你可以拥有一个也是网站的游戏世界,或者使用 Web 数据来填充你的世界。游戏逻辑是用 Lua 编写的,因此你可以轻松地制作任何你想要的游戏或世界。


[孤岛惊魂]

Crytek/育碧

孤岛惊魂广泛使用 Lua 来编写所有游戏事件和 AI/游戏逻辑的脚本,包括单人游戏和多人游戏,以及实时游戏编辑。

联系:[Marco Corbetta]


[最高指挥官]

THQ

最高指挥官 (SupCom) 是一款由 Gas Powered Games 设计和开发的即时战略电脑游戏。这款游戏被认为是《全面战争》的继承者,后者被 GameSpy 评为有史以来最棒的即时战略游戏。Lua 是最高指挥官用于大多数高级游戏代码的语言。Lua 也是用于编写 SupCom 模组的语言。


[Squeezebox Jive 平台]

罗技

Jive 是一个软件平台,旨在为 Squeezebox 和 Transporter 的远程控制应用程序开发提供支持。Jive 平台的主要亮点是 Jive 浏览器,它是一个与分辨率和颜色深度无关的渲染器,使我们能够为各种显示类型提供支持,从单色 VFD 到全彩 LCD 屏幕;以及 Jive UI,一个新的基于 Lua 的可扩展用户界面,可以由任何熟悉 Lua 的人完全自定义,Lua 是一种功能强大、开源的脚本语言。

联系:罗技流媒体系统部门


[Garry's Mod]

Garry's Mod 是一个《半条命 2》的修改版。它获得了 ModDB 的“年度最佳修改”(2005 年)、GameSpy 的“年度最佳 PC 修改”(2005 年)以及 PCGamer US 的“2005 年最佳修改”。Lua 为 Gmod 玩家打开了通往新世界的大门,让他们可以编写新的武器、游戏模式和其他功能的脚本。可能再也没有什么比 Lua 更棒的补充了。

联系:[Garry Newman]


[LuaTeX]

LuaTeX 是 pdfTeX 的扩展版本,使用 Lua 作为嵌入式脚本语言。LuaTeX 项目的主要目标是提供一个开放且可配置的 TeX 变体,同时提供向下兼容性。

选择 Lua 的标准是它可以免费获得、可移植、易于扩展 pdfTeX 特定功能、占用空间小,而且使用起来很有趣。

联系方式:[Hans Hagen]


[MySQL 代理]

MySQL AB

MySQL 代理是一个轻量级的二进制应用程序,位于一个或多个 MySQL 客户端和服务器之间。客户端使用通常的凭据连接到代理,而不是连接到服务器。代理充当客户端和服务器之间的中间人。代理附带一个嵌入式 Lua 解释器。使用 Lua,您可以在代理传递查询或结果集之前定义如何处理它们。

代理的强大之处在于其灵活性,这得益于 Lua 引擎。您可以在查询发送到服务器之前拦截它,并对它进行任何可以想象的操作,例如原样传递、修正拼写错误、重写查询等。


[Nmap]

Insecure.org

Nmap(“网络映射器”)是一个免费的开源实用程序,用于网络探索或安全审计。Nmap 以新颖的方式使用原始 IP 数据包来确定网络上有哪些主机可用,这些主机提供哪些服务(应用程序名称和版本),它们运行哪些操作系统(以及操作系统版本),使用哪种类型的包过滤器/防火墙,以及数十种其他特征。它获得了 Linux Journal 的“最佳安全工具”编辑选择奖、LinuxQuestions.Org 的“年度最佳安全应用程序”奖和 Info World 的“最佳信息安全产品”奖。

Nmap 脚本语言是一个嵌入式 Lua 解释器,它扩展了与 Nmap 交互的库。选择 Lua 是因为它在 Nmap 的所有标准中都表现出色:它体积小,在 MIT 许可下分发,具有协程,为并行脚本执行提供了一种合理的方法,它旨在嵌入,拥有出色的文档,并且拥有一个庞大而忠诚的社区。


[LEGO Mindstorms NXT 的 pbLua]

Hempel Design Group

pbLua 是 LEGO Mindstorms NXT 的 Lua 5.1 实现。它基于 LEGO 提供的 NXT 砖块的开源代码。低级驱动程序进行了轻微修改,然后与 Lua 源代码集成。pbLua 是 NXT 的替代文本编程环境,支持协程、字符串、表和有限的浮点运算。NXT 基于 ARM7 微处理器,具有 256K 的 FLASH 和 64K 的 RAM。pbLua 对 PC 看起来像一个串行端口,并通过 USB 连接。它完全自包含,因为它直接在砖块上运行解析器。最终,当我们弄清楚 USB 在这些平台上的枚举方式后,我们将支持 Mac 和 Linux 平台。

联系方式:[Ralph Hempel]


[There]

Makena Technologies

"There" 是一个在线度假胜地,您可以在那里与朋友闲逛并结识新朋友 - 所有这些都在一个郁郁葱葱的 3D 环境中,您可以探索并帮助构建。该游戏主要用 C++ 编写,主要从可扩展的 Linux 集群提供服务,并使用 ThereScript 进行额外的自定义,该脚本是 Lua 加上附加功能。


[Lua 播放器]

Lua 播放器帮助程序员新手用 Lua 编写自己的游戏。它提供了一些与游戏相关的功能,例如图像加载和绘制,并且适用于索尼的 PlayStation Portable,也许以后会适用于其他平台。

联系方式:[Frank Buss]


航天飞机危险气体检测系统

ASRC Aerospace,肯尼迪航天中心,佛罗里达州,美国

Lua 4.0 集成到用于监控航天飞机发射操作期间气体浓度水平的系统中。发射人员使用 Lua 来执行一些比较繁琐的任务,例如长时间泄漏测试和统计数据收集。Lua 集成到 Windows 应用程序中,该应用程序提供对安装在发射台上的泄漏检测设备的远程控制。远程控制应用程序提供 Lua 的钩子,允许 Lua 脚本访问收集的数据并向泄漏检测设备发出命令。选择 Lua 的主要原因是它易于理解(对发射人员来说是一个优势),并且非常容易集成到项目中。

联系方式:[Charles Curley]


[心灵杀手]

Double Fine Productions

心灵杀手是 Tim Schafer 创作的 XBox 动作/冒险游戏。所有心灵杀手游戏逻辑都是通过 Lua 实现的。关卡设计师使用 Maya 创建关卡的几何图形,然后放置 Lua 控制的脚本实体的标记。这包括所有非玩家角色、平台、谜题部件。基本上,游戏引擎启动并将主要玩家放置到一个静态世界中。然后 Lua 脚本接管并控制所有交互元素。Lua 非常轻巧和快速!它太棒了!

联系方式:[Dave Dixon]


[英雄无敌 5]

育碧/Nival Interactive

英雄无敌 5 (HoMM5) 是英雄无敌系列电脑游戏的第五部作品。Lua 用于自定义逻辑编程。常规游戏流程是用 C++ 编写的,但所有高级功能(如英雄移动、施法、更改资源或生物数量、放置地图对象、创建文本框等)也可以从 Lua 脚本访问。Nival Interactive 地图和游戏设计师使用 Lua 来满足他们的需求,因为这种语言易于学习,非程序员也易于使用。程序员喜欢 Lua,因为它可以轻松地绑定到现有的 C++ 代码,并且功能强大,足以满足各种应用。


[S.T.A.L.K.E.R.: 切尔诺贝利阴影]

GSC Game World

《S.T.A.L.K.E.R.: 切尔诺贝利阴影》是一款第一人称射击游戏(FPS)。它在全球范围内售出了超过100万份PC版。该项目开发了6年,包括20名程序员(7名脚本编写者)。它使用Lua 5.0.2和LuaJIT(感谢Mike Pall)。选择Lua是因为它的简单性、速度和开源绑定库(luabind)的可用性。Lua是一个拥有10年历史的开源项目,拥有庞大的社区,很少有bug,并且已在许多其他FPS游戏中使用。

联系:[Dmitriy Iassenev]


[Barracuda 嵌入式 Web 服务器]

实时逻辑

Barracuda 提供 Lua 服务器页面 (LSP) 用于网页创作。Barracuda 平台是一款先进的嵌入式 Web 服务器,专为实时控制和监控嵌入式工业应用而设计。Barracuda Web 服务器占用的空间非常小,几乎可以在任何平台上运行。LSP 支持大多数 Barracuda API(cookie、会话、RPC 等),并内置 Lua-SQL 支持。Barracuda LSP 可以使用现有的 Lua 库进行扩展。LSP 应用程序可以打包为 ZIP 文件,也可以嵌入到 Barracuda Web 服务器可执行文件中。

联系:[实时逻辑]


[BarracudaDrive 服务器]

实时逻辑

BarracudaDrive? 将您的计算机和设备(如 Raspberry Pi)转变为功能强大且安全的在线存储系统,让您能够从世界上任何连接的计算机或设备访问和共享文件。

BarracudaDrive? 是一款应用程序服务器,它允许任何具有 Web 和服务器端经验的人扩展或更改服务器。BarracudaDrive? 支持一种名为 Lua 服务器页面 (LSP) 的服务器端脚本语言。有关更多信息,请参阅 [BarracudaDrive 开发者页面]

联系:[实时逻辑]


[Wireshark - 世界上最受欢迎的网络协议分析器]

Wireshark 开发团队

Wireshark 是世界上最领先的网络协议分析器,是许多行业的标准。Wireshark 被全球网络专业人员用于故障排除、分析、软件和协议开发以及教育。它拥有您在协议分析器中期望的所有标准功能,以及其他产品中没有的几个功能。Lua 已被添加到 Wireshark 中,作为一种用于原型设计和脚本编写的语言。Lua 可用于编写分析器、后分析器和 tap(一种从每个帧中获取数据的机制)。

联系方式:Ethereal Developers


[Hercule - Olivetti 打印机固件]

Olivetti Engineering SA

Hercule 是 Olivetti 打印机的固件开发平台,用于 ANY_WAY 和 MY_WAY 系列。Lua 被用作配置脚本,根据所需质量做出有关打印模式的决策。这使得打印机驱动程序在运行时表现一致。此外,Lua 脚本可以直接从内存卡执行,无需任何主机计算机,简化了测试和生产任务。

联系方式:[Patrick Rapin]


[Giggle]

The Moving Picture Company

Giggle 是一个为电影“特洛伊”制作的视觉效果而开发的 Renderman 程序化 DSO。该项目需要渲染包含数万名交战士兵的场景,以及复杂的城市布局和火焰、烟雾和尘埃的粒子效果。所有这些几何体的生成几乎完全由 Giggle 在渲染时处理。

Giggle 的核心功能包含大约 40,000 行 C++ 代码,由 2 名 MPC 程序员在 9 个月内编写。这提供了许多功能,包括:* 加载几何体、着色器、粒子缓存和用于代理模拟的专有缓存格式。* 皮肤和其他几何体修改器 * 程序化几何体生成 * 用于空间划分 的 kd 树类 * 几何体评估器,用于执行射线相交和最近点查询

该功能绑定到 Lua,提供了一个灵活的脚本接口,使其易于适应特定任务。MPC 最初选择 Lua 是因为它以速度和效率著称,以及其 API 的极度简单。随后,它通过 16 名左右的 CG 艺术家团队和超过 500 台机器的渲染农场的大量使用证明了自己的价值。

自采用以来,Giggle 的使用已扩展到其他 MPC 功能管道,并与交互式解释器和 OpenGL 预览渲染器相结合,以提供交互式脚本开发和调试。

联系方式:[John Haddon]


[不可能的生物]

Relic Entertainment Inc

Impossible Creatures 是一款于 2003 年 1 月 7 日发布的 PC RTS(实时策略)游戏。该项目拥有数十万行代码,由约 8 名程序员编写。Lua 贡献了大约 50,000 行代码。

Lua 在游戏的各个方面都得到了广泛的应用。它被用于配置游戏中的几乎所有系统和子系统。它定义和控制 UI,管理 AI,并指定效果和其他图形实体的外观。它被用于实时调整游戏,用于编辑单位属性、处理游戏规则、任务自动化等等。

选择 Lua 是因为它速度快、语法简单,程序员和设计师都易于理解。它也易于调试、修改和集成到我们的 C++ 游戏/工具中。

联系方式:[Shelby Hubick]


[数字融合]

eyeon 软件

Digital Fusion 是一款完全集成的非线性合成和特效后期制作系统,用于完成、设计和特效创作,广泛应用于众多故事片、高清电视制作、广播视频、网络/多媒体项目等。Lua 是“DFScript”的基础,DFScript 是 Digital Fusion v4 中添加的集成脚本语言。这允许在程序中自动执行重复性任务,并促进与后期制作设施的其他方面的集成,例如剪辑管理、3D 渲染器集成、EDL/符合集成等。

联系:[Peter Loveday]


[ToME]

ToME 是一款免费的 roguelike 游戏。它是一款非常成熟和深度的游戏,最初是作为 Angband 的变体(实际上是其中一个变体)而诞生的,现在已经发展成为一款全新的游戏。

ToME 使用 Lua 来允许自定义引擎、新任务、法术、力量等等。Lua 使得许多内容可以自定义,并且将来还会更多。选择 Lua 是因为它具有可移植性、体积小、语法清晰、表格和整体整洁性 :)

联系:[DarkGod]


[Publique!]

F�brica Digital

Publique! 是一款基于 Web 的内容管理系统。Publique! 管理的信息结构可以包含整个 HTML 网站或其中的一部分。Publique! 也可以用作基于 XML 的 Web 服务或 WML 前端。Publique! 提供基于三种用户类型或角色的工作流程:作者、编辑和读者。

目前,巴西、阿根廷、美国和日本有 100 多个网站使用 Publique。当前版本 (2.2) 提供葡萄牙语和英语版本。日语和西班牙语版本正在开发中。

Publique 起源于 1998 年,在其生命周期中一直由 3 到 7 名程序员组成的团队开发。制作团队总人数为 30 人。

Publique 使用 [CGILua] 的修改版本作为其当前的 Web 引擎,并且包含近 50K 行 Lua 代码和 5K 行 C 代码(不包括 CGILua 本身)。

选择 Lua 是因为它易于原型设计、执行速度快且可扩展。它用于系统中的几乎所有功能,除了操作系统平台、DBMS 和 Web 服务器抽象层。

联系:[Andr� Carregal]


[Tecgraf]

里约热内卢天主教大学计算机图形技术组

Tecgraf 是里约热内卢天主教大学 (PUC-Rio) 与巴西石油公司 [巴西石油公司] 合作的成果。Tecgraf 是 Lua 的诞生地,该语言自 1993 年起就在那里使用。目前,Tecgraf 中有三十多位程序员定期使用 Lua,他们已经编写了超过二十万行代码,分布在数十个最终产品中。

联系方式:[Waldemar Celes]


[侠盗猎车手:圣安地列斯多人模式]

多人侠盗猎车手

多人侠盗猎车手 (MTA) 是 Rockstar North 的侠盗猎车手游戏系列的多人游戏修改版。多人侠盗猎车手最初于 2003 年初作为实验性软件创建,此后已发展成为一个面向游戏玩家和第三方开发人员的先进多人游戏平台。从侠盗猎车手:圣安地列斯的 MTA 开始,您就可以与朋友在线玩侠盗猎车手,在您自己创建的自定义地图和游戏模式中玩,这些地图和游戏模式由 Lua 脚本语言提供支持,目前(截至 2006 年底)有 373 个特定于游戏的 Lua 函数!使用 Lua,您可以在游戏中创建几乎任何您喜欢的游戏模式或功能。示例和其他酷炫的 Lua 内容可以在我们的主页上找到。

联系方式:[Cecill Etheredge]


[安装工厂]

Indigo Rose 公司

安装工厂是一个 Windows 软件开发工具,用于创建紧凑的软件安装程序,以便通过网络、电子邮件、局域网、CD、DVD 和软盘进行部署。其紧凑的单文件安装程序几乎没有运行时开销(包括卸载约 450KB),使其快速且易于初始化和安装。它使用 Lua 5.0 作为脚本语言来控制和自定义安装过程。

联系方式:[Indigo Rose 软件]


[SciTE]

Scintilla.org

SciTE 是一个基于 Scintilla 的文本编辑器。它最初是为了演示 Scintilla 而构建的,但它已经发展成为一个通用的编辑器,具有构建和运行程序的功能。它最适合用于配置简单的任务。SciTE 具有许多现代编辑器功能(大多数由 Scintilla 提供),例如代码语法高亮显示、调用提示、代码自动完成、折叠等。从 1.60 版开始,可以使用 Lua 对当前缓冲区执行操作,使用 Scintilla 组件的完整 API。

联系方式:[Neil Hodgson]


[AutoPlay Media Studio]

Indigo Rose 公司

AutoPlay Media Studio 是一款独特的软件工具,可让您快速创建自己的自定义 Windows 软件、自动播放/自动运行 CD/DVD ROM 以及交互式多媒体演示文稿。只需将照片、视频、音频、Macromedia Flash 内容、文本、HTML 等丰富的媒体内容直接拖放到您的项目中即可。您可以使用基于流行的 Lua 语言的强大自由格式脚本引擎将所有内容联系在一起。这种易于理解的脚本语言具有从“for、repeat 和 while”循环到“if/else”条件、函数、变量和表(关联数组)的所有功能。我们包含了 350 多个强大操作(高级函数)的库,以及内置的数学和布尔运算。指向并单击的“操作向导”和“代码向导”使其足够简单,即使是完全新手也可以为他们的项目添加强大的交互性。高级开发人员将欣赏颜色语法高亮显示、代码完成、函数高亮显示、即时输入操作原型和 Ctrl+Space 函数列表。AutoPlay Media Studio 个人版是 AutoPlay Media Studio 的免费非商业版本。

联系方式:[Indigo Rose 软件]


[Homeworld 2]

Relic Entertainment Inc

Homeworld2 是一款太空 PC RTS 游戏,它在游戏的几乎所有方面都广泛使用 Lua4,包括 UI、AI、游戏规则、游戏流程、统计数据、游戏属性、游戏调整和自动化。

联系方式:[Shelby Hubick]


[SpellForce - The Order Of Dawn]

Phenomic 游戏开发

我们在项目的几个部分使用 Lua。我们最初选择它作为任务脚本(触发器和其他内容)的语言,但目前我们使用 Lua 进行任务脚本、声音脚本、数据定义语言、通用预处理工具和其他用途。

联系方式:[Dirk Ringe]


[GUPPY - 基因序列可视化]

日本国立先进工业科学技术研究所计算生物学研究中心

GUPPY(Genetic Understanding Perspective Preview sYstem)是一个用于可视化分子生物学序列数据库信息的程序。该程序旨在加速生物信息学各种研究的计算任务。我们目前正在开发为一些活跃的生物学项目原型化附加功能。为了便于数据处理和序列图布局的脚本功能,该程序中嵌入了 Lua 语言。

该程序还具有高度交互的操作,可以从基因组景观平滑滚动和缩放至离散的核酸序列。

联系:[上野裕太]


[PtokaX 直连中心]

PtokaX 直连中心是 Neo-Modus 直连点对点共享网络的多平台服务器应用程序。该应用程序在 GPLv3 许可下发布。Lua 脚本由核心提供,API 文档齐全。脚本扩展了中心的​​基本功能,并为程序员提供了控制权,而无需触碰 C++ 代码。


[tomsrtbt - “一张软盘上的最完整 Linux”]

Tom's NET

tomsrtbt 是“一张软盘上的最完整 Linux”,适用于:救援恢复恐慌和紧急情况,随时随地可以放在衬衫口袋里的工具,无论何时何地无法使用硬盘驱动器。

tomsrtbt 包含一个 Lua 解释器,以及 luasocket、md5 和 regex 库,以及 vi 和 emacs 编辑器,以及其他工具。目前用 Lua 编写的实用程序包括:wc unrpm-- undeb-- tee split login head grep dirname cut cmp basename dhcpcd--。

联系:[汤姆·奥赫瑟]


[灵魂之旅]

Slingshot 游戏技术

灵魂之旅是一款 PC 单板滑雪游戏,以广阔的真实世界地形、基于物理的游戏玩法和角色动画为特色。我们在引擎中使用了库存 Lua 3.2.2 作为配置工具和控制台界面,以及用于编写一些游戏事件的脚本。我们在开发后期将 Lua 引入引擎,事实证明它简单、实用且没有麻烦。

联系:[撒切尔·乌尔里希]


[疯狂伊万机器人]

疯狂伊万机器人团队

疯狂伊万是赢得 2000 年丹麦 RoboCup 比赛的机器人。疯狂伊万有一个“大脑”,使用 Lua 作为脚本语言。所有 AI 和逻辑都在 Lua 中完成。大脑运行在摩托罗拉 Coldfire 5206e 处理器上,Lua 被修改为仅使用 int,因为 Coldfire 没有 FPU。

联系:[埃里克·豪加德]


[伊拉里翁]

伊拉里翁 e.V.

伊拉里翁是一款开源图形化在线角色扮演游戏,专注于真正的角色扮演。伊拉里翁自 2005 年 4 月起使用 Lua 作为脚本语言。在其他系统中,非玩家角色、任务、施法、战斗和制作都由 Lua 脚本处理。伊拉里翁始于 2000 年,发展成为一个功能丰富的在线游戏,与 Ultima Online 大致相当。伊拉里翁使用基于 Slick 2D 游戏库的 Java 客户端。它由伊拉里翁 e.V. 资助,可以免费玩。

联系方式:[vilarion]


[OpenTibia]

OpenTibia? 是一个开源的 MMORPG Tibia 服务器替代方案。OpenTibia? 使用 Lua 来编写整个游戏环境的脚本,例如物品动作、事件和任务。

[DCS: Black Shark]

Eagle Dynamics

"DCS: Black Shark" 是一款俄罗斯 Ka-50 攻击直升机的 PC 飞行模拟器,是 Eagle Dynamics 和 The Fighter Collection 新的模拟系列 "Digital Combat Simulator" (DCS) 的首款作品。秉承 Eagle Dynamics 的卓越传统,"DCS: Black Shark" 将带来比其前作 "Flaming Cliffs" 更逼真的模拟体验。 "DCS: Black Shark" 将在飞行动力学、仪表建模、航空电子系统和武器系统方面提供前所未有的逼真度。地面车辆和直升机的 AI 也得到了大幅改进,武器建模也得到了改进。新的任务编辑器包含一个强大的电子地图系统,允许用户轻松创建任务和战役。新的战役系统允许战场前线根据你的任务成功或失败来前后移动。由于 DCS 系统的灵活性增强,额外的固定翼飞机和直升机插件将很快推出。

Lua 在整个项目中被广泛用于游戏 AI 编程、配置目的以及更多其他方面。游戏任务编辑器几乎完全使用 Lua 实现。

联系方式:[Sales]


[OhMyBot]

Maysami Soft

OhMyBot 是一款用于自动化和机器人创建的工具。它拥有丰富的 API,使用 Lua 作为脚本语言,并集成了图形化的 Lua 调试器。

联系方式:[Contact]


[Daimonin MMORPG]

Daimonin 开源项目

Daimonin 是一款 MMORPG,使用 Lua 作为服务器端通用脚本引擎。它与地图编辑器结合使用,作为任务和通信接口,但也作为地图内 AI 扩展或事件触发器。

C 服务器的基本插件和脚本托管在 [sourceforge 项目 SVN]

联系方式:[Contact]


[G-WAN]

G-WAN 是一款支持 Lua 和其他多种语言脚本的 Linux 应用服务器。


[Asterisk: 电信 PBX]

从上面链接的网站:Asterisk 是一款将普通计算机变成通信服务器的软件。Asterisk 为 IP PBX 系统、VoIP 网关、会议服务器等提供支持。它被全球范围内的小企业、大企业、呼叫中心、运营商和政府使用。Asterisk 是免费的开源软件。


[Hexinator]

Hexinator 是一款用于二进制文件的建模工具。所谓的语法以抽象的方式描述二进制文件格式。解析逻辑可以通过自定义 Lua 脚本扩展。此外,可以使用 Lua 实现特殊数据类型。


这是我用来生成所有条目的脚本:-- JeromeVuarand

local entries = {
  {
    id = 6,
    title = "SimCity 4",
    title_link = "http://simcity.ea.com/",
    subtitle = "Maxis/Electronic Arts",
    text = [===[
SimCity 4 continues a long tradition of high-quality
city simulation games by Maxis.
The game uses Lua for configuring game constants and to
control various of its elements
including the user interface,
tutorials, advisors, and automata.
Third-party plugins for SimCity can access these features to define
the behavior of custom content.]===],
  },
}

local function dewikify(text)
  local n
  repeat
    text,n = text:gsub("(%u%l+)(%u%l+%a*)", "%1{{}}%2")
  until n == 0
  return text
end

local function generate_entry(entry)
  local output = ""
  local function print(str) output = output..(str or "").."\n" end
  print("----")
  if entry.title_link then
    print("== ["..entry.title_link.." "..dewikify(entry.title).."] ==")
  else
    print("== "..dewikify(entry.title).." ==")
  end
  if entry.subtitle then
    print("''"..dewikify(entry.subtitle).."''")
  end
  print()
  print(dewikify(entry.text))
  print()
  if entry.contact then
    if entry.contact_email then
      print("Contact: ''[mailto:"..entry.contact_email.." "..dewikify(entry.contact).."]''")
    elseif entry.contact_link then
      print("Contact: ''["..entry.contact_link.." "..dewikify(entry.contact).."]''")
    else
      print("Contact: ''"..dewikify(entry.contact).."''")
    end
    print()
  end
  return output
end

for _,entry in ipairs(entries) do
  print(generate_entry(entry))
end


最近更改 · 偏好设置
编辑 · 历史记录
最后编辑于 2022 年 11 月 29 日上午 11:58 GMT (差异)