Lua 如何在对象上设置OnCollisionCenter?

Lua 如何在对象上设置OnCollisionCenter?,lua,tabletop-simulator,Lua,Tabletop Simulator,我正在使用Atom获取脚本我的TTS mod。在我的游戏中,我有一个GUID为ed743f的包,我有一个调用我的#include Shard/Shard文件的全局文件。在该文件中,我有#在我的dicerroll.ttslua文件中包含dicerroll,我有以下代码: diceRoller = getObjectFromGUID("ed743f") print(diceRoller, 'roller') function onCollisionEnter() print('dice e

我正在使用Atom获取脚本我的TTS mod。在我的游戏中,我有一个GUID为
ed743f
的包,我有一个调用我的
#include Shard/Shard
文件的全局文件。在该文件中,我有
#在我的
dicerroll.ttslua
文件中包含dicerroll
,我有以下代码:

diceRoller = getObjectFromGUID("ed743f")
  print(diceRoller, 'roller')

function onCollisionEnter()
  print('dice entered')
end

打印可以正确地包含文件,但是如何“连接”OnCollisionCenter函数和正确的对象(骰子)?因为现在当我把模具放进袋子里时,什么也没发生。

从文档中可以看出:

碰撞中心(…)

当对象开始与对象碰撞时,将调用此函数 对象,该函数处于启用状态。在全球范围内不起作用

函数启用意味着它在该对象的对象脚本中实现

对象成员:

script\u code
对象上的Lua脚本

对象脚本附加到游戏中对象的脚本,并且 作为它的一部分保存。这类似于任何其他属性,如其 鳞片或色调。有些函数要求对象引用,以便 尝试在其上运行函数。在这些情况下,全局(完全相同 也是一个有效的对象引用

根据我在这里读到的内容,我认为您需要在对象脚本中实现该函数

请再读一遍手册


@Pieget说的没错,OnCollisionCenter(…)在全球范围内不起作用。我所做的是在桌面模拟器中右键单击对象(包),然后点击“脚本编辑器”。这将打开该对象的脚本文件。然后在那个文件中我做了一个require引用
require(“somefolder/somefile”)
。路径的根是:

C:\Users******\Documents\Tabletop模拟器

现在我可以使用OnCollisionCenter(…),因为脚本不是全局的,而是对象绑定的