ソラマメブログ

2007年09月01日

LSL:コンテンツの中身を調べるには・・・

LSLあいかわらずアレなんですが・・・

コンテンツの中身を調べる方法がやっとわかったので、
メモしておきます。
(そんなん知ってるわ!なんて言わないでくださいね^^)


LSLでアニメーションを制御したり、ベンダーマシンを作ったりというときに、
1回だけで、それも自分だけしか使わないスクリプトだったら問題ないのですが、
そうじゃないときは、再利用できるように作るほうがいいですよね~

ワタシは、ホウキのスクリプトを使いまわしていますが、
ホウキの中身は、


  • ホウキのスクリプト
  • 乗ったときのアニメーション
  • 設定用のノート


という作りにしていて、新しいのを作るときは、この3つをとりあえず中に入れて、設定用のノートだけ変更しています。

とても、便利なのですが、今回は、自宅用のスタジオのポーズスタンドで、拾ってきたいろんなポーズを組み込もうと思いました。


ノートに、アニメーションの名前を書いておく?


これでも、いいのですが、アニメーションの数が多くなってくると不便ですし、ノートに書くとき、スペルを間違うとダメなので、結構メンドクサイ気がしてきました。


というわけで、悩んでいたのですが、どっかで拾ってきたポーズスタンドのスクリプトをみてたら、コンテンツの中身を直接読んでいる箇所が見つかりました。

なーーーんや。できるんや!

できるとわかればこっちのもんです。
これを使うと、毎回設定ノートを更新しなくても、コンテンツに好きなアニメーションを適当に入れればいーんですよね♪

これで一歩前進です♪
ホンマちょっとずつです・・・



//================================================
//    [check_inventry.lsl]
//    Sample of list up contents inventry.
//    ver 1.0 Sep 01, 2007 by Jinko Spitteler
//================================================
//    Ref Animation Stand (Stand Script) by Teddy Wishbringer
//    Ref http://wiki.secondlife.com/wiki/LlGetInventoryNumber


check_inventory(integer iInventrtNo) {
    integer i;
    integer n = llGetInventoryNumber(iInventrtNo);
    string    strObjectName;
        
    for ( i = 0; i < n; i++ ) {
        strObjectName = llGetInventoryName(iInventrtNo, i);
        llOwnerSay((string)i + ":" + strObjectName);
    }
}

default {
    state_entry() {
        //Sample 1. ListUp Animation only
        llOwnerSay("+++Animations");
        check_inventory(INVENTORY_ANIMATION);
        
        //Sample 2. Check All of Contents
        llOwnerSay("+++All of Contents");
        check_inventory(INVENTORY_ALL);
    }
}



テストプログラムなので、いい加減な作りですが、適当な箱かなんかを作って、その中に、このスクリプトと適当なオブジェクトを入れると、中身を読み上げます。

INVENTORY_ANIMATIONとか、INVENTORY_ALLとかは、持ち物のタイプを表す定数です。
こちらをご参照ください。



ヒントをくれたポーズスタンドの作者さん=Teddy Wishbringerさんに感謝!です♪


↓また、出番がなかったのでSS貼っておきます^^

LSL:コンテンツの中身を調べるには・・・



同じカテゴリー(Tips)の記事画像
プリムスカートの簡単な作り方のヒミツ。初めてわかりました^^
球面の内側にテクスチャを貼るときの覚書です^^
LSL:日本語文字列をバイト数で長さ制限
スナップショットをレンズぼかしで加工してみました^^
LSLのカラーに変換するツールを作ってみました^^
ブラウザからインワールドの検索を使ってます^^
同じカテゴリー(Tips)の記事
 プリムスカートの簡単な作り方のヒミツ。初めてわかりました^^ (2009-07-11 14:57)
 球面の内側にテクスチャを貼るときの覚書です^^ (2009-06-27 07:28)
 LSL:日本語文字列をバイト数で長さ制限 (2009-04-29 12:06)
 スナップショットをレンズぼかしで加工してみました^^ (2008-10-06 04:14)
 LSLのカラーに変換するツールを作ってみました^^ (2008-10-02 21:15)
 ブラウザからインワールドの検索を使ってます^^ (2008-09-02 17:39)

Posted by jinko at 12:48│Comments(2)Tips
この記事へのコメント
 Jinkoさん、いろいろ研究してますね^^

 できたら便利ていう思いでどんどん賢くなってくJinkoさんが今後も楽しみです。

 ぜひ、商品化も念頭に置いてお勉強していただけたら…

 自分、めっちゃ買いに走ります!

 あははw
Posted by Maroa at 2007年09月01日 19:23
こんなん、できたらいいのにー

と思って調べてみるとできない・・・

ってことが結構あるんですよねー

商品化はなかなか難しいとしても、いろいろやってみるのは
楽しいです♪
Posted by jinkojinko at 2007年09月02日 07:22
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。