llCreateLink
llCreateLink(key target, integer parent)
オブジェクトをリンクさせる。
引数targetにはリンク相手のUUIDを指定する。
parentにTRUEを指定した場合は自分(スクリプトを含むオブジェクト)が親となり、FALSEを指定した場合はtargetのオブジェクトが親となる。
引数targetにはリンク相手のUUIDを指定する。
parentにTRUEを指定した場合は自分(スクリプトを含むオブジェクト)が親となり、FALSEを指定した場合はtargetのオブジェクトが親となる。
この関数を実行するにはPERMISSION_CHANGE_LINKSパーミッションを取得する必要がある。
相手先のオブジェクトにはパーミッションがなくても良いが、双方のオブジェクトのオーナーが同一で、かつmodify権限を持っていなければならない。
アタッチメントやsit中のオブジェクトはリンク/リンク解除を行うことはできないという制限もある。
相手先のオブジェクトにはパーミッションがなくても良いが、双方のオブジェクトのオーナーが同一で、かつmodify権限を持っていなければならない。
アタッチメントやsit中のオブジェクトはリンク/リンク解除を行うことはできないという制限もある。
リンクが実行されるとchangedイベントが発生するが、このときのフラグはCHANGED_LINKとなっている。
なお、この関数は実行時に1秒間ディレイする。
なお、この関数は実行時に1秒間ディレイする。
リンクされるとprimのリンクナンバーは振り直される。
LSLWikiによれば、以下のようになるようだ。
LSLWikiによれば、以下のようになるようだ。
オブジェクトAが3つのprim[A1, A2, A3]で構成されており、同様にオブジェクトBの構成が[B1, B2, B3]だったとする。
Aを親としてBとリンクすると、リンクナンバーは以下の順序になる。
Aを親としてBとリンクすると、リンクナンバーは以下の順序になる。
[A1, B1, B2, B3, A2, A3]
つまりルートprimの次に新たにリンクされたprimがつながり、その後ろに元からリンクされていたprimがつながる。
スクリプトからリンクを解除する際にはllBreakAllLinks及びllBreakLinkを使用する。