Site search

Google
WWW を検索 backup-beta.blogspot.com を検索

2008年8月21日木曜日

座っても脚の出ないスカートのスクリプト(改)

座っても脚が出ないスカートのスクリプト http://backup-beta.blogspot.com/2008/08/blog-post_2947.htmlなんですが、これって、ここままだとポーズボールに座ったときも反応しちゃうんですよねw なので、このスクリプトは掲載した数日後には修正して使ってたんですよwww

スクリプト苦手な方は結局使えねーってことになっちゃうので、今回はその修正して使ってる足の出ないスクリプトのほうも載せておきますね。座ったときにスカートにタッチするとスカートの反応有り無しを切り替えられるように改良してます^^
但し、今回は注釈や使い方まで書きませんので前のスカートスクリプト http://backup-beta.blogspot.com/2008/08/blog-post_2947.htmlの記事を参考にしてくださいね^^;


特徴のパラメータは必ずプリムスカートに合わせて変更してからスカートにスクリプト入れてください。
// 座っても脚の隠れるスカート(改)
integer stand=FALSE;
// 座ってないときの特徴パラメータリスト [ 柔軟性, 重力, ドラッグ, 風, 緊張, X、Y、Z方向のフォース ]
list unsit=[3,2.0,1.0,1.0,8.0,<0,0,0>];
list sit;
float gravity=0.5;
float force=3;

default
{
    state_entry()
    {
        unsit=[PRIM_FLEXIBLE,TRUE]+unsit;
        sit=llListReplaceList(unsit,[gravity],3,3);
        llSetTimerEvent(0.25);
    }

    touch_start(integer total_number)
    {
        if (llDetectedKey(0) != llGetOwner()) return;
        stand=!stand;
    }

    timer()
    {
        integer i=llGetAgentInfo(llGetOwner());
        string str=llGetAnimation(llGetOwner());
        if ((i & AGENT_SITTING) || str == "Sitting")
        {
            if (!stand) {
                list l=llGetObjectDetails(llGetOwner(),[OBJECT_ROT]);
                vector v=llRot2Euler(llList2Rot(l,0));
                float x=llCos(v.z)*force;
                float y=llSin(v.z)*force;
                sit=llListReplaceList(sit,[<x,y,0>],-1,-1);
                llSetLinkPrimitiveParams(LINK_SET,sit);
            }
            else llSetLinkPrimitiveParams(LINK_SET,unsit);
        }
        else {
            stand=FALSE;
            llSetLinkPrimitiveParams(LINK_SET,unsit);
        }
    }
}

0 件のコメント:

コメントを投稿