对于llSetLinkPrimitiveParams()
或它的Fast
对应物,我们只需要一个当前不是链接号的值。但是作为未来的证明很好,所以我们尝试选择一个永远不会成为链接号的。为了避免将来扩展链接集限制,我们可能会选择最高的 32 位有符号整数 2147483647(或 0x7FFFFFFF),幸运的是,LSL 中甚至还有一个常量:
llSetLinkPrimitiveParams( DEBUG-CHANNEL, [ ... ] );
但林登斯没有双重猜测。之所以给定这个常数,是因为聊天频道空间正在快速填满,而没有人将其用于现有内容。它最终也可以用于链接编号中的其他内容!因此,作为第二个反乌托邦的实验,我研究了使用0
,因为根链接号完全更改为1
链接时。然而,当脚本化的 prim 可能被取消链接时,这将失败。0
我们需要一个在链接时给出但未链接时给出的变量1
;
llSetLinkPrimitiveParams( prim_count==1, [ ... ] );
如果您有计算链接的功能,那么使用此功能将正确评估两种方式,如果计数自. 在 prim 飞到零角之前,取消链接不会总是运行更改的事件!DEBUG-CHANNEL
因此,无论链接集、附件或座位如何,这里都有一个替代方案,可以获取当前的安全处置值:
llSetLinkPrimitiveParams( !( ( llGetObjectPrimCount( llGetKey() ) > 1 ) || ( llGetNumberOfPrims() > 1 ) ), [ ... ] );
当然值得注意的是,如果你只打算在那里使用一个虚拟值,因为你的所有参数都会声明与 的链接PRIM-LINK-TARGET
,那么这一切都是没有原因的;无论如何,第一个链接号将被下一个链接声明丢弃。