2009年02月20日 – 03:48
Creatizm Labo用にレンタルシステムを開発していたところ
タイムリーに「レンタルシステムを開発してほしい」というお声をかけて頂きました^^
「市販の箱形は置きたくない
あの形とフローティングテキストが嫌」
ということで、詳しく話を伺ってみますと、かなり凄いSIMを造営中の方で
実際に見せて頂いたんですが、そのスケールの大きさと一貫したコンセプトに脱帽…
ウチのCreatizm Laboなんかとうていかないそうにありませんでした…
…と、ちょっと話がそれましたが
結局、ハードはご自身で準備して頂き、LB Systemはソフトを提供するということで話がまとまりました
ウチで使おうと思っていたものを叩き台にして、次のような機能を盛り込んでみました^^
1. サーバ機を準備し、設定はサーバ機から読み込む
あらかじめ、サーバ機にプリム数や価格などの設定を複数保存しておき、各ブース
から設定を選択して読み込みます。もちろん、サーバを使わずにブースに設定を書
き込むこともできますし、サーバ経由で起動 / ローカル起動のスイッチもついてま
す。
2. フローティングテキストを使わず、状況はステータスランプの色と点滅で表現
レンタル募集中 / レンタル中 / 支払い延滞中などのステイタスを色で表示すると
ともに、タッチで詳しい状況をしゃべるようにしました。遠くから見ても状況が
一目瞭然ですし、フローティングテキストを使わないのですっきりした見栄えに
仕上げることができます。
3. オートアップデート機能
サーバ機に返金機能を実装することにより、ブース側はパーミッション認証いらず
でリセット可能。すなわち、オーナー不在でもLB System側でアップデートでき
ちゃいます^^ オーナーがご自身でアップデートする場合も「アップデータを置
いておくだけ」で、何も操作せずとも「アップデート→リセット→アップデート直
前の状態に復帰」までを勝手にやってしまいます。もちろん、レンタル中にリセッ
トしてもテナントさんのデータは保持され続けます^^
4. 予約機能
ブースの利用者を指定してしまうことができます。先に指定してしまいますので、
その後はオーナーが立ち会うことなく、特定の人と契約を交わすことができます。
これ、現在テストを行っているんですが
はじめのサーバ設定を済ませてしまうとそれからの運用がむちゃくちゃ楽です!
(サーバの設定は、市販のレンタルボックスの設定と同程度です)
あらかじめ設定を複数準備しておき、設定変更時は「どの設定を使うか」を選択するだけで
あっという間に設定変更できてしまいます
以前、HUDから設定できるレンタルシステムはできないか? とご相談頂いて
そのときは、HUDよりもWEB連携に興味があってお断りしたんですが
これはWEBを使うよりも楽かもしれませんし
インワールドのみで完結するシステムなので、通信エラーやハッキングの心配も減りますね^^
モール経営なさっている方、これから考えていらっしゃる方
独自のレンタルシステム構築しますよ^^
建物自体に組み込むこともできます!
建物自体に組み込んだ例はこちらに設置してテスト中です^^
よかったらご参考になさってくださいませ
Posted in オーダーメイド | No Comments »
2009年02月09日 – 14:45
アクセサリー屋さんからご注文いただきましたオーダースクリプトの完成がようやく見えてきました。
ご注文内容は…
1. テクスチャーチェンジ機能
・任意の特定のプリム(複数アリ)のみテクスチャーが変わること
・テクスチャーごとにオフセットや倍率、グロー、色などのパラメータの指定ができること
・使用するテクスチャーの枚数は商品ごとに異なる
・テクスチャーチェンジ機能を必要としない商品もある(その場合はダイアログに表示させない)
2. リサイズ機能
・どれか1プリムでも最小の大きさ(0.01m)になればそれ以上縮小させないこと(拡大も同様)
・インストールが簡単なこと
・リンク数が最大の255でもきちんと動くこと
・拡大 / 縮小はダイアログから行う(拡大 / 縮小それぞれ1%、5%、10%ずつ)
・リサイズを使わない商品もある(その場合はダイアログに表示させない)
3. パーティクル機能
・任意の特定のプリム(複数アリ)からパーティクルを出せること
・パーティクルを使わない商品ではダイアログからそのメニューを消せること
4. 効果音再生機能
・一定時間ごとに効果音を再生できる(ダイアログから周期とオン / オフを選択可能)ように
・効果音を使わない商品ではダイアログからそのメニューを消せること
※ これらをどんなアクセサリーにも対応できるよう汎用的につくってほしい(設定は簡単に)
単体スクリプトというよりも、ソフト開発に近いですねw
ウチが最も得意とする分野です^^
というわけで、こんな風に設定できるようにしてみました
(コアスクリプトは別途存在しますので、このスクリプトだけを入れても何もできませんw)
Posted in オーダーメイド | No Comments »
2009年01月19日 – 23:33
Second Life Wikiによると、
検出されたオブジェクトが同じリージョンにあるとき llGetOwnerKey(llDetectedKey(number)) はllDetectedOwner(number) と同じ
とありますが、調べてみると結果が違いましたので(既出かもしれませんが)ご報告します。
…の前に、何のことか分からない人のためにw
この関数は、オブジェクトのUUIDを引数に指定し、「そのオブジェクトのオーナーのUUID」を返すものです。持ち主が誰かを調べたいときによく使います。この関数にディテクト系の関数を加え
とすると、ディテクト(衝突やセンサーなどで検知すること)によりヒットしたオブジェクトのオーナーを調べることができます。これは、同じディテクト系関数に「llDetectedOwner(number)」という関数がありますので、こちらを使うことにより同じ結果が得られるハズなんですが…
(前置き終了)
さてさて、何が違ったかというと、「検知されたオブジェクトがグループ所有の場合の戻り値」です
- llDetectedOwner(number)では、NULL_KEYが返される
- llGetOwnerKey(llDetectedKey(number))では、グループのUUIDが返される
という結果になっていました。
llDetectedOwner()は、アバターのみを参照する関数のようですね^^
ついでに、llRequestAgentData()のタイムアウトは何秒が妥当か? 調べてみましたw
Posted in 雑談 | No Comments »
2008年12月02日 – 17:20
llLoadURL()関数を忘れていたので追加しました。
詳細はこちらをご覧ください。
余談ですが…
当初、ml.moduleとしてご紹介しましたが
「モジュール」というよりも「ライブラリ」なのかな?と思いまして改名しましたw
Posted in 多言語モジュール | No Comments »
2008年11月28日 – 04:15
とりあえず、やりたいこととテストコードをつらつらと…
1. やりたいこと
llSay(), llOwnerSay(), llInstantMessage(), llDialog()などUIに利用する関数を、代替関数を用いることで多言語化させる
ちと具体的に書くと…
llSay(0,
"Hello, Avatar");
説明も不要なこの関数を…
という感じで、代替関数を使うことによって、”Hello, Avatar”の部分を各言語に置き換えてしゃべらせたいと^^
そういうわけなんですw
(mlはバレバレですが、MultiLingualからとってます)
2. テストコード
んで、いきなりですがコードからw
前者が「ml.module」で、後者のスクリからそのモジュールを呼び出しています
とりあえず、llSay(), llOwnerSay(), llInstantMessage()の代替関数をつくってみました
(llDialog()はまだです)
細かいことは抜きにして、興味のある方は試してみてくださいw
なるべく汎用性を持たせ、GPLライセンスで配布したいと思っていますので、突っ込み大歓迎です♪
─── 追記:2008-11-28 15:10 ───
llShout(), llWhisper(), llRegionSay(), llSetText()の代替関数も追加します
あと…何かあったかな??
─── 追記:2008-11-29 02:52 ───
llShout(), llWhisper(), llRegionSay(), llSetText(), llDialog()の代替関数を追加
llDialog()の「ボタン」を多言語化するかどうか悩み中…
─── 追記:2008-11-30 02:21 ───
下記ページへ移転しました。最新情報はそちらをご覧ください。
http://arznitely.com/document/?id=ja:free_lsl:lsl-ml.lib
Posted in 多言語モジュール | No Comments »