2010年2月10日水曜日

チャットのとき出てくるノートPCとかのスクリプト

セカンドライフを始めて間もない頃、フリービーが沢山置いてあるところでノートPCを貰ったんですが、それが装着しておくとチャットのときだけ表示されるようになってるってのを知らなかったんですね。それでサンドボックスの地面に出してみたら本体が透明だったので、どこに置いたのかわからなくなって焦って探し回ったことのある千尋ですwww

ってことで、今回はチャットでタイピングアニメーションしてるときにオブジェクトが表示されるスクリプトです。このスクリプトは装着してないときは表示されるようにしたので、地面に出してしまってもどこに置いたかわからなくなる心配もありません^^

仕組みはタイマーで一定時間毎にllGetAgentInfoを使ってアバターの状態を調べて、タイピングしてたらllSetLinkAlphaでオブジェクトを不透明にして表示って感じです。。。まあ簡単ですよね。

// タイピングで表示

alpha(float f)
{ // 透明・不透明の切り替え
    llSetLinkAlpha(LINK_SET,f,ALL_SIDES);
}

default
{
    on_rez(integer start_param)
    {  // 持ち物から出したとき
        if (llGetAttached()) {  // 装着されてたら
            llSetTimerEvent(0.5);  // タイマー0.5秒
        }
        else {  // 装着してなかったら
            llSetTimerEvent(0);  // タイマー停止
            alpha(1);  // 不透明にする
        }
    }

    timer()
    {
        integer i=llGetAgentInfo(llGetOwner());  // オーナーの状態
        if (i & AGENT_TYPING) alpha(1);  // タイピングしてたら不透明に
        else alpha(0);  // そうでないときは透明にする
    }
}

0 件のコメント:

コメントを投稿