2

我正在尝试在我的魔兽世界插件中使用 LuaXml 模块。每次我测试插件时,我都会收到一个错误,我用 require() 调用了一个 nil 值。我怀疑这是因为我需要的东西没有正确加载。从 LuaXml.lua 文件来看,它似乎需要 LuaXML_lib.dll。但是,我不确定如何将其加载到插件中。我在正确的插件文件夹和我的 .toc 文件中有所有文件,我相信它们的顺序正确。

我怀疑我需要用 LuaBinaries 做点什么。我将文件夹 Microsoft.VC80.CRT 放在插件文件夹中,并将 msvcr80.dll 放在该文件夹中。我觉得我需要一个 .lib 文件来将它链接到我的 lua 文件,但我不确定。

做完这一切后,我感到很失落。任何建议/下一步/更正将不胜感激!

4

1 回答 1

4

魔兽世界的Lua环境极其受限。

禁止以下行为:

  • 与外部应用程序交互(例如:连接到 Internet)
  • 以自定义方式存储信息
  • “受保护状态”之间的交互(例如:小地图和施法 UI)

这些限制是为了防止人们制作自动化机器人、UI hack 和其他被视为“作弊”的事情。

此外,为了让程序员清楚与标准 Lua 环境有很大不同,他们删除requireandmodule函数。相反,他们有.toc文件,用于声明插件所需的所有文件。

不幸的是,这也意味着您无法加载任何 DLL 或其他非 Lua 文件。由于 LuaXML 需要一个DLL文件,因此魔兽世界无法使用它。

我有一段时间没有为魔兽世界编程了,所以我不知道有什么专门针对它的解决方案;但是,有很多纯 Lua 库可用。一点点谷歌搜索,你会找到它们。

不过我必须问.. 你为什么要在魔兽世界中解析 XML?我认为您没有理由将任何内容存储在 XML 中,我也不知道您需要解析任何内容。

于 2011-11-19T17:50:11.643 回答