Site search

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

2008年9月28日日曜日

プリムに記録されたデータを消すスクリプト

一度スクリプトが実行されるとスクリプトを削除しても残る情報ってありますよね^^;
フローティングテキストや、パーティクル、Sitテキスト、Sitポジション、カメラなどですね。
消すには文字列のところに空の値を入れたらいいんですが、数値の場合は全部0にして初期値に戻します。

default
{
    state_entry()
    {
        llSetSitText("");
        llSitTarget(ZERO_VECTOR, ZERO_ROTATION);
    }
}


車を作ってみたときカメラや座る位置まで記録されるって知らなかったので、何でときどき窓の上に座っちゃうことがあるのかなって悩んでたんですよ。途中で親プリムを別のプリムに変更して位置をずらしたので、このプリムに情報が残ってたってことなんですけどね^^;


こんな感じでまとめたスクリプトをプリムにドロップすると、プリムはリセットされてスクリプトは実行後消滅するので便利かなって思いますw
// プリムに記録されたデータを消す
default
{
    state_entry()
    {
        llSetText("",<0,0,0>,0);  // フローティングテキスト消去
        llParticleSystem([]);  // パーティクル消去
        llSetTouchText("");  // パイメニューTouch初期化
        llSetSitText("");  // パイメニューSit Here初期化
        llSitTarget(<0,0,0>,<0,0,0,1>);  // 座る位置初期化
        llSetCameraEyeOffset(<0,0,0>);  // カメラアイオフセット初期化
        llSetCameraAtOffset(<0,0,0>);  // カメラ位置オフセット初期化
        llRemoveInventory(llGetScriptName());  // このスクリプトをコンテンツ内から削除
    }
}

このスクリプトは消滅するので自分のインベントリーの中で作成してくださいね。
ZERO_VECTOR=<0,0,0> 、 ZERO_ROTATION=<0,0,0,1> になります。

2 件のコメント:

  1. こんばんわ。この前、教えてのほうで、お世話になりました<m(__)m>その節はありがとうございました^^
    ちょうど、新築した時に、床になるところにフローティングテキストを入れてしまい><困っていたところでした^^;
    早速使わせていただきます^^

    返信削除
  2. こんばんは。あ、いいえ。。。ご覧いただきありがとうございます^^
    今回のスクリプトは実用的だと思うんですけど、あまり使うことないかな?って気がしてたんですよw 早速お役に立てたみたいで嬉しいです^^

    返信削除