ソラマメブログ
QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 0人
プロフィール
bararaika
オーナーへメッセージ

  
Posted by at

2010年05月01日

multi sit

別のブログで記事を見つけたのですが
非常に見にくいかんじだったのでこちらで保存

//1プリムの定位置に2人座れる
listpos=[<0.4,-0.5,0.4>,<0.4,0.5,0.4>];//座る位置のリスト(1人目、2人目)
listav;//座ってるアバターのキーリスト用
vectorang=<0,0,0>;//座った角度

default
{
state_entry()
{
llSitTarget(<0,0,0.5>,llEuler2Rot(ang*DEG_TO_RAD)); //座る位置の初期値
integeri;
for(i=0;i av+=[NULL_KEY];}}changed(integerchange){if(change&CHANGED_LINK){ //リンクが変化したら
integeri=llGetNumberOfPrims(); //リンクしてるプリムの数
keyid=llGetLinkKey(i); //座った(リンクした)アバターのキー取得
if(id){integerj=llListFindList(av,[NULL_KEY]); //空席チェック
if(~j){ //空いてたら
av=llListReplaceList(av,[id],j,j); //アバターのキーをセット
vectorv=llList2Vector(pos,j); //空いてた席の座る位置
v.z+=0.35; //Z方向に0.35加算
//座った位置を移動
llSetLinkPrimitiveParams(i,[PRIM_POSITION,v,PRIM_ROTATION,ZERO_ROTATION/llGetRot()*llEuler2Rot(ang*DEG_TO_RAD)]);
}else{ //空席がないとき
if(llListFindList(av,[id])<0)llUnSit(id); //キーリストになかったら立たせる
}
}

listl;
for(i;i>1;i--){ //子プリムのキーをリストアップ
l+=[llGetLinkKey(i)];
}
for(i=0;i id=llList2Key(av,i);if(llListFindList(l,[id])<0)av=llListReplaceList(av,[NULL_KEY],i,i);
}
}
}
}

--------------------------------ここまで---------------------
半角スペースをすべてTABにするといけるとおもうけど
どうでしょね  
タグ :sitlsl

Posted by bararaika at 14:25Comments(0)製作