Homeworld 2 地图脚本编写问题(使用 lua 4)存在未知错误

我正在为 Homeworld 2 游戏编写地图脚本,原版而非最新版(由于我无法获得最新版也没有,所以只能使用原版进行制作)。

但存在问题,脚本中出现了错误,我相当确定是语法错误导致的,因为游戏在启动主菜单前就已经崩溃了(而且根据以往经验,其他类型的错误通常会在地图加载时导致崩溃)。

我尝试使用 codepad.org 并查看其他类似的网站,但它们不允许你选择 lua 4 版本(而 Homeworld 2 则是使用 lua 4 版本),所以我只能认为它们使用的是 lua 5,这意味着它们的实用性非常有限。Codepad 显示我的代码很好,尽管如此。

我浏览了 lua 4 的文档,但老实讲,我不知道我在找什么。

到目前为止,我的编程经验主要来自于 C++,而且只是从 Homeworld 2 的示例地图和快速浏览文档中了解了一点点 lua 知识。

就我所知,代码应该是可以运行的。我还记得很久以前听说并非所有的 lua 都能在 Homeworld 2 中运行,而且 Homeworld 2 对 lua 的功能有额外的限制,尽管我再也没有找到过相关信息。

我所有关于解决这个问题的研究都是在 Homeworld2 的文件中进行搜索,但都是关于最新版的内容,没有找到有关 lua 编写限制的话题。

我写的脚本基本上是随机生成一个随机样式的地图(例如,资源可能均匀分布在整个地图中,也可能集中在一个大场地中,或者分布在集群中,甚至是一个大环形地图)。

我的第一个版本的地图可以运行,但是很乱,并且不便于调整(即我将许多变量移动到顶部,以便更容易找到)。

所有核心代码理论上都应该相同,只是某些东西被移动了位置,并且加入了更好的注释。

我将一些代码放入了函数中并调用了这些函数,但我找不到任何说我有问题的地方。

所以我需要一些东西,可以检查 lua 4 代码中的错误(找到可以不运行代码的错误),或者清楚地展示 lua 4 与 lua 5 的不同之处。当然,如果有人知道 Homeworld 2 特定的限制,那将是非常棒的。

点赞
用户98528
用户98528

如果你有 C++ 经验,那么编译单独版本的 Lua 4.0.1 (链接) 对你来说应该不是问题(非常容易,而且与典型的 C/C++ 项目相比,这个代码库高度符合标准)。这至少可以让你检查语法错误(即“在不运行它的情况下可以找到的错误”)。

2017-05-30 10:06:16