问题标签 [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 投票
2 回答
514 浏览

c# - 采用 。在使用 LuaInterface 注册的方法中

我正在使用 LuaInterface 将 LuaInterface 集成到 ac# 程序中。我希望能够编写可以在程序中访问 C# 方法的脚本。

它正在访问的方法位于单独的“子系统”中,我想让 Lua 方法定义子系统,然后使用 . 作为分隔符。例如 SubsystemName.MethodName

但是当我尝试注册该方法时会引发异常。我已将其更改为 _ 并且效果很好。有没有办法让它与.?一起工作?该程序有其他接口用于调用这些方法,如通过 HTTP 的 JSON-RPC,这些使用 . 符号所以希望它是一致的。

0 投票
1 回答
992 浏览

vb.net - 在 VB.net 中使用 LuaInterface

我正在尝试将 Lua 连接到我正在制作的 VB.net 游戏。现在,我已经阅读了足够多的内容,知道我可以像这里看到的那样自行连接每个函数:

现在,我将如何使我的 Lua 脚本编写者能够实例化类、更改这些类的属性等。

RegisterFunction 看起来很草率而且还不够。

谢谢你的帮助!

0 投票
1 回答
346 浏览

.net - 将字符串转换为类型“LuaFunction”

我正在将.net 中的 LuaInterface 用于我正在处理的一个大型项目。是否可以将字符串直接转换为 LuaFunction(类似于 LoadString() 的工作方式?)。

0 投票
2 回答
645 浏览

c#-4.0 - 在 C# 4.0 上使用 LuaInterface 时在 lua51.dll 上获得 FileNotFoundException 但它就在那里

我一直在几个需要脚本的 C# 应用程序中使用 LuaInterface 和 Lua 5.1,尤其是一些游戏、一个 IRC 机器人和一个我最近决定恢复工作的完整 IRC 客户端。

有一次,我切换到 .Net 4.0,不得不重新编译 LuaInterface 和 Lua51 才能让它们再次运行。据我所知,一切都很好。

但是,我最近购买了一台新笔记本电脑并试图从中运行我的机器人。令我惊讶的是,它在尝试初始化 Lua 时崩溃了,引用了 lua51.dll 上的 FileNotFoundException,它就在那里。我不理会它,然后继续重新安装东西,包括 Visual C# 和 C++ 2010 Express,以及一些更新。第二天早上,我再次尝试启动聊天机器人,试图弄清楚——你瞧,它奏效了。出于某种奇怪的原因。

今天早些时候,我的一个朋友告诉我完成我正在开发的 IRC 客户端,它相当广泛地使用 Lua 来添加功能和其他很酷的东西。我给了那个朋友一份副本,以检查最重要的问题……他得到了完全相同的错误。

现在,另一个人没有 Visual Studio,我无法重现这个问题,而且不能指望我上面列出的其他东西的用户安装它只是为了让它们运行——一般相对理智的用户只会耸耸肩,摆脱程序。

那怎么办?

0 投票
1 回答
1808 浏览

c# - 从 C# 将对象传递给 Lua 脚本

我正在使用带有 C# 的 LuaInterface,并且已经正确设置了所有内容。

我想要做的是,当使用 lua.DoFile() 启动脚本时,脚本可以访问我可以发送的 Player 对象......

当前代码:

但正如您所见,脚本将无法访问 Player 对象。

0 投票
3 回答
1064 浏览

c# - LuaInterface - FileNotFoundException

我正在尝试让 Lua 系统在我的 .NET 4.0 应用程序中运行。我使用 LuaInterface 作为 Lua 的包装器,它是在 .NET 4.0 下编译的

在安装了 VS2010 的开发计算机上运行 Lua 脚本时,该应用程序运行良好。但是在另一台计算机上运行它时,我得到了 FileNotFoundException。

System.IO.FileNotFoundException: Could not load file or assembly 'lua51.dll' or one of its dependencies. The specified module could not be found.

lua51.dll 与应用程序位于同一文件夹中,因此我看不出有任何问题。所以这一定意味着它找不到 lua51.dll 依赖的文件。这就是问题所在。

我需要让我的用户安装哪些文件才能使其正常工作?

0 投票
1 回答
650 浏览

c# - LuaInterface 事件处理

我已经四处寻找关于如何使用 LuaInterface 处理事件的好教程,但我仍然坚持试图找到一个真正解释必须详细完成的操作的教程。

有人可以写一个简单的教程,或者指出我的方向吗?

谢谢抽搐

0 投票
1 回答
724 浏览

c# - 如何将 WinForm 传递给 Lua (LuaInterface)?

我想将一个 WinForm 对象传递给 Lua,我的代码:

//Form1.cs

--plugin.lua

0 投票
3 回答
603 浏览

interop - LuaInterface 多线程崩溃

有没有办法让 LuaInterface 在多线程环境中工作?

我有一个多线程 c# (.Net 4) 程序集,它使用 LuaInterface 处理来自本机应用程序的数据。每个线程都有自己的 Lua 解释器实例。我使用Lua.GetFunction()从脚本中检索函数并定期调用该函数。我将字典传递给要处理的函数。这适用于一个线程。但是当我使用两个线程时,它会使整个应用程序崩溃,并且我在 Visual Studio 中看到如下错误:

如果我将脚本更改为不使用我传递给它的字典的微不足道的事情,那么它也适用于多个线程。

我是否必须为每个解释器提供自己的进程或 AppDomain 才能完成这项工作?

0 投票
1 回答
74 浏览

vb.net - 删除一个可能与 VB.net 中的其他事件完全相同的事件

我正在 VB.net 中创建一个通过 LuaInterface 使用 Lua 的系统。

要将 Lua 中的事件与函数相关联,我可以简单地这样做:

如您所见,我目前正在使用该lcc变量来“取消”该功能。这有点被破坏了,并且该函数仍将被调用,从而导致不必要的开销。这就是我的“RegisterEvent”子在我的 VB.net 中的样子

我想在我的 Lua 中做这样的事情:

问题是,我不确定我应该如何更改我的 RegisterEvent 函数/子以及我应该如何制作 DisconnectEvent。

谢谢你的帮助。我知道尝试理解我想说的话有点烦人。随时发表评论要求澄清。我将非常愿意尝试并尽我所能解释它。如果 LuaInterface 有某种本机方式来处理这个问题,我也对此持开放态度:)

任何能提供帮助的东西都很棒!