问题标签 [luainterface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1077 浏览

c# - 从 C# 方法返回 Lua 表而不将其添加到全局堆栈

我想做这样的事情:

我可以Lua使用类似于以下的语法将表添加到全局范围:

然后在 Lua 中访问该表

但我宁愿让我的方法将表返回到我可以使用的局部变量。

这可能吗/我在这里朝着正确的方向前进吗?

0 投票
2 回答
2126 浏览

c# - 在 c# 中遍历 LuaTable

我正在尝试遍历 C# 中的 LuaTable 对象,但出现错误。

我的lua文件是:

和我的 C# 代码:

产生这个输出:

如果我只在 key 处询问值visibility,我会得到正确的答案,但我无法遍历键和值。

我应该使用哪个类而不是DictionaryEntry?

谢谢,兹比尼克

0 投票
1 回答
410 浏览

c# - 如何将 ac# 事件发送到正在工作的 lua 脚本?

我正在使用 c# 和 LuaInterface,我需要将一个事件从我的 c# 代码发送到工作脚本。例如,它可能是一个 button_click 中断正在工作的 lua 脚本或改变其逻辑。那么,我该怎么做这样的事情呢?

0 投票
3 回答
1403 浏览

c# - 将任意参数从 C# 传递到 Lua 函数

我已经发现了问题的原因。下面已经发布了答案。


编辑:问题已经改变,请参阅“问题”部分。

我正在使用 LuaInterface。使用这个库的 lua 函数的通用调用有这个签名LuaFunction.Call(params object[] args)。我创建了一个包装函数,它从库中捕获异常并将它们格式化以显示在游戏内控制台窗口上。

我正在尝试调用一个 lua 函数,但它没有接收到参数。这是 C# 中的行

这只是简单地包装了对这个 Lua 函数的调用,该函数接受两个参数:

它只是回调一个 C#Log函数(正确解析,并且在 Lua 上下文中可见)。

问题是我"invalid arguments to method call"在尝试调用该GenerateChunk函数时从 luainterface 收到错误,并将其返回:



我尝试了各种调用该方法的ScriptEngine.Call方法,尝试将参数包装在 object[] 数组等中,但没有骰子。任何想法为什么 lua 没有收到我传递的论点?我已经验证了两个参数在传入时在 C# 中都是非空的。

0 投票
1 回答
571 浏览

c# - 在 Lua 中实例化 C# 类

我正在使用 LuaInterface 库为我的游戏编写脚本引擎。尝试在 Lua 中实例化类时出现错误。错误是:

sv_worldgen.lua 在哪里(全部):

Campfire是 C# 中的一个类,根据CLRPackage 示例,当然还有LuaInterface Reference,它似乎暴露给 lua 。我似乎无法解决这个错误,并且我已经尽职尽责地进行了搜索。我可以管理的脚本的唯一其他行为会引发类似的错误,但它在哪里"(a table value)"。我究竟做错了什么?先感谢您!

我试过明确地做Campfire._ctor(),但是_ctor()是一个字符串值。

0 投票
2 回答
367 浏览

c# - import_type 尝试调用全局

我正在使用最新的 lua 接口并尝试运行此代码

但收到此错误 LuaInterface.LuaException: [string "chunk"]:6: attempt to call global 'NpcDialog ' (a nil value)

exe名称是Map Server.exe

程序集名称Map Server 默认命名空间Phoenix

发生这种情况是因为文件的程序集与程序集名称不同,我不知道为什么!

有没有办法让它在不更改程序集名称的情况下工作

0 投票
1 回答
4736 浏览

c# - LuaInterface 错误“'=' 预计在 ' 附近'"

我正在尝试学习 lua 以及如何将 lua 与 C# 一起使用。所以我创建了一个 lua 脚本,在其中声明了一个名为“x”的字符串变量:

然后我尝试从 c# 程序中加载字符串,如下所示:

当我尝试编译时,我收到此错误:

[string "root.lua"]:1: '=' expected near '<eof>'

0 投票
1 回答
319 浏览

c# - LuaInterface - C# 导入

我已经为我的 lua 脚本注册了一个需要枚举作为参数的方法。加载脚本时出现错误。我是否需要在 lua 中导入枚举的命名空间才能运行,还是需要做其他事情?

编辑:我知道你可以这样做:

但是,这似乎有点烦人,因为我的大多数 lua 脚本都使用枚举。有没有更好的办法?

0 投票
1 回答
4308 浏览

c# - NLua (LuaInterface) - 调用函数

使用NLua (A LuaInterface fork)运行 lua 脚本时如何调用函数?

例如,现在我有:

但是,这只是运行脚本。在脚本里面我有一个自定义函数。我希望能够只运行该功能。我试过了:

但这没有用。我怎样才能做到这一点?

我的 lua 脚本是这样的:

或者,如果不可能 - 有没有办法在一个 lua 文件中包含不同的脚本?我希望能够使用不同的脚本参数运行相同的文件,例如:

谢谢。

0 投票
1 回答
380 浏览

.net - LuaInterface:从 Lua 脚本调用 System.Encoding.UTF8.GetBytes

我正在使用 LuaInterface 在 Lua 中使用 .NET 类型。我想通过使用 .NET 中的 Cryptography 类来展示这种能力。但是,为了将字符串传递给RSACryptoProvider,我需要事先将其转换为字节数组。这通常可以使用System.Encoding.UTF8.GetBytes来完成。但是,尝试调用此函数会产生错误:

调用 GetBytes 函数的正确方法是什么?我错过了什么吗?