问题标签 [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.
c# - 从 C# 方法返回 Lua 表而不将其添加到全局堆栈
我想做这样的事情:
我可以Lua
使用类似于以下的语法将表添加到全局范围:
然后在 Lua 中访问该表
但我宁愿让我的方法将表返回到我可以使用的局部变量。
这可能吗/我在这里朝着正确的方向前进吗?
c# - 在 c# 中遍历 LuaTable
我正在尝试遍历 C# 中的 LuaTable 对象,但出现错误。
我的lua文件是:
和我的 C# 代码:
产生这个输出:
如果我只在 key 处询问值visibility
,我会得到正确的答案,但我无法遍历键和值。
我应该使用哪个类而不是DictionaryEntry?
谢谢,兹比尼克
c# - 如何将 ac# 事件发送到正在工作的 lua 脚本?
我正在使用 c# 和 LuaInterface,我需要将一个事件从我的 c# 代码发送到工作脚本。例如,它可能是一个 button_click 中断正在工作的 lua 脚本或改变其逻辑。那么,我该怎么做这样的事情呢?
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# 中都是非空的。
c# - 在 Lua 中实例化 C# 类
我正在使用 LuaInterface 库为我的游戏编写脚本引擎。尝试在 Lua 中实例化类时出现错误。错误是:
sv_worldgen.lua 在哪里(全部):
Campfire
是 C# 中的一个类,根据CLRPackage 示例,当然还有LuaInterface Reference,它似乎暴露给 lua 。我似乎无法解决这个错误,并且我已经尽职尽责地进行了搜索。我可以管理的脚本的唯一其他行为会引发类似的错误,但它在哪里"(a table value)"
。我究竟做错了什么?先感谢您!
我试过明确地做Campfire._ctor()
,但是_ctor()
是一个字符串值。
c# - import_type 尝试调用全局
我正在使用最新的 lua 接口并尝试运行此代码
但收到此错误 LuaInterface.LuaException: [string "chunk"]:6: attempt to call global 'NpcDialog ' (a nil value)
exe名称是Map Server.exe
程序集名称Map Server
默认命名空间Phoenix
发生这种情况是因为文件的程序集与程序集名称不同,我不知道为什么!
有没有办法让它在不更改程序集名称的情况下工作
c# - LuaInterface 错误“'=' 预计在 ' 附近'"
我正在尝试学习 lua 以及如何将 lua 与 C# 一起使用。所以我创建了一个 lua 脚本,在其中声明了一个名为“x”的字符串变量:
然后我尝试从 c# 程序中加载字符串,如下所示:
当我尝试编译时,我收到此错误:
[string "root.lua"]:1: '=' expected near '<eof>'
c# - LuaInterface - C# 导入
我已经为我的 lua 脚本注册了一个需要枚举作为参数的方法。加载脚本时出现错误。我是否需要在 lua 中导入枚举的命名空间才能运行,还是需要做其他事情?
编辑:我知道你可以这样做:
但是,这似乎有点烦人,因为我的大多数 lua 脚本都使用枚举。有没有更好的办法?
c# - NLua (LuaInterface) - 调用函数
使用NLua (A LuaInterface fork)运行 lua 脚本时如何调用函数?
例如,现在我有:
但是,这只是运行脚本。在脚本里面我有一个自定义函数。我希望能够只运行该功能。我试过了:
但这没有用。我怎样才能做到这一点?
我的 lua 脚本是这样的:
或者,如果不可能 - 有没有办法在一个 lua 文件中包含不同的脚本?我希望能够使用不同的脚本参数运行相同的文件,例如:
谢谢。
.net - LuaInterface:从 Lua 脚本调用 System.Encoding.UTF8.GetBytes
我正在使用 LuaInterface 在 Lua 中使用 .NET 类型。我想通过使用 .NET 中的 Cryptography 类来展示这种能力。但是,为了将字符串传递给RSACryptoProvider,我需要事先将其转换为字节数组。这通常可以使用System.Encoding.UTF8.GetBytes来完成。但是,尝试调用此函数会产生错误:
调用 GetBytes 函数的正确方法是什么?我错过了什么吗?