2009年9月30日水曜日

Help Island

アバターが生まれたとき最初にスタートするヘルプアイランドっていう場所ありますよね。。。一応検索してみたらオリエンテーションアイランドになってる情報があったので、昔はそう呼ばれてたんでしょうか? 私は最初始めたとき気にしてなかったし、結構すぐテレポートして出ちゃったので覚えてないんですがw

1年ほど前、登録時の初期アバターが新しくなってからですかね、予備のアバターを登録したときにSIM名を見たらHelp Island 210になってたんですよ。この数字が異なるSIMが複数あるみたいで、また次登録したときは違う番号になってたと思います。

このヘルプアイランドはテレポートして出てしまうと、もう戻って来られないんですよねw
メインランドにHelp Island Publicっていう似た場所がありますけど、そことは全く別です。


でも、ある日マップを開いて何となく見てたら、最初のヘルプアイランドらしいSIM郡があったんですよ@@


SIM郡の全体です。SIM名の数字は全て200番台になってて40個くらいあるみたいでした。

場所はTorleyさんHereからしばらく北に上がったところにあります。やっぱりテレポートはブロックされてて入れないのでマップで見ることしかできないですけどw
http://slurl.com/secondlife/Help%20Island%20201

2009年9月26日土曜日

プライズキャンプとマネーキャンプ、全機種グループ限定機能追加

プライズキャンプ4機種とゾーンキャンプ以外のマネーキャンプ5機種にもグループ限定機能を実装して、機種によりますが他にも何ヶ所か改良しました^^

ついでにプライズキャンプ4機種は、ちょっと値上げしたんですよ^^;
Prize camping chair L$50 → L$70
Prize camping cross L$50 → L$80
Prize camping dance pad L$50 → L$60
Prize camping beach chair L$90 → L$100

プライズキャンピングチェアはプライズキャンピングビーチチェアと同じポーズを入れました。
でもマネーキャンピングチェアのほうは気分的にポーズ入れてません。。。これ発売以来1台も売れてないんですよwww

十字架はプライズキャンプ、マネーキャンプともアバターの身長をチェックして、磔の位置が大体いいくらいの位置に自動調整されるようにしました。これで子供とか小さいアバターもきちんと磔できますw

プライズキャンプは4機種ともバージョンはV1.1.7になります。マネーキャンプ5機種は価格変更なしで、バージョンはチェアがV2.1.1、その他はV1.2.1になります。

旧バージョンの購入者様でアップデートご希望の方は、お手数ですがご連絡くださいね^^

2009年9月25日金曜日

ラッキーオブジェクトのスクリプト

今回は名前の最初の文字が一致したら賞品がもらえるラッキーボックス(ただの箱なのでw)ラッキーオブジェクトのスクリプトです。うちで販売してるLucky letterっていう製品(ラッキーボード)がありますが、それの必要最低限の機能だけのスクリプトって感じですね^^

レターや残り時間は箱の上にフローティングテキストで表示しますが、テクスチャで表示するように改造してボード型にするとLucky boardのようになります。更にタッチを調べる部分をsitに変えて椅子を付けたらLucky chairのような装置になります。更に更に、椅子をトイレに変えたら。。。って、もういいですかねwww

// Lucky object
integer interval=5;  // レターチェンジ間隔(分)
integer time;  // 残り時間用
string letter="-?ABCDEFGHIJKLMNOPQRSTUVWXYZ";  // ラッキーレターに使う文字
string ll;  // ラッキーレター用
string tmp;  // 前回のレター記憶用
string prize;

win(key id, string name)
{  // 当たったときの処理
    llSay(0,name+", you win!!");  // 当たりー♪
    llGiveInventory(id,prize);  // アイテムを渡す
    init();  // initへ
}

init()
{
    llSetText("OFF",<1,1,1>,1.0);
    prize=llGetInventoryName(INVENTORY_OBJECT,0);  // コンテンツ内の1つ目のオブジェクト名
    ll="";  // レターをクリア
    time=0;  // 残り時間を0に設定
    if (prize) llSetTimerEvent(0.1);  // 賞品が入ってたら0.1秒後にタイマー
    else llSetTimerEvent(0);  // 入ってなかったらタイマー停止
}

default
{
    state_entry()
    {
        init();  // initへ
    }

    changed(integer change)
    {
        if (change & CHANGED_INVENTORY) {  // コンテンツ内が変化したらinit
            init();
        }
    }

    touch_start(integer total_number)
    {
        if (ll == "") return;  // レターが設定されてないときはリターン
        key id=llDetectedKey(0);  // タッチしたアバターのキー
        if (id == "" || id == NULL_KEY) return;  // キーが取得できなかったらリターン
        string name=llDetectedName(0);  // タッチしたアバターの名前
        if (ll == "?") win(id,name);  // ラッキーレターが?だったら当たり
        else {
            string s=llGetSubString(name,0,0);  // アバター名の最初の1文字
            integer num=FALSE;
            if (s == "0" || (integer)s > 0) num=TRUE;  // 文字が数字かをチェック
            if (ll == llToUpper(s)) win(id,name);  // 文字を大文字に変換してラッキーレターと一致したら当たり
            else if (ll == "0-9" && num) win(id,name);  // 文字が数字でラッキーレターが0-9だったら当たり
            else llSay(0,"Sorry, your name begins with "+s+".");  // それ以外はハズレ;;
        }
    }

    timer()
    {
        llSetTimerEvent(60);  // タイマーを60秒にセット
        if (time < 1) {  // 残り時間が1以下になったらレター変更
            time=interval;  // 残り時間を再設定
            if (ll == "") ll=tmp;
            while (tmp == ll) {  // 前回出たレターと被らないように
                integer i=llFloor(llFrand(llStringLength(letter)));  // 乱数
                ll=llGetSubString(letter,i,i);  // 乱数からラッキーレターを決定
                if (ll == "-") ll="0-9";  // レターが-だったら 0-9にする
            }
            tmp=ll;  // 今回出たラッキーレターを記憶
            llSay(0,"The lucky letter is "+ll+".");  // チャット表示
        }
        // フローティング表示
        llSetText("If your name begins with "+ll+",\ntouch to get a prize!\n"+(string)time+" minute(s) left.",<1,1,1>,1.0);
        time--;  // 残り時間を減算
    }
}

賞品のオブジェクト(オブジェクト以外は箱詰めして)をコンテンツに入れて、レターチェンジの数値を変えて使ってくださいね^^

10月10日追記: あ、箱型プリムのまま使うとは限らないですよね。。。てことで、タイトルもラッキーオブジェクトに変えましたw

10月14日追記: 一応タッチしたアバターのキーが取得できないときリターンさせるようにしました。

YouTube TV screen V1.0.9

変換に利用してるサーバーが重いときは見れないっていう問題があるんですが、一応注意書きのノートを添付して販売を再開しました。いつもTVを使用される時間帯が重くて使えないって方は、うちでレンタルしてるサーバーに置いたスクリプトをwww.youtubemp4.comの代わりに設定することもできます。

それから、本バージョンでは権限のない土地でrezしたときグレー画面になってしまう不具合を直しときました^^;

宜しくお願いします^^

2010年5月21日追記: 2010年3月のユーチューブの仕様変更で、この装置はユーチューブが再生できなくなりました m(_ _)m

2009年9月24日木曜日

ランダムチャットマネー他3機種、グループ限定機能実装

ランダムチャットマネーランダムマネーギバーゾーンキャンプの3機種もグループ限定機能を追加しました^^

それぞれバージョンは
Random chat money V1.0.7
Random money giver V1.0.2
Zone camp V1.0.1
になります。

あと、ランダムチャットマネー、ランダムマネーギバーは、ゾーンキャンプと同様にフローティングテキストの色が11色から選べるようにしました。。。それから、ゾーンキャンプはメッセージに英単語の綴り間違えてるところがあったのでついでに直したんですよ^^;

アップデートご希望の購入者様は無料で対応いたしますのでご連絡くださいね^^

2009年9月23日水曜日

Lucky letter V1.5.3 - グループ限定実装

キャンプ、ラッキーチェア/ボードなどの規制があるので、何か集客用品の改良に気が進まなくなってきたんですが、とりあえずラッキーレターに今回のバージョンアップでグループメンバー限定機能を付けました。

あと、一応ダブルクリックでもメニュー出せるように変更したのと、レター部分の色を変えても不具合の無いように直しました。。。文字色を変えてる方とか見たことあるんですが、スクリプトで色を打ち決めしてる部分があったので「0~9」が出たとき数字が黒になったんじゃないかなって思います。

通常版またはグループ限定改造版をお持ちのお客様は、Mansion Mall店などに設置してるアップデートサービスをご利用くださいね^^

9月26日追記: Group onの状態でRezしたとき、装置にグループがセットされてなかったら、一応Group offの状態になるように修正しました。バージョンはV1.5.3aになります。

2009年9月22日火曜日

複数登録できる1プリムテレポート看板

去年、1プリムで4ヶ所登録できるテレポート看板のスクリプトを作ったんですが、今回はそれをちょっと改良して、縦横好きな個数で分割設定できるようにしたテレポート看板のスクリプトです。

写真は横3分割、縦2分割にして、ショップの支店5ヶ所登録で使用してます^^

テクスチャは登録するテレポート先を1枚にまとめたものを作って使用します。縦横等間隔に分割したマス目に、各テレポート先の写真を左上から右に向かって順に配置していく感じで作成してくださいね。

// Multi TP-board

integer col=3;  // 横の分割数
integer row=2;  // 縦の分割数

list tp=[ // "テレポート先","SIM名",位置,
"Mansion Mall","Graybar",<228,179,30>,
"Market Beach Mall East","Triasm",<242,137,21>,
"SUNSET SHOPPING MALL","JapanSeychellesLand",<72,70,23>,
"SL-Shopping.net-Mall-Jiminy","Jiminy",<115,23,106>,
"+*+*BELLE ROSE*+*+","Artsebarsky",<236,184,22>,
NULL_KEY];  // データの最後のカンマ用
integer len;

string slurl(integer i)
{  // SLURL生成
    vector v=llList2Vector(tp,i+2);
    string str=llList2String(tp,i);
    // SIM名をブランクにしてるものは閉店表示
    if (llList2String(tp,i+1) == "") return str+"... closed\n";
    str+=" http://slurl.com/secondlife/";
    str+=llEscapeURL(llList2String(tp,i+1));
    str+="/"+(string)((integer)v.x);
    str+="/"+(string)((integer)v.y);
    str+="/"+(string)((integer)v.z)+" \n";
    return str;
}

map(integer num)
{  // マップ表示用
    integer i=num*3;
    if (i >= len) {  // テレポートの登録数が少ないとき
        llWhisper(0,"This area is a blank.");
        return;  // リターン
    }
    string sim=llList2String(tp,i+1);
    vector pos=llList2Vector(tp,i+2);
    if (sim) llMapDestination(sim,pos,ZERO_VECTOR);  // マップ表示
    llWhisper(0,slurl(i));  // SLURL表示
}

default
{
    state_entry()
    {
        len=llGetListLength(tp)-1;  // ヌルキーを除いたリストの長さ
    }

    touch_start(integer total_number)
    {
        integer i=llDetectedTouchFace(0);  // タッチした面の番号を取得
        if (i != -1) { // SLビューワーが対応のとき
            vector v=llDetectedTouchST(0);  // タッチした表面の座標
            i=llFloor(v.x*col)+(row-llCeil(v.y*row))*col;  // 座標を番号に変換
            map(i);  // mapへ
        }
        else { // SLビューワーが非対応だったらSLURLを全部表示
            string str="Open the chat histry and click the SLURL.\n";
            for (i=0; i < len; i+=3) str+=slurl(i);
            llWhisper(0,str);  // チャットでSLURL表示
        }
    }
}


結構移転とか閉店とかもありそうなので、SIM名を記入する部分のデータを空""にすると ○○モール ... closed って表示するようにしてみました。テクスチャを直すまでの応急処置的な表示って感じでw

2010年4月2日追記: ビューワー2.0.0からチャット履歴のスペースの入ったSIM名のリンクがおかしくなるのでURLエンコード追加しました。内蔵ブラウザがGeckoからWebkitに替わった影響かも知れません。。。て、元々省略してたのがいけなかったんですが orz

2009年9月20日日曜日

ラベルの表示件数を10記事にしました

Bloggerって結構クセがあるっていうか、日本で一般的に普及してるブログと違った面が多いですね。セカンドライフでは海外、国内ともBlogger利用者は多そうだったので、あまりそゆこと調べずに移転してきたんですよ。。。最初気がつかなかったんですがトラックバックっていうものがないし^^;

メインの記事表示数は最初7件ずつになってて、これは設定のフォーマットのところで簡単に設定変えられるのに、ラベルでの記事表示は20件ずつでこれは変えられないみたいなんですねw それで検索してみたら方法が載ってる英語のブログが何件かあったんですが、たぶん古いテンプレート用のとか情報が混じってて、書いてあった通りにテンプレートを修正しても上手く反映されなかったんですよ;;

でもテンプレートをざっと見てたら、他にも修正するポイントと似た部分があったので、そこも同じように変えてみたらやっとできました^^ まあ、あまり理解できてないのにテキトーにいじったら何となくできたかなって感じなのでちょっといい加減ですけどね。。。でも気になってた部分が直せたので嬉しいです^^

以下、簡単にですが自分用にメモしておきますねw

まず、レイアウト、HTMLの編集を出して、「ウィジェットのテンプレートを展開」にチェックを入れます。
そして expr:href='data:label.url' ってなってる部分を全て expr:href='data:label.url + &quot;?max-results=10&quot;' に書き変えます。該当部分は3ヶ所ありましたので、編集画面ページ内をブラウザの検索機能などで調べてくださいね。
テンプレートを保存して、ブログを開くと、サイドバーや記事中のラベルのリンクが?max-results=10の付いたURLになります^^

2009年9月19日土曜日

別に勧誘に負けたわけじゃないんだからねっ!

お店を経営してると、知らないショッピングモールからショップレンタルのダイレクトメール(ノートカード)が届いたりとかってよくありますよね? あと、たまにIMで勧誘されたりとか。。。まあ日本のモールは、そういう積極的な宣伝活動してるところってあまりないんじゃないかなって思いますけどねw

昨夜、クマッション村っていうモールのマネージャーさんから2回目の勧誘受けたんですね。それで、ちょっと迷ったんですが今回はとりあえずレンタルしてみることにしました。前、声かけてもらったとき(半年くらい前)は店舗増やす気が全然なかったのでお断りしてたんですよw

実はこのモール、最初に見に来たのは去年5月か6月頃だったかな。。。売り場を増やそうかなって思ってたとき候補に入れてたモールの1つで、その後も2~3回くらい様子を見に来たことがあって結構前から知ってたんですけどね^^;

お借りしたのは月払いで15プリムの店舗スペースです。ちょっと小規模な売り場ですが皆様宜しくお願いします^^
http://slurl.com/secondlife/Kourinbou/143/116/21

2009年9月17日木曜日

LSL CON 2009に出展予定

この前、iNNXっていうセカンドライフ関連事業とかに携わる企業(ですかね?)を経営されてるHidenoriさんから、今年こそはLSL CONに展示しませんか?ってご連絡もらったんですね。それで特にアイデアも何もないんですが、わかりました^^って返事してしまいましたwww

んー、そういえば去年もブログのコメントでちょこっとLSL CON 2008のお誘い頂いたんですが、そういうイベントってスクリプトがバリバリ書けるホント達人って感じのスクリプターばかりじゃないかなって思ったので、私は恐縮してしまってスルーしちゃったんですよ^^;

でもイベントの趣旨的には、LSLに興味ある方とかが何となく参考になるような作品だったら簡単なものでもOKなんじゃないかなって思うので、今年は勇気を出して何か出品したいと思います。。。まあ稚拙な作品になると思いますが^^; ええ、千尋はとろいので無理してややこしいのとか作るとよく失敗するんですよwww

あ、それより応募期限が今月の25日なので、早く何か出品するもの考えて応募しとかないといけませんね^^;;

9月21日追記: 昨夜、応募は一応済ませました^^ でも過去のLSL CONを見に行ったこともなくて、要領みたいなのも全然わかってません>< んー、何かミスとかしそうな私。。。もう結構弱気になってます^^;

2009年9月15日火曜日

リンデンから警告がキタ━━━━━━(゚∀゚)━━━━━━!!!!!

何かリンデンラボから警告メールみたいなのが届いていました;;
Subject: Warning or suspension of Your Second Life Account
英語で2009年9月14日にセカンドライフサービス規約またはコミュニティスタンダードに違反って感じのことが書かれてて
Violation: Disturbing the Peace - Camping Chairs
これはキャンピングチェアが違反なんでしょうかね? それでインベントリに返却したって書いてあったんですが(オブジェクト名やSLURLなどは記載されてません)、さっきログインしてチェックしても特にそれらしいものは返却されてませんでした。。。?_?

でも、よく考えたら私、キャンピングチェアって運用してないですよw ラッキーレターは3ヶ所ほどレンタルしてるモールなどに置かせてもらってるんですが、それのことなんでしょうか? けどそれも返却されてなかったんです。

んー、何かよくわからないまま突然アカウント停止とかされるんじゃないかなっていう恐怖に脅えてます。。。怖いですー><;

2009年9月14日月曜日

ちょっと出かけて戻ったらオブジェクトが消えてた

昨夜サンドボックスで作業中のままログアウトしてたんですね。それで今日ログインしたときはスカイボックスと作業中のオブジェクトがまだ返却されてなくて目の前にあったんですよ。

用があったので作業は保留して、ショップを回ったりして数十分後に戻ってきたら。。。あらっ、スカイボックスもオブジェクトも無くなってる><

返却されたのかなって思ったんですが、Lost And Foundを開いても返却されてないし、チャット履歴にも返却のメッセージは表示されてませんでした。。。んー、サンドボックスのオーナーに返却されずに削除されちゃったってことなんでしょうかね? 昨夜サンドボックスが結構重くなってたような気もするので。。。

まあ幸い、ログアウトの前に一応オブジェクトのバックアップ取ってたから良かったんですが、突然そうゆうことが起きるとびっくりしますね^^;

2009年9月12日土曜日

放置かも - SHOP CHIHIRO (backup)

ソラマメで書いてた旧ブログ http://beta.slmame.com/は一応非表示にして、記事をバックアップしてこちらに保管しました。
放置かも - SHOP CHIHIRO (backup)

ブログ内リンクにリンク切れとかあって、そこまでは修正してませんが宜しくお願いします^^;

画像のアップロード作業中に気がついたんですが、ブログ始めて間もないころの古い記事には、譲渡不可の商品なのに「交換しますので送ってください」ってボケたこと書いてる記事とかもありました^^;;

2009年9月11日金曜日

キャンプなどが規制だそうなんですが

何となく噂聞いてたんですが、実際取り締まりでマネーキャンプのダンスパッドが返却されたSL-Shopping.net-MallのGSさんから、先日そのことについてお話聞いたんですね。それで今まで信じられなかった(というか信じたくなかった)んですけど、だんだん現実味を帯びてきました><

ええ、うちの集客用品全部ダメって感じになりますから;;

キャンプやボットとかでトラフィックを増やして、サーチランクを上げるのがいけないらしいんですけど、何か詳しいことがよくわかりません。
Search Rank and Traffic(Second Life Blogs)
ラッキーチェアーなども規制の対象(キャンプ取り締まり強化中)(さくらさん)

ラッキーチェアも対象ってことは当然ラッキーボードもでしょうね。。。あと最近流行りのミッドナイトマニアとかもなんでしょうか?

結果としてサーチランクが上がる装置がダメなんだったら、他にもたくさんヤバそうな装置があると思いますけど。。。んー、やっぱり何かよくわからないですね^^;

9月25日追記: モールの各店舗で、結構アイテムキャンプやラキボとかはテナントの方ご自身で設置されてる場合もあると思うんですが、そういう場合はどうなるんでしょう?

10月7日追記: ちょっと聞き違えてた部分があったので少し記事修正しました。それからラッキーチェアも対象と書かれたリンデンの正式な発表はまだなかったと思うので、はっきりしたことがわからないですね。

2009年9月9日水曜日

グループギフトとかのスクリプト

うちで販売してる集客用品にはグループ限定機能って付けてないんですけど、時々そういう機能をご希望されるお客様もいるので、もう今後の改良では実装していこうかなって思ってる千尋です。元々トラフィックを上げるのにそういう限定しちゃうってのが個人的にあまり好ましいと思わなかったから付けなかったんですけど、実装自体はそんなに難しくないので、お客様のご希望でランダムチャットマネーとかラッキーレターを改造したものを納品したことがありました^^

スクリプトでは、アバターがアクティブにしてるグループのキーを取得する方法が無いので、llSameGroupでオブジェクトに設定されてるグループと、アバターがアクティブにしてるグループが一致するかをチェックぐらいしか出来ないんですねw

なのでグループ限定は、基本的に自分の土地(土地オーナーが自分の名義)でないと使えません。通常レンタルは、その土地のグループと同じグループを設置するオブジェクトに設定しないといけないので、レンタルの場合は自分のグループが使えないと思います。

前置きがちょっと長くなりましたが、今回はタッチでグループギフトを渡すスクリプトです。
コンテンツ内にギフト用のオブジェクトを1つ(オブジェクト以外のアイテムは箱詰めして)入れて使ってくださいね^^

// Group gift giver
string gift;

init()
{  // コンテンツ内にあるオブジェクト名を取得
    gift=llGetInventoryName(INVENTORY_OBJECT,0);
}

default
{
    state_entry()
    {
        init();  // 最初はinit
    }

    changed(integer change)
    {
        if (change & CHANGED_INVENTORY)
        {  // コンテンツ内が変化したらinitへ
            init();
        }
    }

    touch_start(integer total_number)
    {
        key id=llDetectedKey(0);  // タッチしたアバターのキー
        if (llList2Key(llGetObjectDetails(llGetKey(),[OBJECT_GROUP]),0) == NULL_KEY) {
            // グループ設定されてなかったら
            llWhisper(0,"Sorry, owner must set a group.");  // エラーメッセージ
            return;  // リターン
        }
        else if (llGetInventoryType(gift) == INVENTORY_NONE) {
            // ギフトが入ってなかったら
            llWhisper(0,"Sorry, I have not a gift now.");  // エラーメッセージ
            return;  // リターン
        }
        if (llSameGroup(id)) {  // グループが一致したら
            llGiveInventory(id,gift);  // ギフトを渡す
            llInstantMessage(id,"Here is an our group gift, thanks.");  // グループギフトをどうぞ~♪
        }
        else {  // 一致しなかったらエラーメッセージ
            llInstantMessage(id,"Group member only. Activate our group tag and touch again.");
        }
    }
}

2009年9月8日火曜日

お値段高めなのでめったに売れなかったはずなんですが。。。

うちのマルチパネルベンダー4機種は、価格高めに設定してたし(L$280~400)、ビューワー1.21が出た頃から低プリムベンダーが出回り始めたので、低プリム化してないこの4機種は今まで以上に売れにくいって思ってたんですね。

でも2~3ヶ月ほど前にこの4機種もXstreet SLに出品してみたら、何となく最近うちの低プリムベンダー(2機種)に負けないくらい台数出てるんですよ。。。7パネルベンダーが一番人気で値段が高い分、低プリムより売り上げも大きいです@@;

んー、前、知り合いから、安すぎても売れないっていう助言をもらったことがあったんですが、この現象はその通りなのかも知れません^^;

やっぱり安かったら、それなりの性能しかないんじゃないかなって判断される人もいると思います。ただ、高ければ必ずしもそれなりの満足度を得られる商品かどうか。。。それは人それぞれだと思いますので、高すぎず安すぎずの一番利益の得られる価格設定が理想なんでしょうけど、それって難しいですね。高値で買ったのに機能的に満足しないから返品したいなんていう苦情がきたらイヤだしwww

あとソラマメみたいな場所でブログ書いてると、価格競争とか集客のためについつい安値で売り出してしまうってのもありました。でもXstreet SLだと高めでも売れ行きの良い商品はたくさんありますから、他人の商品より高いと売れにくいとは一概に言えないんでしょうね。ただ、そう思ってても1台でも売れたら値下げってしにくいので、いつも最初から高値つける勇気が出ませんが^^;

まあ、そういうことで思い切って何種類かの商品を少し値上げしてみたいと思います。今のところ自分でもかなり安めだと思ってるものを中心に随時値上げしていく予定です。。。でも極端に上げる勇気ないのでホントちょっとずつ値上げって感じになりそうですけどねw

んー、今後の新製品はもうちょっと思い切って価格設定できるようになりたいですね^^;

2009年9月4日金曜日

ユーチューブTVが映りません。。。販売中止><

この前、購入されたばかりのお客様から映らないってご連絡がありまして、現在YouTube TV screenの販売を中止してます。

2~3日したら直らないかなって期待して様子みてたんですけど、今回はダメみたいです。
それでブラウザで調べてみたんですけど、MP4アドレスにリダイレクトされるURLを開いたら、変換に利用させてもらってるサーバーのトップページに飛ばされちゃうんですよ。。。;;
再生の度にアクセスするって感じの無謀な使い方なので、これってもしかして制限かけられてしまったんでしょうかね。。。orz

他に代替に使えるサービスを探してるんですが見つかりません;;

とりあえず今月ご購入くださいましたお客様には代金を返金させて頂きましたが、もう少し粘ってもダメだったら、8月中にご購入されたお客様は返品可能とさせて頂きますので宜しくお願いします。


9月6日追記: 普通のQuickTimeムービーも映らなくなってて、よく調べてみたらWindowsメディアプレーヤーもストリーミング再生できなくなってたんですよ。。。それで、よくわからないんですけど、ネットに繋ぎ直してみたら直りました。んー、回線の接続が悪かったんでしょうか? まあ、とにかくユーチューブTVも直ってて、映るのが確認できてよかったです^^

9月7日追記: TVが映るようになって、また販売中止したまま忘れてたんですが今日販売再開しましたw よろしくお願いします^^

9月8日追記: んー、やっぱり時間帯によって全然映らない状態(変換サーバーが重い?)なので結局販売を中止しました orz

9月9日追記: 現在、実験的に無料レンタルサーバーを借りて変換スクリプトを設置してます。TVを使用される時間帯が重くて使えないお客様はIMなどでご連絡頂きましたら、そちらのアドレス設定をお知らせいたしますの宜しくお願いします。(レンタル規約には特に記されてなかったようですがPHPの外部呼出しなので、もし怒られたら中断するかもですけどw)
YouTube TV screen customer, YouTube to MP4 address convert server is very busy now. If this device can't play in your watching TV time, please IM me. I have a my new convert server setting for you.

9月25日追記: 一応注意書きみたいなノートを付けて販売を再開しました。

2010年2月21日追記: レンタルしてたサーバーのアカウントを消されてしまったので、また販売を中止しました;;

2009年9月2日水曜日

Advanced menu

この前、セカンドライフRC版ビューワーをアンインストールしたら、IMのログや設定が全部初期化されてしまったんですね。それで放置してたらAwayになっちゃうのを設定変えようと思ったんですが、アドバンスドメニューの出し方(ショートカットキー)を忘れてしまってましたw

ってことで http://wiki.secondlife.com/wiki/Category:Help/Viewer とかに出てるんですけど自分用にメモしときますね^^

Ctrl+Alt+D でAdvanced menu 表示/非表示

それでAway防止は Advanced > Character > Character Tests > Go Away/AFK When Idle のチェックを外します。
この辺のメニュー設定が変になっちゃうとややこしくて元に戻せなくなりそうなので、他はあまりさわらないんですが、他に使うことがありそうなのはレンダリングの負荷みたいなのを表示させるアバター描画コスト Advanced > Rendering > Info Displays > Avatar Rendering Cost ぐらいですかね。

それからベータグリッド(Preview Grid)にログインするときのために
ログイン画面のとき Ctrl+Shift+G でグリッド選択メニュー表示/非表示
プルダウンメニューでAditiがベータグリッド、Agniがメイングリッド

あと、ビューワーを複数立ち上げるとき -multiple オプション付けて起動ですね。

2010年4月25日追記: ビューワー2ではAway設定は通常の設定メニューの中、アバターレンダリングコストは Advanced > Performance > Show Avatar Rendering Cost に変わってました。

2009年9月1日火曜日

Blogger用MT形式修正スクリプト

昨日の記事の ブログのコメントがおかしくなりました;; のBlogger用XMLへのコンバートについて書きますね^^

ソラマメ管理画面の読み込み・書き出しから、ブログ記事をMovable Type形式(MT形式)のデータでダウンロードできるんですね。その際、文字コードはUTF-8を指定してください。

そして、保存したMT形式データはMovableType2Blogger conversion utilityでBlogger用データに変換できるんですが、このコンバーターはまだ完成度が低いみたいで、日付データが12時間表記じゃないとエラーが出るんですよw
あと、文字コードはUTF-8でもBOM無し?でないとダメみたいです。試しにWindows XPのメモ帳でUTF-8保存したMT形式ファイルを使うとエラーになりました。

なので変換エラーが出なくなるように、時刻の24時間表記を12時間表記に変換して、記事の投稿時間のずれを調整するPythonスクリプトを書いてみたんです。Pythonはちょっとかじった程度にしか使ったことなかったんですが、Blender使ってる人だったらインストールされてるので使用しました。

#!/usr/bin/env python

import sys,re,datetime

if len(sys.argv) <= 1:
  print "Usage: "+sys.argv[0]+" filename"

else:
  s="dummy"
  text=""
  f=open(sys.argv[1])
  while s != "":
    s=f.readline()
    m=re.match("(^DATE: )(\d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2})(\r{0,1}\n{0,1}$)",s)
    if m:
      data=m.group(2)
      dt=datetime.datetime.strptime(data,"%m/%d/%Y %H:%M:%S")
      dt=dt+datetime.timedelta(hours=-9)
      data=dt.strftime("%m/%d/%Y %I:%M:%S %p")
      s=m.group(1)+data+m.group(3)
    text+=s
  f.close()

  new="conv_"+sys.argv[1]
  f=open(new,"w")
  f.write(text)
  f.close()
  print "Saved to "+new

このスクリプトをmt4blogger.pyって名前で保存して、Windowsだったらコマンドプロンプトを開いて、スクリプトとデータの置いてあるフォルダで次のように入力します。Pythonのインストールされてるフォルダも確認してパスを合わせてくださいね。
c:\python26\python mt4blogger.py blog-UTF-8.txt
blog-UTF-8.txtはソラマメからダウンロードしたデータファイルです。実行すると変換されたデータがconv_blog-UTF-8.txtってファイル名で作成されますので(上書きの確認とかありませんw)、そのファイルをMovableType2Blogger conversion utilityでコンバートしてください。

Pythonのtimeとかdatetimeがややこしくて時差の調整でかなりつまずきました。その時いろいろ検索してたら、ソラマメでは既にweb上で変換できるサービスを公開されてる方がいたんですよw
bloggerに簡単引っ越し(ちょっち修正(mayuko Nishiさん)
んー、もう書きかけのスクリプト放り出して、そちらを利用させてもらおうかな。。。って思ったんですが、もうちょっとで完成って感じだったので何とか諦めずに書き上げたんですけどね^^;

9月5日追記: Blogger形式にコンバートすると追記だった部分やコメント部分の改行だけの行が失われちゃうみたいですね。