Site search

Google
WWW を検索 backup-beta.blogspot.com を検索

2009年4月29日水曜日

ランダムマネーギバー

去年試作して途中で放置してたRandom money giverを一応完成させて販売を開始しました^^

試作したときランダムチャットマネー(チャットキャンプ)と一緒に試用品まで配布したのに、この装置のほうはそれから半年以上放置ですよ^^; まあ実はゾーンキャンプも同時期に試作してたりするんですけどねw

ランダムマネーギバーはマネーボールっていう名前になってるものもあって、一定時間毎にセンサーで周囲のアバターをキャッチして、その中から抽選で1名様にお金が当たるんですね。抽選の5分くらい前から1分おきにカウントダウンする機能を持ってるものもよくありますが、このうちの製品はカウントダウンは付いてませんw

でもランダムチャットマネーと並行して試作してたので同じようにボーナス、最低人数、スタッフなどの除外するアバター名などは設定できるようになってます。あと、センサーを回転させてスキャンするようにしてるので16名以上アバターがいても抽選からもれにくいと思います。

お値段はL$200で、Mansion Mall店SL-Shopping.net-Mall店BELLE ROSE店に置いてきました。宜しくお願いします^^


2009年4月28日火曜日

砂場でギフトカードをゲットw

結構人の多いサンドボックスで作業してたんですね。そしたら突然
○○ Radar HUD 3.2: ×× has given you :△△ Gift Card L$ 99 (wear me)
って感じのIM?が表示されて、そのギフトカード受け取りのダイアログが出たんですよ。
それで、ちょっと怪しいなって思ったんですけど、とりあえず受け取ってみましたw

お家に戻ってカードを調べてみたら、それは木製の板に△△ Gift Cardって書かれたオブジェクトで、中から説明書が出てきて、何か専用ベンダーでアニメーションピロー買うときに使えるギフトカードらしいってことがわかりました。。。んー、枕なんですか^^; 服とか買えるのかなってちょっと期待したのに^^;

渡したアバター名はHUDが出した表示なので絶対確かとはいえないんですが、そのお店のオーナー名と一致したので自分でHUD使って配ってたんでしょうかね? カード自体は全く別のSIMにある装置から届けられていました。でもサンドボックスでギフトカードを配布するなんて怪しいですよね。なので、やっぱり捨てときましたw


2009年4月27日月曜日

YouTubeまで映らなくなってるんですけど。。。

何かプロフ写真だけじゃなくて、YouTubeまで映らなくなってたんですよ orz
それで youtubemp4.com を見たら 503 Service Temporarily Unavailable ってなってるんですね。。。これってもしかしてサービス終了なんでしょうかね?@@;

それで、この前映らなくなったのが直った後に知った情報なんですが、他にも変換サービスやってるところがありましたので、そのサーバーに設定を変更したらとりあえず見れました^^;

設定方法を書きます。YouTube TV screenのコンテンツ内にConfigっていうスクリプトが入ってるので、それを開いてURL1、URL2の値を次のように書き換えて保存してください。(13~14行目くらい)
string URL1 = "http://www.vidney.com/d/download_vidney.php?v=yt";
string URL2 = "&f=mp4";

これで/playコマンドでアドレスを再入力するかビデオリストから選びなおしたら見れるようになります。

22時40分頃追記: 販売中のものも一応書き換えてV1.0.8にしときました。

4月28日13時頃追記: youtubemp4.com が復帰していました^^
6月4日追記: www.vidney.comは仕様が変わって使えなくなってました。


23時30分頃追記:
YouTube TV screen customers,
This TV used YouTube MP4 convert service youtubemp4.com, but that server was down... closed???
Therefore, you must change to other server for YouTube TV screen.
Open 'Config' script in the contents of YouTube TV screen, and edit URL1 and URL2 value to below.
string URL1 = "http://www.vidney.com/d/download_vidney.php?v=yt";
string URL2 = "&f=mp4";

And chat '/play URL' or select a movie from video list to work.
2009/04/28: youtubemp4.com was back.
2009/06/04: www.vidney.com changed URL string and can't use that server now.

プロフ写真が表示不能

今日オンラインインジケーターに写真が表示されないっていうお問い合わせが2件あったんですよ。

それでちょっと調べてみたら、 http://world.secondlife.com/resident/<アバターのUUID> のプロフィールのページが表示できなくなってました@@;

SLのデータベースが調子良くないのかシステムを変更中なのかわからないんですけど、とにかく早く直ってほしいですよね。。。

4月28日13時頃追記: 今日は直ってました^^


RSSリーダー

YahooのサービスでPipesっていうのがあって、これは前Yahoo Pipe ってすごい!(ZEROさん)の記事見て何となく知ってたんですけど、何か難しそうって感じがしたので今まで使ってみようとは思わなかったんですねw

でもこの前YouTubeが映らなくなったときに、試してみようって気になって少しやってみたんですよ。。。まあYouTubeは変換サーバーの方が対応してくれたので助かったんですけどね^^;

それで、せっかくPipes始めたので今回は練習にRSSリーダーを作ってみました^^

PipesはRSSとかのXMLですかね、そういうデータ扱うのに向いてるサービスかなって気がしたんですけど、やっぱり難しいって思いましたね。。。んー、何かパイプがつなぎたいところにつなげられないんですよ。マウスでパイプをぐいーって引っぱり出す感じで作業できるので、最初やってみたときは案外簡単そうって思ったんですけど、どこにでもつなげられないってところがすごく悩みましたwww


2009年4月26日日曜日

プチフリマにラッキーレター設置

本日から始まってる東京プチマーケットなんですが、ラキボ設置OKって連絡があったので、さっき設置してきました^^

賞品は1プリムの椅子です。こういうのはスツールって言うんですかね? バーとかのカウンターに似合いそうな形の椅子ですね^^ 8分間隔で稼動させてます。

この椅子は結構前に作ったスカルプなんですが販売はしてなかったんですよ。ポーズも入ってないシンプルなものですが修正可なので、大きさ変えたらスクリプトのsitポジションも修正してくださいね。

フリマにはたくさんのショップが出店されてて、各店1点のセール品があります。うちはラッキーレターを通常価格の25%オフでセールしてますので宜しくお願いします^^
プチフリマのブログです^^
http://slurl.com/secondlife/TokyoMainLand/128/147/22


1prim 16items vendor

昨夜から1プリム9アイテムベンダーを最大16アイテムまで扱えるよう拡張した1プリム16アイテムベンダーを販売中です。

でも1枚のテクスチャに小さな商品写真を16個つめこんでるので、右に拡大表示した商品を近くで見たら、やっぱり9アイテムのベンダーよりも粗さが感じられるんですよね^^;
なので、画像に小さな文字とか入ってないような。。。あまり近くで見なくても買えるような商品ですかね、そういうのだったらオッケーかなって感じですw

この商品は現在メタコマース限定で販売中です。宜しくお願いします^^
http://shop.slmame.com/mtc/blogger/?action=article&gc=200904263451&sid=slmame.com


2009年4月24日金曜日

東京プチマーケット

26日から東京メインランドでViokuさんがフリーマーケットを開催されるんですね。それで今回も出店させてもらうことになりました^^

今回のフリマは割引セール品を1点出すことになってるんですよ。うちはラッキーレターを25%オフで出します。。。この前値上げしたばかりなんですが^^;;

あとは何となくキャンプ用品を中心に出品してみました。マネーキャンプ用はめったに売れないんですけどねw

プチフリマのブログです^^
http://slurl.com/secondlife/TokyoMainLand/128/147/22

場所は東京メインランド(でもメインランドじゃないですw)なんですが、そこは去年他の方が開催してるフリマに出店させてもらったことがあった場所だったと思うんですよ。それで場所聞いたとき懐かしいなって思ったんですが、もうその頃とは様子がぜんぜん変わっちゃってるみたいでしたね^^;

期間は4月26~5月10日までです。中央にはステージみたいな感じの設備が作られてて、そこでライブ?DJですかね?(すみません詳しくなくて^^;)何かそんな感じのイベントも計画されてるらしいです♪ 皆様是非お越しくださいね^^


2009年4月23日木曜日

ランプ2種類を修正

最近何種類かの商品のパッケージを直したんですが、この前インベントリーの調子が悪かったときアップロード失敗して10L$損した千尋ですwww

カラフルスタンドランプっていう、これも初めて小さな店舗を借りてお店を始めたころから販売してた商品なんですが、スタンド部分2プリムだったのをスカルプで1プリムにして、電球と合わせて合計2プリムになりました。修正ついでにパーミッション設定(オーナー、グループ、誰でも)とか夜間に自動点灯するモードなどの機能も追加してコピー不可、譲渡可で価格L$20に変更したんですよ。このランプは2度目のタッチでライトの色がタイマーでじわーっと変色するようになってます^^

それとアンティークミニランプの首がちょっと細すぎだったのを修正しました。写真は修正後のもので前はこの半分ほどの細さだったんですよ。。。ずっと気になってたんですけどね^^;


2009年4月20日月曜日

お誕生日を調べるスクリプト

今回はアバターの生まれた日。。。Rez dayを調べるスクリプトです。

// 誕生日を表示
key query;

default
{
    touch_start(integer total_number)
    {
        key id=llDetectedKey(0);  // タッチしたアバターのキー取得
        query=llRequestAgentData(id,DATA_BORN);  // データサーバーに誕生日を問い合わせ
    }

    dataserver(key id, string data)
    {  // データを受け取ったら
        if (id == query) {
            llWhisper(0,data);  // 表示
        }
    }
}

まあ誕生日を表示するだけだとこんな感じでllRequestAgentDataを使って簡単に調べられるんですが、dataserverイベントでデータをもらうので、タッチしたアバターのキーと誕生日を使って何か処理をするときは、2人以上同時にタッチしたときキーが他の人のと入れ替わって誤動作しないよう考えておかないといけないでしょうねw

マネーツリーとかのニュービー限定機能みたいに、生まれて1年以内のアバター限定でアイテムを渡すスクリプトを考えてみました^^


キー型の変数avがNULL_KEYのときだけ処理するようにして、数人同時のタッチがあったとき最初の1人以外は無視するようにロックしてます。それからデータサーバーが調子悪いとき反応が返ってこないってこともありそうなので一応タイマーで10秒待っても反応ないときはロック解除するようにしてみましたw
// 生まれて1年以内だったらアイテム渡す
key query;
key av=NULL_KEY;

string del_minus(string date)
{  // 日付からマイナス記号を取り除く
    string y=llGetSubString(date,0,3);  // 年
    string m=llGetSubString(date,5,6);  // 月
    string d=llGetSubString(date,8,9);  // 日
    return y+m+d;
}

default
{
    touch_start(integer total_number)
    {
        if (av == NULL_KEY) {  // 動作中でなかったら
            key id=llDetectedKey(0);  // タッチしたアバターのキー
            av=id;  // avにキーを保存
            query=llRequestAgentData(id,DATA_BORN);  // データサーバーに誕生日を問い合わせ
            llSetTimerEvent(10);  // タイマー10秒
        }
    }

    timer()
    {
        llSetTimerEvent(0); // タイマー停止
        av=NULL_KEY;  // avにヌルキーを設定
    }

    dataserver(key id, string data)
    {  // データを受け取ったら
        if (id == query) {
            integer born=(integer)del_minus(data);  // 誕生日を数値に変換
            integer today=(integer)del_minus(llGetDate());  // 今日の日付を数値に変換
            integer diff=today-born;  // 誕生日と今日の差
            if (diff <= 10000) {  // 差が10000以下だったら1年以内
                // コンテンツ内の1つ目のオブジェクトを渡す
                string str=llGetInventoryName(INVENTORY_OBJECT,0);
                llGiveInventory(av,str);
            }
            else {  // そうでないときは1年過ぎてる
                llInstantMessage(av,"Sorry, you are over 1 year.");
            }
            llSetTimerEvent(0);  // タイマー停止
            av=NULL_KEY;  // avにヌルキーを設定
        }
    }
}

誕生から1年以内の判定ですけど、日付は2009-04-20のような文字列なので、これを数字だけ取り出して20090420にして計算します。それで誕生日と今日の差が10000以下だったら1年以内になるんですね。。。何かちょっとややこしいですけど^^;
1ヶ月限定にするときは差が100以下で1ヶ月以内ってことになるんですが、年が変わると差が大きくなるので差を出した後、8800以上だったら8800減らしてから if (diff <= 100) { って感じで判定するようにしたらいいかなって思います。
if (diff >= 8800) diff-=8800; // 1ヶ月限定は差が8800以上だったら8800減らす
あと今日の日付はllGetDateそのまま使ってるのでちょっとアバウトですねw(SL時間と時差あります)

2009年4月19日日曜日

ラッキーレター V1.5.0 値上げですけど^^;

ラッキーチェアとかラッキーボードみたいにファーストネームの頭文字が一致したら賞品が当たるLucky letterっていう装置なんですが、今回のバージョンで正式に複数賞品対応にしました^^

それから他にも何ヶ所か修正してるんですが、主な変更点はメニューをちょっと見やすくしたのと、数字設定はひとまとめ(0~9)を初期値にしました。賞品を複数入れたとき出方をランダムと順番とを選べるメニューも追加しています。

あと、お値段ですが120L$に変更したんですよ^^; でも発売当時から比べたらかなり機能アップしてるので、それでも結構お買い得じゃないかなって思います。

旧バージョン通常版の購入者様はタッチでアップデート品を受け取れるシステムをMansion Mall店に置いてますのでご利用くださいね。宜しくお願いします^^


2009年4月17日金曜日

ハートのオンライン表示装置

Mansion Mall店に設置してるラッキーレターの賞品をを入れ替えました。

今回の賞品はハート型のオンラインステータスを表示する装置なんですけど、半透明で中に文字が浮かんでるような感じのものをスカルプで1プリムに作ってみたんですよ。オンラインのときは緑色、オフラインのときは赤色の文字で表示します。

ラッキーレターは10分間隔で動かしてます。宜しくお願いします^^


2009年4月16日木曜日

YouTube TV screen V1.0.7

お客様から動画の時間(長さ)もリストに記入して、動画の最後まで再生したら次の動画って感じに改造できますか?ってご質問受けたんですね。

それでYouTubeの動画のみになりますが、動画の長さを自動取得してビデオリストの動画を再生する機能をつけてみました。

でも、ネットワークの負荷とかPCの性能など環境によって動画の再生が遅れたりすることもあるので、やっぱり完璧な制御はできないですけどね^^;

アップデートご希望の購入者様は、交換いたしますので次の手順でお願いします。

まずビデオリストをバックアップしておいてください。
そして「 youtube - 自分のアバター名 」のフォルダを作って、そこにTVを入れてフォルダごと送ってください。
その際、作業簡略化のためIMは不要ですw

複数台お持ちの方は全部同一フォルダに入れて送ってくださいね。
私がオフラインのときでもフォルダを送って頂いてれば、次ログインしたときに対応します。

初期のコピー可、譲渡不可のバージョンは、お手数ですけどIMやノートなどでご連絡くださいね。

以上、宜しくお願いします^^


2009年4月14日火曜日

グリッドステータスとオンライン数を表示するスクリプト

今回はセカンドライフのログイン画面とかに表示されるグリッドステータスとオンラインになってる人の数を表示するスクリプトです^^

グリッドステータスの状態は古いほうのステータスのページ(?)をチェックしたら良さそうなんですが、ここって前スクリプトで取得しようとしてもエラーで表示されなかったんですね;;

それで諦めてたんですが、他にXMLデータで取得できるページがあったんですよw
http://secondlife.com/xmlhttp/secondlife.php
ここまでわかったらhttpリクエストでこのページをゲットしたらいいので簡単ですね^^


// グリッドステータスとオンライン数を表示
string url="http://secondlife.com/xmlhttp/secondlife.php";  // データを取得するURL
key http_request_id;

default
{
    state_entry()
    {
        llSetTimerEvent(0.1);  // 最初は0.1秒後にタイマーイベント
    }

    on_rez(integer start_param)
    {  // 持ち物から出したとき
        llSetTimerEvent(0.1);  // 0.1秒後にタイマーイベント
    }

    timer()
    {
        llSetTimerEvent(600);  // タイマーを10分にセット
        http_request_id=llHTTPRequest(url,[],"");  // httpリクエスト
    }

    http_response(key request_id, integer status, list metadata, string body)
    {
        if (request_id == http_request_id)
        {  // httpデータ取得したら
            // status要素の中身をゲット
            string status;
            integer i=llSubStringIndex(body,"<status>");
            integer j=llSubStringIndex(body,"</status>");
            if (~i && ~j) status=llGetSubString(body,i+8,j-1);
            // inworld要素の中身をゲット
            string inworld;
            i=llSubStringIndex(body,"<inworld>");
            j=llSubStringIndex(body,"</inworld>");
            if (~i && ~j) inworld=llGetSubString(body,i+9,j-1);
            // フローティングテキスト用に整形して表示
            string str="Second Life\nGrid Status: "+status+"\nOnline Now: "+inworld;
            llSetText(str,<1,1,1>,1);
        }
    }
}

Live Data Feedsに詳しく書いてあるんですけど、 http://secondlife.com/httprequest/homepage.php とか使ったらリンデンドルの交換レートも取得できますね^^

2009年4月13日月曜日

1プリムになるAnimation vendor V1.3.0

ベンダー全機種を一応ダブルクリックでもセットアップメニューが開くように改良したんですが、アニメーションベンダーは今回の修正の際に1プリム化できるってことを説明書にも記入しときました。

バージョン1.2.0くらいからの隠し機能だったんですが、ボタンを取ってメニューからリセットすると1プリム用の操作パネルが表示されるんですよw


でもパッケージはそのままなので、近いうちに修正したいなって感じですね^^;


2009年4月11日土曜日

タッチ長押しは良くないかも

うちの製品はタッチ(左クリック)したときとタッチ長押したときで処理分けてるものが結構あるんですね。

スクリプトの長押しの部分は簡単な方法だとこんな感じです。(0.5秒以上押しっぱなしで反応します)
// タッチ長押し
integer hold;

default
{
    touch_start(integer total_number)
    {
        hold=FALSE;
        llSetTimerEvent(0.5);
    }

    touch_end(integer total_number)
    {
        llSetTimerEvent(0);
        if (!hold) {  // タッチのとき
            llSay(0,"タッチ");
        }
    }

    timer()
    {
        llSetTimerEvent(0);
        if (!hold) {  // 長押しのとき
            llSay(0,"タッチ長押し");
        }
        hold=TRUE;
    }
}

でも、長押ししても設定メニュー出ないって言われたことがあるんですよ;;
今までにラッキーレターで2件、掛け時計で1件報告受けてます。(海外2件、国内1件)
ホント僅かですけど、きちんと動作しない環境があるってことは、やっぱり問題あるかなって思いますので、もう今後の新製品には採用しない方向で行くつもりです。


それから、現在発売中の製品は途中から変えたらややこしいので、長押しと別の方法の併用でメニュー出るよう順次修正中なんですね。例えば、掛け時計はダブルクリック、ラッキーレターはレターと時間を表示するプリムをタッチでもメニュー出るようにしました。あとベンダーなどは今修正中です^^;

最初から長押しじゃなくてダブルクリックにしといたら悩まなくて良かったかもですけど。。。まあダブルクリックの簡単な方法も載せときますね^^;
// ダブルクリック
integer click=FALSE;

default
{
    touch_start(integer total_number)
    {
        key id=llDetectedKey(0);
        if (id == llGetOwner()) {
            if (click) {
                click=FALSE;
                llSetTimerEvent(0);
                // ダブルクリックのとき
                llSay(0,"ダブルクリック");
            }
            else {
                click=TRUE;
                llSetTimerEvent(0.3);
            }
        }
    }

    timer()
    {
        llSetTimerEvent(0);
        click=FALSE;
        // タッチ(シングルクリック)のとき
        llSay(0,"シングルクリック");
    }
}

0.3秒以内に2回タッチ(ダブルクリック)されると反応します。


2011年12月21日追記: 最近もう1年くらいでしょうかね(?)長押しが動かないっていう報告来なくなりました。これってもしかしたら、PCの性能とかネットの回線速度が上がってきたりしたからかも知れないなって思ってます。前、日本の方で動かないって言ってた人に聞いてみたら、当時使ってたPCは結構古くて、その後PC買い換えたら大丈夫だったって言ってたんですよ。それと、今年になって公式ビューワーの動作条件がPentium4以上に変更されたので、一世代古いPCは使われなくなったんじゃないかなって。。。

2009年4月9日木曜日

イースターなので卵を

昨日は何かブログのアクセス数が極端に上がってて、これはまた2ちゃんねるかもって思って探しにいったんですが、それらしい書き込みは見つかりませんでした。。。んー、何かちょっとガッカリって感じですね(何でやwww
最近の記事で特別アクセス数の多い記事は無いんですよ。それでPV1,086で訪問者数680もあったのでカウンタがおかしくなってるだけなんですかね?^^;

えっと、日本では余りなじみないですけど、もうすぐイースター(復活祭)ですね。欧米とかはイースターエッグっていうものを作って行事とかしたりするそうです^^

それで卵型のスカルプテッドプリムを作りました。。。っていうか、このスカルプ作ってみたのは去年の秋ぐらいで、もう何ヶ月も前なんですが、使い道がなかったのでメイングリッドにアップロードしてなかったんですよw

フルパーミッションでコンテンツ内にスカルプトテクスチャが入ってて再販も可能なフリーです。カラフルなテクスチャを貼ってイースターエッグを作ってくださいね^^ Mansion Mall店に置いて来ました。宜しくお願いします^^


2009年4月8日水曜日

YouTubeが映らなくなってました;;

あまりインワールドでテレビ見ないので気がつかなかったんですけど、ユーチューブTVスクリーンがいつの間にか映らなくなってたんですね@@;

それで、YouTubeからmp4への変換に使ってるサーバーで直接試してもmp4がダウンロードできなくなってたので、その変換サービスが調子悪いのかなって思ったんですけど、何かネットで調べたらYouTube側でどこかが変わったらしいんですよ。なので詳しいことはまだわからないんですけど、とりあえずユーチューブTVは販売中止しときました。

変換に使ってるyoutubemp4.comのほうで対応してくれたらいいんですけどね。。。または他にURLだけで直接変換したビデオをダウンロード可能なサービスがあったら、修正して販売再開したいと思います。

4月11日13時30分頃追記: コメントでお知らせ頂きまして、また映るようになったのを昨夜確認しました^^


倍のショップスペース借りてみました

Teasers店が無くなって、同モールで新しい店舗を借りることになったんですが、今度は思い切って2店舗分のスペースを貸してもらいましたw

ホントは東側にあるようなちょっとデザインがいい感じの大きい店舗を借りたかったんですけど、そこは空きがなかったんですよ。なので75プリムの店舗スペース2つをくっ付けて1店舗にしてもらったんですね^^;

あと、モールはMansion Mallっていう名前に変わりました。んー、マンションっていうとビルて感じなんですけど、それは日本人のイメージなんですかね?^^;

何かテナント用のグループと土地に設定されてるグループが違ってて商品が置けなかったりとか色々あって、商品設置が遅くなったんですけど何とか復活できましたw

場所は南のほうになりました。宜しくお願いします^^
SHOP CHIHIRO Mansion Mall店
http://slurl.com/secondlife/Graybar/194/71/31


2009年4月6日月曜日

Teasers店無くなってました

何週間か前にTeasers店のレンタル支払いシステムがロックされてて、支払いできなくなってたんですね。それでレンタル期間がもう切れそうだったのでTeasers Shopping Districtの関係者に聞いてみたら、モールのオーナーが変わるのでしばらくレンタル費無料だってことだったんですよ。

その後、2日ほど前にオーナーが変わったってグループ通知があって、テナント用のグループから外されたんですが、新しいオーナーからは何の連絡もないまま、今日になって出店してた商品が返却されてました;;

嫌な予感がしたんですが一応見に行ったら、お店があった場所は既に店舗の建物も無くなってて、もう何か別の大きな建物が建てられてたんですよ。。。んー、オーナーが変わるけどモールは今まで通り営業するのかなって思ってたんですけど、そうじゃなかったみたいです。モールのオーナーじゃなくて土地のオーナーが変わるって意味だったんですかね(汗

17時40分頃追記: ノートで連絡が届いてました。何店舗か削除されたりしてますが、やっぱりモール経営も継続するみたいです。

21時20分頃追記: とりあえず担当の方に連絡して、また店舗をレンタルするよう話を進めてきました。


2009年4月5日日曜日

ランダムチャットマネー値上げ

Random chat moneyは発売以来ずっと特価L$200で販売してたんですが、この度L$250に値上げしました。ホントは発売1ヶ月後ぐらいに値上げのつもりだったんですけど、あまり売れ行きが良くなかったので延長してたらそのまま忘れてたんですよwww

あと、スクリプトも少し修正しまして、チャットを拾う範囲を「土地」に設定できるようにしました。(距離との併用はできません)
でも広い土地だったら叫んだとき以外は装置から20m以内でないと聞こえないので、あまり意味ないかなって気もします^^;

今回、アップデート品の発送は希望者のみにしますので、ご希望の購入者様はお手数ですがご連絡くださいね^^


カラーボックスをラッキーレターに入れました

アスペクト比を変えたスカルプで1プリムのカラーボックスを作ってみました。

2段のものと3段のものを作って、2段のは神戸フェスタのフリマに置いてるラッキーレター(スカルプ花瓶セット)、そして3段のものはBELLE ROSE店のラッキーレター(オンラインインジケーター)と入れ替えてきました^^

何か調べてみたらカラーボックスって英語じゃ言わないみたいなんですよ。和製英語のようなものなんでしょうかね?

神戸フェスタ海上フリーマーケットは4月10日までで、たくさんショップが出店されててラッキーボードも設置されてます。うちは7分間隔で2段のカラーボックスの当たるラッキーレターを置かせてもらってます^^
http://slurl.com/secondlife/kobe%20harbor/214/111/24

ベルローズ楽器店さんはリニューアルオープンされて、こちらもラキボがいろいろ設置されてます。うちのラッキーレターは現在3段のカラーボックスと音符柄の植木鉢が8分間隔のランダムになってます^^
http://slurl.com/secondlife/Artsebarsky/101/170/23

皆様、是非お越しくださいね^^


2009年4月2日木曜日

長距離用高速テレポーターのスクリプト

高度300m以上移動するテレポーター http://backup-beta.blogspot.com/2008/07/300m_13.htmlllSetPosで可能な距離(10m)ずつ動かせていくので、長距離になると移動にかかる時間が気になるんですね。

速く移動させる方法はWarpPosが有名かなって思いますが、原理はllSetPrimitiveParamsに移動させる距離を10m以下に分割した位置をリストにして指定したらいいんですよ。あっという間に移動できます^^
例えば<10,10,10>の位置から真上に30m移動させるとき、こんな感じになりますね。
llSetPrimitiveParams([PRIM_POSITION,<10,10,20>, PRIM_POSITION,<10,10,30>, PRIM_POSITION,<10,10,40>]);

それで今回は速く移動できるテレポーターのスクリプトを書いてみました。


使い方は http://beta.slmame.com/e303741.html http://backup-beta.blogspot.com/2008/07/300m.html と同じで、目的地の位置に置いてスクリプトをリセットすると目的地の座標が設定されますので、あとはテイクして出発地に持って行って置くだけです。(SIM内専用です)
// 長距離用の高速テレポーター
vector dest;
vector pos;

default
{
    state_entry()
    {
        llSitTarget(<0.2,0,0.55>, ZERO_ROTATION);  // 座る位置
        dest=llGetPos();  // 現在位置の座標を目的地に設定
        llOwnerSay("Destination = "+(string)dest);
    }

    changed(integer change)
    {
        if (change & CHANGED_LINK) {  // リンクが変わったとき
            key id=llAvatarOnSitTarget();  // 乗ってるアバターのキー
            if (id) {
                if (pos) return;  // 出発地座標が設定されてるとき(動作中)はリターン
                pos=llGetPos();  // 現在位置を出発地の座標に設定
                vector v=dest-pos;  // 目的地と出発地のベクトルの差
                float f=llVecDist(dest,pos);  // 移動する距離
                list l;  // llSetPrimitiveParams用のリスト
                integer i;
                integer j=llCeil(llFabs(f/10));  // 移動距離を10mで何分割になるか計算
                vector p=v/j;  // 1回に移動させるベクトル値
                for (i=0; i <= j; i++)
                {  // 分割した回数分ループ
                    l+=[PRIM_POSITION,pos+p*i];  // 分割した座標をリストアップ
                }
                llSetPrimitiveParams(l);  // テレポート開始
                llUnSit(id);  // 目的地でアバターを降ろす
                l=[];  // リストをクリア
                for (i=j; i >= 0; i--)
                {  // 行きと逆順のリストにする
                    l+=[PRIM_POSITION,pos+p*i];
                }
                llSetPrimitiveParams(l);  // テレポーターを出発地に戻す
                pos=ZERO_VECTOR;  // 出発地の座標をクリア
            }
        }
    }
}

自分の土地から出ないように使ってくださいね。スクリプト禁止になってる他の人の土地とかを通過するとアバターが降りた後テレポーターが戻ってこなくなりますのでwww
あと、地形の隆起してるところとか途中で地面に接触するようなポイントがあると、目的地もテレポーターの戻る出発地も大きくズレてしまうみたいです^^;

一瞬で移動なので座る位置はテキトーな小さめの値でオッケーだと思いますが、<0,0,0>にしてしまうとllAvatarOnSitTargetが反応しないので動かなくなりますw


2012年3月14日追記: 新関数llSetRegionPosに変更したものを載せました。
新関数を使った長距離用高速テレポーターのスクリプト

2009年4月1日水曜日

ベルローズ楽器店がちょっと移転

出店させてもらってます総合楽器店BELLROSEがスカイボックスから地上に移転して本日開店しました。

もちろん楽器のお店なんですが、楽器以外のショップもいっぱい入ってて色々なもの売ってるんですよ。現在34店舗入ってるそうです。。。もうホント大型ショッピングセンターみたいな感じじゃないですかねwww

広すぎて私のPCだと建物全景は撮れませんw


オープン記念にラッキーレター設置してきました。でも賞品にテキトーなアイテムがなかったので、とりあえずオンラインインジケータ譲渡可能版を入れてます^^;

北側が海になってて景色もいいんですよ。是非ご来店くださいね^^
http://slurl.com/secondlife/Artsebarsky/101/170/23

21時20分頃追記: ラッキーレターに音符柄の植木鉢を追加しました。この柄の鉢はベルローズ店のラッキーレター限定品です。レターチェンジ8分間隔でオンラインインジケータと植木鉢がランダムに変わります。

4月5日1時30分頃追記: ラッキーレターのオンラインインジケーターを3段のカラーボックスに入れ替えました。