木曜日, 11月 29, 2007

リスト to 文字、そして文字 to リスト

昨日、劇団四季のウィキッドを見に行って来ました。
声量すごいなーと感心しつつ、やっぱり風邪をこじらせてる Tai子です。
無理しなけりゃよかった。。。


今日ログインすると、いきなりTai子の体が青と赤の派手なもじもじ君になっていて、相当びびりました。
ということで、その時のSSを。






服着替えたら直りました。  よかった、よかった。
No imageでもなく、こんな状態になったのは初めてだと思う。 ある意味新鮮。 


さて、こないだブログにも書いたSimboardのグループに入って情報集めたりしてるのですが、
残念ながら、都合のいい時間にゲームをやってないのが痛いです。 かといって、そのために月曜日休むのもどうかと思うし。。


他には、以前ブログにちょっとだけ書いたSLH(Second Life Hockey)リーグの試合が、SLCN(Second Life Cable Network)で見ることが出来ることを知って、いくつか見てみました。
試合前の解説が長くてかなりイラッとくるのはおいといて、試合自体はなかなか面白そうです。
やっぱり一回は実際に見に行ってみたいですね。

SLCN
http://slcn.tv/


などと、ぐだぐだ書いてますが、今日もホロデッキの修正をいくつかやっていて、特に冒険ネタがないので、スクリプトで最近気になったことを書きます。

llSetPrimitiveParamsやllGetPrimitiveParamsをホロデッキでは使おうとしているのですが、引数になるリストを複数プリム(オブジェクト)間でやり取りする時に、文字列化しなければいけなくて、今まではwikiにあるListConversionのサンプルを参考に(というかそのまま)使っていました。

  http://rpgstats.com/wiki/index.php?title=ExampleListConversion

これを使うと、

データタイプ、区切れ文字、データ、区切れ文字、データタイプ、区切れ文字、データ、・・・

という形の1つの文字列になるので、link_message/listenでやり取りするわけです。

このままでも別になんら問題はないんですが、ちょっと区切れ文字使いすぎじゃないかなと思い立って、少し工夫してみました。

改良点は、データタイプをリストの最初にまとめているため、区切れ文字が半分ぐらいで済みます。

(改良版)

データタイプまとめたもの、区切れ文字、データ、区切れ文字、データ、・・・




string sep = "#!$"; // funky name for clean namespaces

string list2string(list lst) {
list ret = [];
string tlst = "";
integer i;
integer len = llGetListLength(lst);

for(i = 0; i < len; i++){
tlst = tlst + (string)llGetListEntryType(lst, i);
}
ret = llListInsertList(lst, (list)tlst, 0);
return llDumpList2String(ret, sep);
}

list string2list(string str) {
list lst = [];
list ret = [];
lst = llParseStringKeepNulls(str, [sep], []);
integer len = llGetListLength(lst) - 1;
integer i;
integer t;

string tlst = llList2String(lst, 0);
if(tlst == "" || llStringLength(tlst) != len) return [];

for (i = 0; i < len; i++) {
t = (integer)llGetSubString(tlst, i, i);

if (t == TYPE_INTEGER) ret += (integer)llList2String(lst, i+1);
else if (t == TYPE_FLOAT) ret += (float)llList2String(lst, i+1);
else if (t == TYPE_KEY) ret += (key)llList2String(lst, i+1);
else if (t == TYPE_VECTOR) ret += (vector)llList2String(lst, i+1);
else if (t == TYPE_ROTATION) ret += (rotation)llList2String(lst, i+1);
else ret += llList2String(lst, i+1);
}
return ret;
}

火曜日, 11月 27, 2007

メニューを作るときに

Taifrogです。


最近例のホロデッキを改造中で、こもりつつ、遊びつつ、そして飲み会で酔っ払いつつ過ごしてます。


スクリプトに取り組んでる中で、ホロデッキに登録された部屋の数が多くなった場合に、llDialogで表示するメニューが1個で足りなくって、次へボタンが必要になるような状態というのを実は今まで考えてなかったということに気づきました(遅・・・)。 まあ、他の機能にばっかり目がいってたというのが正解なのですが。。。


1回のダイアログに表示できる数にも限界があるので、ページ分けしないといけないわけです。

で、そのあたりを色々考えてるうちに関数にしてみたので、特に冒険ネタもみつからなかったので、公開してみます。



1~27のリストを、この関数を使ってダイアログ表示してみたもの。 これは1ページ目。
全部で12個表示になるようにして、1個だけ次へボタン(>>)にしてあります。



これは2ページ目。 こちらも全部で12個表示のまま、うち2個を前へ、次へボタンに。

3ページ目は前へボタンだけ。






******************************
integer ONEPAGE = 12;   // 1ページ当りのボタン数
integer pagemax; // 必要なダイアログ数


/////////////////////////////////////////////////////////
//// GetPageMenu : 指定ページのボタンリストを取得する関数
//// 引数 pagenum 指定ページ
//// maxlist 全ボタンリスト
//// 戻り値    指定したページのボタンリスト
/////////////////////////////////////////////////////////
list GetPageMenu(integer pagenum, list maxlist)
{
list pagelist;
integer startp;
integer endp;
integer p;
integer maxnum = llGetListLength(maxlist);

//// 必要なページ(ダイアログ)数を計算
if(pagemax == 0) {
if( maxnum == 1 ) pagemax = 1;
else if( maxnum > 1 ) {
pagemax = llCeil(((float)maxnum - 1.0)/((float)ONEPAGE - 2.0));
if(maxnum == ((ONEPAGE * (pagemax-1)) - ((pagemax - 2) * 2))) pagemax = pagemax - 1;
}
}

//// 指定したページの最初に表示するボタン番号
startp = (ONEPAGE - 2) * (pagenum - 1) + 2;

//// 指定したページの最後に表示するボタン番号
if(startp > maxnum) return (list)[];
else if(maxnum >= startp && maxnum <= (startp + ONEPAGE - 2)) endp = maxnum;
else if(maxnum > (startp + ONEPAGE - 2)) endp = startp + ONEPAGE - 3;

//// ボタンリストを生成
pagelist = llList2List(maxlist, startp-1, endp-1);
if(pagenum == 1) pagelist = llListInsertList(pagelist, llList2List(maxlist, 0, 0), 0);
else pagelist = llListInsertList(pagelist, (list)"<<", 0); // 前へボタン追加
if(pagenum < pagelist =" llListInsertList(pagelist,">>", 2); // 次へボタン追加

return pagelist;
}
******************************



たまにはこういうの書いてもいいでしょ。

日曜日, 11月 25, 2007

SLSBA (SL Simboard Arena)

Tai子です。


私が初めて投入したリアルマネーを使った遊び道具 Simboard。
当時は3箇所ぐらい遊ぶところがあって、時間をつぶしていたんですが、あっというまに場所がなくなってしまい、大変悲しかった記憶があります。

それから自分の土地にハーフパイプ作ってみたりしたんですが、狭い土地では無理でした。


このSimboardを使った新しい場所がオープンするということで、
まだオープン前だったのですが、行ってみました(オープンは明日午前中、残念ながら仕事です・・)。


SLSBA
http://slurl.com/secondlife/Blue%20Horizon/36/176/21/





SLSBAという場所です。 
ボードもいくつか売られています。 一つ L$500。
私が以前買ったものはシンプルなデザインなので、買いたい気持ちが、、、、 うぅぅ、財布と相談だ。



機能はかなり満載。 位置調整、アニメ豊富、テクスのカスタマイズ可能などなど。

どんなアニメ(トリック)が用意されているのか気になります。


そしてオプショントリックも売られてました。

逆立ちに、寝そべったり、、、 ここまで来ると、スキーペアジャンプ大会と同じレベルになってるような。。。


これが会場のハーフパイプです。

まだオープン前なので、中には入れませんでした。 また今度です。



カップルで滑ろう

Tai子です。


最近、部屋をクリスマスムードに飾りたいなーと思ってまして、
ちょこちょこそれっぽい飾りとか家具とかないかなーと探し回ってます。


買う気はないですが、アイススケート用の服なんてのも売ってるんですね(Whitfield Sports Arena sim)。
これを着たらプロっぽく見えます、きっと。



それから、カップルで滑りたい人用のアニメセット。

それも素人用と、プロ用がありました。 どう違うのかは分かりませんが、プロの方が値段高いです。

雪合戦ゲームというのがあったので、ちょっと遊んでみました(Seaducer Island sim)。

ここで雪玉をもらって、戦場へテレポート。 なにかいやな予感がする扉の絵です。。。


襲ってくるガイコツを、雪球で倒すという、別に雪球である必要がまったくないゲーム。

雪球をあてると、爆発して木っ端みじんに。  あたり一面、骨だらけ・・・。 



土曜日, 11月 24, 2007

あんまり冒険できず・・・

風邪引いてます。
そのうえ、甲殻類アレルギーにも関わらず、グラコロ食っちゃって、のどがやばいことになってる
Tai子です。

だって食べたかったんだもん・・・。



ということで、あまり今日はインできてないです。

昨日の夜は、Heaven4DでBoomBoom HardCore Partyがあったので、
ちょっとだけ踊ってました。 

パーティクルがすごい派手で、曲もトランス、見た目もトランスしちゃってます。




最近、WindLightをダウンロードして、色々撮ってまわってます。

これは Everwind。 夕焼けになる少し前の時間ぐらいのイメージ。 海を望む顔に傾きかけた日差しがまぶしい、そんな感じです。





木曜日, 11月 22, 2007

MIGライブ

昨日のライブをブログにアップしようと思ったけど、やっぱ眠いっすということで、あっさり断念した
Tai子です。

好きな言葉は、明日できることは明日やる。
あ、あと、1円を笑う奴は100円で100回笑える、、、、(by嘉門達夫)



koenjiのMIGホールで、柏のライブハウス Studio WUUとの連携ライブがありました。
海外のライブではたまに見かけるのですが、日本では画期的な試みです。


柏です。 えーと、kashiwa、とか検索打ってもそんなSIMは出てきません。 リアル千葉県柏市です。

実は、私の家から30分足らずで行けるんですが、16号線を車で走るにはつらい時間。 すでに飲んでる時点でOUTです><


最初はTOMOFUMinさんのピアノバラード。 

ふー、大人サウンドだ。 ウィスキーをカランコロンしながら聴きたいが(実際は100円で買ってきたマンゴー味のチューハイしかない ・・・ 甘いぜー うぃ)。



二人目はちゃびんさん。 とっても楽しい曲で、思わず踊ってしまいました(冷静にキー操作しているという話もあるけど)。 トークも楽しかったです。



三人目は、五十嵐暁子さん。 きれいなピアノの音色に寄りそっていたい、そんな気分になりました。



4人目は、花れんさん。  優しい声で、詩もよかったなー。
手に持ってるのは、ちゃびんさんと違ってウクレレらしいです。 まもさんよく探してきたねー、えらい。



そしてラストは、みんなで秋の歌メドレー。

Portaさん、次のライブのために紅葉マシン用意しておいてー。 あ、もう桜マシンもあった方がいいかもー。

すんごい楽しかったです。

柏いいなー、たまに行っても ビッグカメラ利用する程度だから、あんまり回ったことないんだよねー。




火曜日, 11月 20, 2007

Rezzable 死の遊園地

女子高生ってマフラーを巻くタイミングってどうやってあわせてるの?と
不思議に思う Tai子です。


Austria City Simが凍ってるということで、早速滑ってきました。
街の周りの川?が全面凍ってました。 




見事に凍ってますねー。
昨年買ったアイススケート靴をひさしぶりにインベントリから取り出してはいてみた。
結構楽しいです。


調子にのって、読書 オン ザ アイス。

お腹壊しますね・・・。


kotoさんからの情報で、Rezzable Sim群に遊園地が出来ているとのことで行って見ましたー。


Rezzable Sim - Carnival of Doom -
http://slurl.com/secondlife/Ebuddy%20Rezzable/179/66/24/



チケット売り場でもらったHUDをWearすると、なぜかHealth 100%と表示されます。

遊園地を見回してみると、かなり怪しげな雰囲気がぷんぷんとしてきますねー。

そう、ここは死の遊園地、というかすぐに死んじゃう遊園地です。




すぐにゲーゲー吐いちゃう綿菓子や、すぐにゲーゲー吐いちゃうジュースや、すぐにゲーゲー吐い・・・。
まともなもの置いてないのか!


メリーゴーランドに乗って、死んじゃいました・・・。
死ぬとこんな部屋に強制テレポさせられます。



たまに観覧車のゴンドラが落っこちてきたり、変な見世物小屋があったり。

まだ作成中の部分(オープンしてないもの)があったりするんですが、楽しい死の遊園地、どうですか?

土曜日, 11月 17, 2007

Art Galleries

Tai子です。


今日はギャラリー巡りをしてました。
何度か訪れたことのある場所ですが、行くたびに飾られている絵をまめに変えてあって、新しい発見があります。 少々重めなのがちょっと。。。

「Nantucket Village Square」
http://slurl.com/secondlife/Nantucket/37/109/21/




今回は、ボストンスクールというリアルの芸術学校の作品が展示されてました。
季節的に、雪景色の絵が気に入りました。



その後、なんとなくサンタさんのソリに乗せてもらったり、、、


水族館(SASUKE SEA GARDEN)見てみたり

(ここってガラスがないから、水槽の中に入れるんですけど・・・)、、、


ASUKAで踊ったり、、、




あれこれしてるうちに、外国の友達から呼ばれたのでテレポしたのですが、
この友達、誰だっけ??? といつものように覚えてなくて・・・。

まあなんとかなるだろうと、テレポしてみたら、いきなり怪しげな場所・・・。



ダークデーモンだという見た目怖そうな人と普通に会話したりして、

友達はとりあえずギャラリーを見せたかったらしいので、見に行くことに。


なんの写真だよ、、、 リアル怖いんですが・・・。




夢に見そう・・・。

Felonhall City

最近寝るのが早い Tai子です。


Felonhall、新しいロールプレイSIMらしいです。

※Felonhall City サイト
http://www.felonhall.com/portal.php

SLURL
http://slurl.com/secondlife/Harmony%20Isle/130/86/41





えーと、時代背景としては、2013年の荒廃した世界ってことらしいです。


銃所持したい場合は、DCS-HUDをつける必要がありますが、
観光だけならそのままでOK。 とりあえず意味もなく撃たれたくないので、そのままぶらついてみました。
私が行ったときは、Roleplay中のNEKOさん達をちらほら見かけました。 なんのロールプレイなのかよくわかりませんでしたが。。。

お店が何軒かすでに入ってるみたいです。 
この街の雰囲気にあった服やアクセサリーが増えそうで期待出来ますね。 武器屋も並んでますけどね。


町外れ、暗い墓場と遠くに怪しげな建物が見えてきました。


たまに見かける南無阿弥陀仏の日本のお墓はやめてーー、雰囲気壊れるw


墓場を越えて、怪しげな建物に近づきました。

が、ロックされてて、中には入れませんでした。。。 残念。



ちなみに、同じような雰囲気のMissing Mileへ続く道もありました。 
といってもMissing MileのLMをもらえるだけで、となりは全く別SIMになってました。


試しに隣のSIMを覗いてみると、、、、、

全然違う! なんでSIMをくっつけてるんだろう・・・。




日曜日, 11月 11, 2007

久しぶりに物作り

Tai子です。


今日の午前中はライブ聴きに行ってました。

Grace McDunnoughさんというギターの弾き語りをされる方。 朝、ぼーっとしながら聴いてました。
http://phasinggrace.blogspot.com/





ひさしぶりになにか作りたくなりました。
朱雀の家の上空に作った小屋で、あれこれ実験してました。

llSetPrimitiveParams 関数の引数は、パーティクルの関数よりもごちゃごちゃしてて使いにくそうな関数なんですが、プリムを細かく設定できるので、色々無茶な数字設定してみたりして、遊んでました。

以前作っていたホロデッキシステムの応用でもあるんですが、LSL ConJでyouさんが出展していたDEKU(人形のアニメ)を参考に、さらにllSetPrimitiveParams 関数を扱ったものを作ってみました。


前のホロデッキは一回Rezしたら終わりだったんですが、アニメなのでこれを数十回連続して実行できるように変更しました。

で、位置と角度だけしか記憶、再現していなかったものをllSetPrimitiveParams 関数に置き換えたことで、サイズ、ひねり、Hollow(穴)、色、アルファ等なども扱えるようにしてみました。

作ってみたのが、このへんてこな実験人形。 転びそうになりながら目が飛び出るという意味のわからないものを作ってしまいました。

なにか有効利用ないでしょうか?

どっちにしてもSIMには優しくない代物ですが・・・。

土曜日, 11月 10, 2007

ソラリさんリクエストライブー

次に読む小説何にしようか考え中の
Tai子です。

移動都市面白かったから、4部作の2部目出てないか探してみよう(独り言)。




今日は特にこれといって「お!」って思える場所はなかったので、省略しちゃいますが、、、

1.The King of Azuria (Spinel Island sim)
  新しい中世ファンタジーRoleplay simです。 一つのSIMに村と城と雪山と島とかあります。
  つめこみすぎでは???



2.Everwindの村で、Everwindを主体にしたアート大会やってました。
  Everwindは絵になる場所多いなーと感心。 


23時からソラリーさんの予約制リクエストライブに行って来ました。

昨日、Portaさんからチケットが届くまでは、ちゃんと予約取れたのか心配でしたが、よかったよかった。

場所は RyuryuさんオーナーのBreak Time sim。 野原の真ん中にピアノがあって、周りを囲むようにみんな座って聴いてます。


ソラちゃんかわゆす。 声もかわいかった。

私がリクエストした「優しい雨」(小泉今日子)を歌ってくれてほんとうれしかったー。

やっぱソラちゃんのやさしいトーンの声にぴったりだったし、感動しちゃった。

この曲を作曲した鈴木祥子さんという人の大ファンだったんです。 キョンキョンもいいけどさw

また昔買った鈴木祥子さんのアルバム聴いてみたくなりました。


最後は雪が降る演出の中、「北風」(槙原敬之)。 こういう演出って重要だよねー。

少し時間が戻ったのは気のせいということでw