家园2地图脚本与lua 4未知错误



我正在为游戏Homeworld 2编写地图,原始未重制(因为我没有并且无法重制)。

问题是,我在脚本的某个地方出现了一个错误,我很确定这是一个语法错误,因为它使游戏在主菜单之前崩溃(从经验来看,其他错误类型通常会在地图加载时导致崩溃)。

我试过使用codepad.org并查看了其他类似的网站,但他们不让你选择lua版本4 (Homeworld 2使用的是lua版本4),所以我只能假设他们使用lua 5,这意味着他们的效用相当有限。尽管如此,Codepad还是说我的代码很好。

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

到目前为止,我的编程经验是c++,以及我从《家园2》地图示例和快速阅读文档中收集到的一点lua。

在我看来,代码应该是好的。我记得很久以前就听说过,并非所有的lua在《家园2》中都有效,而且《家园2》对lua的功能有额外的限制,尽管我没能再次找到它。

我所有的研究都试图解决这个问题,从搜索家园世界结束的东西一直带来重制版的东西,而不是原来的家园2的东西,重制版已经改变了一些东西。即使这样,我仍然没有发现任何关于lua脚本限制的主题。

我制作的脚本基本上是随机选择风格的随机地图(即资源可能在整个地图中均匀分布,集中在一个大领域,或者以集群的形式出现,甚至是一个大环)。

我的第一个版本的地图工作,但是混乱和无组织的,所以我重写了整个东西更整洁,更容易调整(即我移动了许多变量到顶部,以便他们可以很容易地找到)。

所有的核心代码在理论上应该是相同的,只有一些东西被移动了,并且有更好的注释。

我确实将一些代码放入函数中并调用这些函数,但是我找不到任何表明我做错了的东西。

所以我需要的是可以检查lua 4代码中的错误(无论如何都可以不运行它而找到的错误),或者相当清楚地显示lua 4如何与lua 5不同的东西。当然,如果有人知道《家园2》的具体限制,那就太好了。

如果您有使用c++的经验,那么编译Lua 4.0.1的独立版本应该不是问题(这非常容易,并且与典型的C/c++项目相比,代码库高度符合标准)。这当然可以让您至少检查语法错误(例如:

最新更新