水曜日, 9月 12, 2007

Karamoon ちょっとだけ散歩

Tai子です。


中世Roleplay-SIMにいる時は、マントを羽織って、お気に入りのBowを背負っています。

今日は Karamoonに来ています。

Karamoon, Port Tarrund-Medieval
http://slurl.com/secondlife/Karamoon%201/78/12/27/




入り口の小屋の中には、例によってSIMルールが置いてあるのでちゃんと読みましょう。

ちょっと気になったのは、HUDです。
Roleplay-SIMには大抵入り口にHUDが置いてあることが多いです(頭の上に種族とかHPとか表示される)。
DCSを使うケースが多いようですが、中にはEverwindのようにオリジナルHUDを使っているSIMもあります。

どうやらここもオリジナルのようですが、ちょっと凝ってますね。
まだ今日は様子見なので、今度来たときに買ってみようと思います。


上空にモールがありました。

当然、中世ファンタジーに似合うものしか置いちゃダメです。

スペルブックも色々見ますが、これは高い、、、L$3500、 魔法(パーティクル)を36種類も出せるみたいですが、、、高すぎる。。。


街中を散歩。

ここは教会です。 天井に紫を使っているのが印象的です。



さて、このKaramoon、実は2つのSIMから出来ています。

この坂を登って、街の外壁から外に出てみましょう。



ゆるやかな丘の上まで行ってみると、


そこから先は隣のSIM。 霧が立ち込めて怪しげな雰囲気になってきました。

ここから先はevil系のSIMになっているんです。


一面に霧がかかっているので微妙に重い気が・・・。

奥に行くと、怪しげな城がありました。 深い谷、城へ行くには上げ橋を渡る必要がありますが、橋を下ろしてもらう必要がありそうです(飛べるけど、Roleplay的に飛んじゃダメw)。

さて、今度来た時は正式にHUDつけてRoleplayして、この橋を渡ってみようと思うTai子でした。





*********************

Select Room System (ホロデッキ自作版の名前、略してSRS)、基本的な部分はほぼ出来ました。

ちょっと最近悩んでたことですが、
このSRSは Shout()で命令出して、Rezされるオブジェクトが listen()でそれを受け取って、消えたり、パーティクル出したり、移動したりしてるわけです。

で、例えばSRSを複数の人がShoutが届く距離内にRezして使う場合、
もしくは一人の人が複数のSRSをRezして使う場合でも、ちゃんとそれぞれで動くようにしようと思って、そのあたりを色々考えてました。
となりの人がSRSで出した部屋をクリア!ってやったタイミングで、こっちの部屋も消えたら困るってことですね。

対策としては、llGetOwnerKeyとllGetKeyをメッセージのキーに使って、各オブジェクトが記憶しているキーと合っているかチェックして、他のSRSからの命令を受け取らないようにしました。

で、実際やってみたんですが、これがなかなかうまく行かない。
理屈では問題なさそうなんですが、なぜかオブジェクトキー(llGetKeyで取得したもの)が変わってしまう。

なんのことはなく、SRS作成者の私がテストのためにSRSをRezするたびに、SRSがコピーされて(=オブジェクトキーが変わる)いたためでした。
でも作成者のパーミッションからコピー権限を剥奪することは出来ないので(知らないだけ?)、しょうがなく別アカでテストしたら上手く行ってました。

よかった、よかった。


最後のところは自分へのメモっぽい感じですが、このあたり他の人がどんな風にやってるのか知りたいものです。

あとは、気兼ねなく、でっかいビルをRezしたり消したり、移動させたり出来るサンドボックスどっかにないかなーとか思うんですが、、、 今日テストしてたら案の定邪魔されたり。。。 初心者と違って多少爆発しようが檻に入れられようが今更驚きもしないけど。。。

4 件のコメント:

Kio Whitehead さんのコメント...

rezする側とrezされる側が同じオーナーになるなら、メッセージにagent key値をllList2CSV()などで含んでチェックすれば、よけいなメッセージははじけますよね。(フィルターではできないけど)
建物系で、アイテム消失のリスクがあるのにcopyなしっていうのはどうなのかな、と思いますが…家具だと考えればまぁありか。
建物のcopy権限は複製可よりも、保険なので、通常同一人物が複数rezすることは考えられてない(考えない)ような気が。

建築場所は、身元がしっかりしているならasukaで許可もらえると思います。LINZOOさんに聞いてみてはどうでしょうか。

Taifrog Moriarty さんのコメント...

kioさん、ありがとう。
メッセージチェックは今はその手でやってます。 
パーミッションは難しいですね、、、 たしかに。 実は根本的に方法を変えて、もっと柔軟にならないか考えてます。

Kio Whitehead さんのコメント...

あ、あと本体をrezしたときの時刻(通算秒/llGetUnixTime)を取って、llRezObject()のパラメータで渡して、以降メッセージにオーナキーとそれ使うっていう手もなくもない。
同一オーナーが同一時刻(同一通算秒)にrezしない限り区別はつく。

Taifrog Moriarty さんのコメント...

おー、確かに。それもプログラムとしてはよくある手だね。
それも考えてみます、ありがとう。
今度、kioさんにも、これ見せるね。