我已经确认这已经完成了,但是这样做的人拒绝分享它是如何完成的,所以我基本上是想自己弄清楚,而不是等待别人改变主意等等。
基本上,他们设法将 Source Engine(特别是 Garrysmod)的模型文件与 lua 代码相结合。基本上是嵌入到模型文件中的lua。
加载后,代码显然已执行。这意味着在服务器上它会加载一次,在客户端上它会为每个在给定时间加载它的客户端加载一次。对于大多数事情来说,这并不是在游戏中使用 lua 进行开发的最佳方式,但是我可以看到一些非常有用的事情可以用它来完成。
我有一些关于如何完成的理论。我相信也许字节码至少以某种方式涉及。可能是带有 lua 的字节码,但也可能是 mdl 文件的制作方式。
如果它有助于理解 mdl 文件,这里是关于它们的页面https://developer.valvesoftware.com/wiki/Model_Creation_Overview
至于 lua 和 lua 字节码,它们都很容易找到。
print("Testing to embed lua into model file")
基本上我希望得到这个人在模型文件中嵌入lua并在加载模型文件时加载和执行的工作复制。