2011年5月29日日曜日

[multi motion MLDU5] MaHal 35 でデビュー

multi motion MLDU5 のベータをとことん使い倒して、たくさんのフィードバックをいただいたハルちゃんのショー本番で MLDU5 初お目見えとなります。(といっても、、、MLDU5 そのものが ドーンッ ってあるわけじゃないけど)

MaHal 35
日時:5月29日(日)今日! 23:00~
場所:Pianissimo

すでのショーケースという意味ではカイさんがベータ版の MLDU5 でダンスを披露されております。2011年の5月15日に行われた team Ä ・ S・ H のオープニングイベントでした。
こちらにそのときの模様がビデオでも紹介されています。

blue... [KAIさんのブログ]

通常のダンスから、格闘系モーションとか、そういう、まさにマルチな扱いされてます~。
さて、、で、multi motion MLDU5 はいつ公開されるの?っていうわけですが、今、せっせと marketplace での公開準備をしております公開しました!!!。ちなみに POP はこちら。。。

PopBaseMLDU5-6-JP

今回のパッケージから「譲渡不可」にしました。譲渡したい場合は marketplace から「贈る」が使えるし、そのかわりといってはなんですが、たまに「HUD紛失~」なんてことがあるので、予備用としてもう1個いれます。なので、MLDU5 が2つ入っています。(お試し版は1つだけで変わらずです)バックアップ用として持つも良し、2つとも使うのも良し、お好きにお使いくださいませ、なので、譲渡不可にしました、という感じです。

今現在の予定

お試し版(3人用、5ダンスセット利用可能):1L$
6人用(6人用、26ダンスセット利用可能):600L$
9人用(9人用、26ダンスセット利用可能):900L$
12人用(12人用、26ダンスセット利用可能):1200L$

となります。近日公開予定です。(いつ~?笑)


あと、注意事項というか、製品の位置づけですが、


multi motion MLDU5 は MLDU4 を置き換えるものではありません。

通常のクラブ フロアでの利用は MLDU4 がよろしいと思います。multi motion MLDU5 は現時点では残メモリーがひっ迫しているため、12人を超えるものは、お願いされても提供できません。ショーケースなどで組みダンスを行いたい!カップルダンスを自分の HUD で楽しみたい! MikuMikuDance の複数人用モーションを楽しみたい!という方を対象にしています。
なので、marketplace では MLDU4 と multi motion MLDU5 の併売をしばらく続けます。
ご理解のほどよろしくお願いいたします。
゚・:,。★ MLDU ★。,:・゚ (https://marketplace.secondlife.com)
https://marketplace.secondlife.com/stores/70251

2011年5月1日日曜日

[LSL] 変更されたノートカードを探す

この数年、、、できないと思い込んでいたことが、今日できることに気がつきました!
オブジェクトのインベントリの中の「ノートカード」。これ、もう最初から「タイムスタンプとかないし、どれ修正したかわからない」と思い込んでいたんです。
で、スクリプトが扱うノートカードの制限ってあるにかしら?と思い wiki を見ていたら、、、「ノートカードは不変」の項目を見つけ、、、。
できるじゃん!!!!私、これ4~5年は無理だとあきらめてたのにっ!
wiki のノートカードの説明
つまり、、、修正した時点で実は新しいオブジェクトとなり、Key が変わる!ってことなんです。それだと修正されたノートカードがどれかわかりますね!
で、書いてみた~。
list noteKey = [];
list noteList = [];
integer noteNum;
init(){
    noteKey = noteList = [];
    noteNum = llGetInventoryNumber(INVENTORY_NOTECARD);
    if(noteNum>0){
        integer i = 0;
        for(;i<noteNum;++i){
            string tName = llGetInventoryName(INVENTORY_NOTECARD,i);
            noteList += tName;
            noteKey += llGetInventoryKey(tName);
        }
        llWhisper(0,(string)llGetListLength(noteList)+"個のノートカードをインベントリでチェック可能です。");
    }else{
        llWhisper(0,"ノートカードはインベントリにありませんでした。");
    }
}
default{
    state_entry(){
        init();
    }
    touch_start(integer total_number){
        llSay(0, "Touched.");
    }
   
    changed(integer change){
        if(change & CHANGED_INVENTORY){
            integer tNum = llGetInventoryNumber(INVENTORY_NOTECARD);
            llWhisper(0,(string)tNum+","+(string)noteNum);
            //追加
            if(tNum>noteNum){
                llWhisper(0,"ノートカードが追加されました。");
                init();
            }else if(tNum<noteNum){
                llWhisper(0,"ノートカードが削除されました。");
                init();
            }else if(tNum==noteNum){
                llWhisper(0,"ノートカードが変更されました。");
                integer i = 0;
                for(;i<noteNum;++i){
                    string tName = llGetInventoryName(INVENTORY_NOTECARD,i);
                    if(llListFindList(noteKey,[llGetInventoryKey(tName)])==-1){
                        llWhisper(0,tName+"が変更されました。");
                        i=noteNum;
                    }
                }
                init();
            }
        }
    }
}

先入観って怖いわ。。。