0

我有一个 C# 中的 IRC Bot,我现在想使用 Lua 脚本。在机器人启动时,我想注册函数,并检测是否添加了新文件然后加载它。我已经完成了新文件/重新加载脚本功能,但是当我点击运行时,我得到“对象引用未设置为对象的实例”。在我希望用户能够使用的自定义功能上。

这是当前代码:

public Lua lua;
public void RegisterFunctions() {
    lua.RegisterFunction("print", this, typeof(DashLua).GetMethod("ConsoleOut"));
}
#region Custom Functions for Lua
public void ConsoleOut(String line) {
    if (line == null) {
        Console.WriteLine("Script error: print() can't be null.");
    } else {
        Console.WriteLine(line);
    }
}

在机器人的 Main() 中,我目前只有 2 行:

    DashLua dash = new DashLua();
    dash.RegisterFunctions();
4

1 回答 1

0

NLua (NuGet) 仅适用于 x64 构建,这就是为什么这些都不起作用。因此,如果您正在构建一个项目并且确实需要 Lua 作为脚本语言,则需要在项目的属性中将您的构建更改为 x64。话虽如此,您可以在他们的网站上获得 Win32 版本,可惜它不在 nuget 上。

编辑:当你去下载 Win32 版本时,它是空的。我猜他们还没有建造它并鼓励你自己建造它。

于 2014-09-21T13:52:40.580 回答