2008年02月25日
実用品 製作メモ
あらら^^; このブログ、気がついたら1ヶ月以上も放置してましたね
かといって、SL内ではいつもスクリプトの研究・実験をしているので、特に変わった出来事があったわけでもなく、
取り立てて書くようなネタもないわけでして・・・・・ 困りましたね
とりあえず、いろいろな方から注文をいただいて製作したスクリプトを 忘れないようにメモっておくことにします。
といっても全部のコードをそのまま載せるわけにもいかないので、制作時に学んだことの私的なメモですけど・・・・・
読んでも面白くないですよ
-------------------------------------------------
①タッチ・マネー
勝手に命名しました^^;;
某グループ(名前出していいのかな?)のクリスマスイベントで使ったんですけど、タッチしたらお金がもらえる
オブジェクトです。
お一人様1日1回限定で、ランダムに1~100L$もらえる仕組みです。
まぁ100L$が出る確率は1000分の1ぐらいの確率にしたので、当たるわけないんですけどね ココだけの話ですよ
【メモ】
スクリプト1枚の容量は16kバイト
各アバター・オブジェクトに割り符られているIDは32桁の16進数
②ドア、窓
マンション建築に参加させていただく機会が2度ほどありまして、ドアと窓に入れるスクリプトを書きました。
まぁ普通の回転ドアとスライドドアです。入居者専用の鍵がついてますけど、あんまり意味ないです
カメラはどこにでも入っていけますもんねぇ 窓は、ダイアログで透明度を設定できる仕組みです。
【メモ】
面番号の調べ方
編集 → 「テクスチャを選択」にチェック → 調べたい面をクリック → Ctrl + Alt + Shift + T
③ダンスパッド
一人用のダンスパッドです。 といっても実はポーズスタンドと同じなんですけどね。
座る→(パーミッション要求)→アニメ再生
立つ→アニメ停止
こんな感じですね。
【メモ】
wikiには
A dialog is presented to the agent to grant these permissions except for a few cases:
If agent is sitting on object - Control and Camera tracking permissions are granted
without notification upon request.
と 書いてあるんですけどおいおい訳せよ、 座ってアニメを再生するときも、いちいちパーミッション要求のダイアログ
出てきませんよね^^; というわけで( )をつけておきました
④キャンプ
普通に椅子に座るキャンプです。
設定項目は、「単位時間」、「もらえる金額」、「連続回数制限」、「グループ専用かどうか」、「一日の上限金額」だけ
なので、わざわざ設定用のノートカードを読み取るようにはせずに、直接オーナーの方にスクリプトを書き換えて
もらうようにしました。
⑤ダンスキャンプ
③と④を組み合わせたら⑤ができました
って、組み合わせるもなにも、③のパッドに④のスクリプトを入れただけなんですけど
ダンスとキャンプのスクリプト2つをまとめて1つにしようとしたんですけど、私の技術じゃどうも上手くいかなくて^^;;
たぶんパーミッションの問題なんでしょうね。
【メモ】
wikiによりますと
Scripts may hold permissions for only one agent at a time.
To hold permissions for multiple agents you must use more then one script.
とのことです。
⑥ベンダー
ベンダーっていうのは商品を売る装置、いわゆる販売機でして、今回作ったのは、いま流行のタイプで、
委託ショップ用っていうんですかね?売り上げがあるたびに その中から委託料・管理料を、自動的徴収する
ことのできるベンダーです。
出店者の方には、価格、商品名などを設定していただく必要がありますけど、いちいちスクリプトを書き換えてもらう
のもタイヘンでしょうから、ノートカードに設定項目を記入していただいて、それを読み取るようにしました^^
じつはこれ、ひそかに人気商品でしてとさりげなく宣伝
⑧プリム・チェッカー
とりあえず今のところの最新作です。これは、人に頼まれたモノではないんですけどね^^;
その土地にあるプリムの所有者とプリム数をチェックする装置です。
タッチすると、下のSSみたいな感じで、その土地にある全プリムの所有者を調べることができますよ~~
【メモ】
llKey2Name(key id)
今回は何故かうまくいかないなぁと思ってwikiで調べると
If id is not in the sim and has not been in it recently, an empty string is returned.
だそうです。
llRequestAgentData(key id,integer data)
dataのところをDATA_NAMEにすると、llKey2Nameのような制限なしにidの名前を調べることができるそうです。
dataserverイベントで対応
------------------------------------------------
とまぁ こんな感じです^^
やっぱり、読んでも面白くなかったでしょ