Lua 5.0 - 为什么我的 DLL 没有加载?

我正在尝试按照这个教程来加载一个名为 power.dll 的 DLL。但是,我得到了如下的警告信息:

WARNING: ...it\faforever\fa\lua\ai\aiarchetype-managerloader.lua(48): could not load package `power' from path `E:\lua\'
WARNING: stack traceback:
WARNING:         [C]: in function `require'

很遗憾,没有更多的输出信息了。我只知道我试图修改的游戏 “_使用的是 Lua 5.0 的一个略有修改的版本_”。[1] - 不管 “_略微_” 意味着什么..

问题是,我用一个单独的 Lua 5.3 测试了这个导入操作,它可以工作。我可以调用那个 square() 函数(参见教程),但在游戏中它不起作用。

当然,有可能他们根本就不允许简单地加载一个 .dll,但当然我希望只是我没有看到什么或漏掉了什么。

有没有可能有人能帮助我解决这个(相当具体的)问题?

我用 LUA 5.0 标准做对了吗?

应该加载我的 DLL 的文件只是调用了:

_G.LUA_PATH = "E:\\lua\\"
require("power")

起初,我因为调用了 require 而没有定义 LUA_PATH 而得到一个错误。在定义了 LUA_PATH 之后,require 似乎可以工作了,但还是会有其他问题..

[1] http://supcom.wikia.com/wiki/Lua

点赞