我的问题是如何更改 LSL 中特定对象的参数。是否有任何函数可以引用密钥(或 UUID)?更清楚地说,我想使用像 llSetPrimitiveParams 这样的函数,但对我的世界上的 Key (UUID) 有一个特定的引用。
3 回答
您无法仅使用一个脚本更改链接集之外的对象参数。
但是,如果有问题的对象是同一链接集的一部分,您可以使用
llSetLinkPrimitiveParamsFast
它来更改它的参数。
考虑到我已经使用 LSL 很长时间了,我确实希望在这里写。投票的评论也来自原始海报,其中指出“您不能引用任何仅给出其 UUID 的对象”实际上您可以做很多事情而无需实际链接它们。如果您将评论专门针对未编写脚本的对象,那么这就是给定的,但至少没有控制所需的操作、链接、脚本等。
您可以使用 llSetRemoteScriptAccessPin 和 llRemoteLoadScriptPin 来传递设置对象的脚本。
您可以使用各种聊天功能,即 llWhisper、llSay、llShout、llRegionSay、llRegionSay 要记住,您要保持负面频道。如果您想通过想要聊天功能来更安全一些。考虑改用 llRegionSayTo。
您还可以通过电子邮件、http 甚至 https 向其发送数据。
如果您希望两个对象动态链接,无论它们是否一遍又一遍地重新调整。只需使用一个网站来存储一个对象获取或两者都可以获取的数据(或只是对象的新 UUID)。还有一些网站专门允许这种类型(键/值存储等)。不过,自己动手很容易。
有很多方法可以做同样的事情并产生想要的结果。如果我排除了对某事的具体提及,因为概括的包含就足够了。LSL Wiki 可以提供更好的理解。
如果您希望对象仅更改一次,则可以将脚本设置为在其任务完成后删除。在引脚的情况下,您可以在需要更改时将脚本设置为对象,然后在之后删除。
在 LSL 中,您不能仅通过提供其UID来引用任何对象。您需要创建一组对象(链接它们),然后通过llSetLinkPrimitiveParamsFast
. 那为我完成了工作。