2024/04/26

リンクセットされているプリムのリンク番号を知る

default

{

    touch_start(integer total_number)

    {  // タッチされたとき

        key id=llDetectedKey(0);  // タッチしたアバターのキー

        if (id == llGetOwner()) {  // オーナーだったら

            integer num=llDetectedLinkNumber(0);  // タッチされたプリムのリンク番号

            list faces=[];  // グローデータ記録用リスト

            integer i;

            integer j=llGetLinkNumberOfSides(num);  // タッチされたプリムの全面数

            for (i=0; i < j; i++) {  // 面の数だけ繰り返し

                list glow=llGetLinkPrimitiveParams(num,[PRIM_GLOW,i]);  // 面ごとにグローを取得して

                faces+=[PRIM_GLOW,i]+glow;  // グロー設定で使える形式にしてリストに保存

            }

            llOwnerSay("Link no."+(string)num);  // タッチされたプリムのリンク番号を表示

            llSetLinkPrimitiveParams(num,[PRIM_GLOW,ALL_SIDES,1.0]);  // タッチされたプリム全面のグローを1.0にセット

            llSetLinkPrimitiveParamsFast(num,faces);  // グローを元に戻す

        }

    }

}

0 件のコメント:

コメントを投稿