BlackSheep-LSL@Wiki llCreateLink
※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

llCreateLink

llCreateLink(key target, integer parent)

オブジェクトをリンクさせる。
引数targetにはリンク相手のUUIDを指定する。
parentにTRUEを指定した場合は自分(スクリプトを含むオブジェクト)が親となり、FALSEを指定した場合はtargetのオブジェクトが親となる。

この関数を実行するにはPERMISSION_CHANGE_LINKSパーミッションを取得する必要がある。
相手先のオブジェクトにはパーミッションがなくても良いが、双方のオブジェクトのオーナーが同一で、かつmodify権限を持っていなければならない。
アタッチメントやsit中のオブジェクトはリンク/リンク解除を行うことはできないという制限もある。

リンクが実行されるとchangedイベントが発生するが、このときのフラグはCHANGED_LINKとなっている。
なお、この関数は実行時に1秒間ディレイする。

リンクされるとprimのリンクナンバーは振り直される。
LSLWikiによれば、以下のようになるようだ。

オブジェクトAが3つのprim[A1, A2, A3]で構成されており、同様にオブジェクトBの構成が[B1, B2, B3]だったとする。
Aを親としてBとリンクすると、リンクナンバーは以下の順序になる。
 [A1, B1, B2, B3, A2, A3]
つまりルートprimの次に新たにリンクされたprimがつながり、その後ろに元からリンクされていたprimがつながる。

スクリプトからリンクを解除する際にはllBreakAllLinks及びllBreakLinkを使用する。