ソラマメブログ
アクセスカウンタ
< 2024年04月 >
S M T W T F S
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
※カテゴリー別のRSSです
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
オーナーへメッセージ
QRコード
QRCODE

  
Posted by at

2011年08月12日

EZADでダンス中にタイプアニメを実行する

おはよーございます^^

ずいぶん前からになりますが、FairySnowでは、いつでもどこでもタイプアニメを表示することができる「Typing HACK」というHUDをフリーで提供させていただいておりますが、これの欠点は、まぁ当たり前っちゃ当たり前なんですが、HUDなんで画面にいつでも常駐させて置かなきゃいけないこと^^;

HUDってやっぱり少ないほうがいいと思うので、今回試しにTyping HACKの機能を、かの有名なダンスHUDであるHUDDLES EZ Animator Deluxeに埋め込んでみたのですが、かなりいい感じになったので報告します^^



やり方は以下の通り。ちなみにEZADは最新版を使ってください^^

1) FairySnowのTyping HACKを準備する(メタコマースでフリーで配布しています)。
2) Typing HACKからアニメ「avatar_type_level4」を取り出し、EZADへコピーする。
3) EZADの中にあるスクリプト「~ZHAO II for EZAD v1.3.0」をダブルクリックして、編集モードにする。(編集する前に、バックアップを忘れずに・・・)
5) スクリプトのtimer()という部分をみつけて、下図の様に編集する。図のブルーで反転している部分が今回追加した所です。(※)



以上です。

実際に使ってみると、EZADのAOボタンが緑(AO-ON)の時はダンス中でもなんでもタイピングアニメが発動します。AOボタンをクリックして赤(AO-OFF)にすると、ダンス中にタイピングアニメは発動しなくなります。もちろん、Sitした時も同様です。これは結構便利です^^
もしよろしかったら、お試しくださいませ。

ちなみに今回の記事は、判る人には判るし、わからない人にはさっぱりわからない様に、説明はさらっと簡単にすませました^^; この文章を読んで「何が何やら・・・???」という方は実施されないようお願いします^^;;;

注意)本改造は、最悪EZADを破壊してしまう場合があります。改造の前に必ずバックアップを取り、オブジェクトやスクリプトの編集作業の基本を理解されてから実施される事をおすすめします。


(※)図のブルーの部分は、下からコピペして使ってください^^
----------------------ここから---------------------------------------------------
// 2011/8/12 added by snowlet Magic
if (llGetAgentInfo(llGetOwner()) & AGENT_TYPING ){
llStartAnimation("avatar_type_level4");
}else{
llStopAnimation("avatar_type_level4");
}
//
----------------------ここまで---------------------------------------------------

  

Posted by snowlet at 21:21Comments(0)スクリプト

2010年06月30日

LSLの勉強の仕方

おはよーございます^^

どーしちゃったのか、今日2回目の書き込み・・・・珍しいw

SLやってて、「スクリプト覚えたいけどどうやって覚えたらいいのかわかんないー」って人、けっこう多いと思います。そういう私もずいぶん永い期間、そういう思いでモンモンとしてましたからw
まぁ、今でも修行中の身なので偉そうなことはいえませんが・・・^^;

で、正攻法としては、A Linden Script Tutorial Exhibitionみたいな、LSLを教えてくれる施設へ行ってチュートリアルを眺めるっていうやり方があります。基本的な部分から順を追って教えてくれてるので結構とっかかりにはいいかも?


- A Linden Script Tutorial Exhibition , Hyles (124, 208, 1002) - Moderate

でも私の場合は、ここじゃLSL覚えられませんでしたwなぜかって?そりゃもう、なんていうかこういう場所で系統立てて説明されても目的意識が希薄になるっていうか、「で、それで???」みたいな感じでぜーんぜん身につかないんですよねー^^;

まぁ、私としては、上の様なところでパネルを眺めてるよりは、フリービーダンジョンみたいなところでLSLのサンプルを頂いてきて改造することをおすすめします。


- FREEBIES DUNGEON 0L$ freebies and bargain shop, Deva Loka (20, 4, 54) - Moderate

こういう所で探すと意外にLMギバーやテレポータやポーズボールや、そのほか結構いろんな役に立つスクリプトが見つかったりします。その辺のありふれた商品なら、お金だして買ってくるまでもないですw(えっ^^; )
で、こういう所のスクリプトはたいていフルパーなので、使う時に積極的にソースを見て、自分なりにちょっと手を加えてみる。そういう事を繰り返していくうちにそれらが経験となっていつのまにか自分なりにスクリプトを作れるようになっている。。。
最初はどうやって動いてるのか理解するために眺める。で、わかった部分に自分なりにコメントを入れて行く。。とかw
まぁ、最初はそんなことから始めればいいと思いますよ^^

千里の道も一歩からw
ローマは一日にして成らずw

まぁ、そんなこと私に言われたかぁないでしょうけど^^;

あと、わかんないことがあったらひたすらググる。どっかの掲示板でQ&Aの質問書いてる時間あったら、ググったほうが解決するまでの時間は短いと思いますw

ま、いずれにしてもこれらは私流のやり方なんで、すべての人にお奨めできるやり方ではないとおもいますが。
ご参考になれば幸いです^^/
  

Posted by snowlet at 18:49Comments(0)スクリプト

2009年10月22日

(LSL)光が追いかけてくる道

おはよーございます^^

光が追いかけてくるブロックを作りました。
商品にしようかと思ったのですが、パッケージとか大変だと思ったので、ここでスクリプトを公開しちゃいますw
このスクリプトを仕込んだプリムを足元に敷きつめると、自分が立っているプリムの部分だけが光ります。もちろん、立ち去ると光は消えます。
上手に使えば、幻想的な雰囲気を演出できると思います^^


//
// 2009/10/22 Created snowlet Magic
//
default
{
state_entry()
{
llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, 0 ]);
}
collision_start(integer num_detected){
llSetPrimitiveParams([PRIM_GLOW,ALL_SIDES,1]);
}
collision_end(integer num_detected){
llSetPrimitiveParams([PRIM_GLOW,ALL_SIDES,0]);
}
}


ちなみに・・・プリムをファントムにすると衝突判定って使えなくなるんですね。今回初めて知りました@@;

  

Posted by snowlet at 17:12Comments(2)スクリプト

2009年09月25日

ZHAO改造中

おはよーございます^^

いつもは気にしてなかったけど、L$0アバタ生活を始めるようになってから気になったのが、高いところへ飛べないことw
たしか200メートルだったかな?飛ぶの制限ありましたよね?
で、こんなときに使うのは、フリーで出回ってる羽のHUDな訳ですが、、、あんまりHUDをたくさん画面に貼り付けるのは美しくないw
と、いう訳で、この羽のスクリプトを改造してAO用に使ってるZHAO2に組み込んでみました。

結果は・・・おっけー。ちゃんと動きました。。。てか、あたりまえの話かw

ZHAO自体オープンソースで出回ってる製品なんで、私もこのスクリプトを入れたZHAOを配布しようかな?とか思って準備を始めたんですけど、中に入れるアニメを探すのに手間取ってて、今日はもう時間切れですw
フリーで配布可能なアニメを、最低でもSitとwalkくらいは入れたいなと・・・。
あと、ほかにも追加したい機能とかもあったりするし・・・まあ、そっちのほうは本当に実装するかどうか悩み所なんですがw

まぁ、急ぐ話でもないんでのんびりやりますw

<街で見かけた面白い風景>

  

Posted by snowlet at 02:10Comments(0)スクリプト

2009年09月19日

時計を作ってみた

おはよーございます^^

XyTextっていうスクリプトをご存じですか?
1プリムに10文字までの英数字が表示できるスクリプトです。
かのLucky chairなんかでも利用されてる、有名なスクリプトです^^
これを使って時計作ってみました。日本時間専用ですw

配ろうかと思ったけど・・・デザインが平凡すぎる。。。
うーん、、、微妙^^;



XyText 1.5
http://wiki.secondlife.com/wiki/XyText_1.5
  

Posted by snowlet at 18:15Comments(0)スクリプト

2009年07月16日

(LSL)フローティングテキストを消す

おはよーございます^^

プリムの上に文字が浮かんでいるフローティングテキスト。
あれって、一度設定しちゃうと表示するスクリプトを消しても表示されっぱなしになりますよね?
あれ、初めての時って結構焦りませんか?あれ?消えない???てかんじでw

で、今まではそういう時には空のテキストを表示させるスクリプトを即興で作って文字を消してたんですけど、考えてみたら最初っからそういうスクリプト作り置きしておくと便利ですよねー^^

実は今、これを早速使ってみました。プリムにスクリプトを入れるだけでソッコーでフローティングテキストが消えるんで、ラクチンw
こんなことなら、もっと早くやっておけばよかった・・・^^;;

ということで、フローティングテキストを消すスクリプトです。
適当な名前のスクリプト(たとえば、Floating text eraser とか)を作って、これを入れて持ってると便利かもぉ?


default
{
state_entry()
{
llSetText("" , <1.0 , 1.0 , 1.0> , 1.0);
}
}


このイスに表示されたフローティングテキストを消すのに使いました。ラクチンでしたw


初心者向けのスクリプトの小ネタでした^^
え?初心者って・・・私?w

**Fairy Snow**本店
http://slurl.com/secondlife/Osondoson/5/198/21


  

Posted by snowlet at 04:43Comments(2)スクリプト

2009年07月11日

(スクリプト)秘密の数字で誰でもラジオ

おはよーございます^^

ショップオーナーのみなさま、ライブやイベントの準備って大変ですよねー。
土地の設定次第ではラジオを設定する権限も限られてたりとかして絶対に席を外せない人が出てきたりとかするし。。。

「今度演奏してくれる人のアドレス、まだ教えてもらってないよー。。。私が絶対にinしてなきゃいけないの?なんとかならないのかなぁ。。。土地の設定、メンドイ>< 」

というわけで、そんな悩みを解決するスクリプトをご紹介します^^
このスクリプトを使えば、秘密の番号を知っている人なら誰でもその土地のラジオのアドレスを自由に変更できるようになります^^/

使い方は・・・こんな感じw

-----
チャットで以下のように発言すれば土地のラジオのアドレスが変わります。

書式)
/秘密のチャンネル番号 radio: ラジオのアドレス

秘密のチャンネル番号が50で、ラジオのアドレスがhttp://zzz.zzz.zzz.zzz:80の場合の例)
/50 radio: http://zzz.zzz.zzz.zzz:80
-----

秘密の番号は、スクリプトの上のほうにある
integer ch = 50 ; // secret chat channel number
ここの部分、この数字を書き換えてください。今は50になってますよねー^^
ここの数字、1~2147483646までの範囲で設定してくださいね。0にしてもいいけど、、、、、、それじゃ秘密にする意味ないですから!!!w

土地オーナーさんは、たとえばお店のスタッフさんにこの上の部分をコピペしたノートカードを作って配布しておくといいですねーw
これで、秘密の数字を知っている人ならば誰でも土地のラジオを変えられます@@;
土地のパーミッションの呪縛から開放されますねー^^/


// Chat control Radio
// create 20090711 snowlet Magic
//

integer ch = 50 ; // secret chat channel number

default
{
state_entry()
{
llListen(ch,"","","");
}
listen(integer channel,string name,key id,string msg)
{
string lmsg=llToLower(msg);
if("radio: "==llGetSubString(lmsg,0,6))
{
llSetParcelMusicURL(llGetSubString(msg,7,-1));
}
}
}


ラジオ作成までの簡単な手順を書いておきますね^^
1) 適当なプリムを作る
2) プリムを編集して、「中身」の「新しいスクリプト」をクリック
3) できた「New Script」をダブルクリックして、開いた編集画面に、上記スクリプトをコピペ!
4) スクリプトを保存
5) あなたが土地オーナーさんならそのまま試してみる。グループ所有の土地ならば、今作ったオブジェクトをグループに譲渡した後試してみる(譲渡するまえにバックアップとっておいてね!)w

あ、秘密の番号は絶対に関係者以外にバラさないでくださいね。ばらしちゃったらどういうことになるか、、、わかりますよね?^^;;;

ラジオ作成中の私。今みたらケツデカいじゃんかー@@;


このスクリプトの元ネタはこちら。こちらのスクリプトに若干の変更を加えています。
http://rpgstats.com/wiki/index.php?title=LlSetParcelMusicURL

**Fairy Snow**本店
http://slurl.com/secondlife/Osondoson/5/198/21


  

Posted by snowlet at 17:28Comments(0)スクリプト

2009年06月20日

(LSL)フェイスライトに笑顔を仕込んでみたw

さっきの記事、いきなり間違ってて申し訳ありませんでした><;
深く反省いたします。。。が、しょせん私なんてそんなもんです。ソフトに間違いは付き物ですし。あっはっはっっっっっ........(;_;)

というわけで、凝りもせずにまたスクリプトを公開しちゃったりします^^;

あれからいろいろとやってて、結局笑顔のスクリプトをフェイスライトに仕込んじゃいましたw
HUDが一つなくなって少しだけ画面すっきりです。先のスクリプトから笑顔のon/offとオブジェクトにタッチして笑顔を切り換える機能を省いたので、ソースコードもさらにすっきりしました^^

編集できるフェイスライトをお持ちの方(べつにフェイスライトでなくてもいいけど・・・)、または装着するプリムに、このスクリプトを入れれば笑顔になれますよー。最初のところのnumの数字を変えれば笑顔の種類も変えられます(たった二種類しかないけどw)


//
// Emotion control with facelight version.
// create 2009.06.20 snowlet Magic
//

list Emotion = ["","express_smile", "express_toothsmile"]; // emotion name
integer num = 1;
float time = 30.0; // emotion timing
string msg;

default
{
attach(key id)
{
if(id) //tests if it is a valid key and not NULL_KEY
{
llSetTimerEvent(0);

integer perm = llGetPermissions();
if (! (perm & PERMISSION_TRIGGER_ANIMATION)) {
llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
}
msg = llList2String(Emotion,num);
llSetTimerEvent(llFloor(llFrand(time))+10);
}
}
timer()
{
llStartAnimation(msg);
llSetTimerEvent(0);
llSetTimerEvent(llFloor(llFrand(time))+10);
}
}


えと、私としてはオブジェクトをアタッチしたときだけアニメを起動するような作りにしたつもりですが、もしこのコードで問題がありましたら私までご連絡ください(え?

私が使っているフェイスライトです。小さくて見えないかもしれないんで赤丸で囲みましたw
こういうのも、いいでしょ?
もう、小さすぎて装着位置の編集なんて絶対に無理です。^^;
位置合わせした後にプリムを小さくしましたから・・・・w
ご希望の方があれば配布しますが・・・需要ないでしょうねーw

これをつければ、あなたのアバタは永遠にニコニコし続けます@@;


**Fairy Snow**本店
http://slurl.com/secondlife/Osondoson/5/198/21

Fairy Snowショールーム ( Green appl店舗内 )
http://slurl.com/secondlife/Graybar/187/135/28
  

Posted by snowlet at 20:05Comments(0)スクリプト

2009年06月20日

(LSL)笑顔のHUD公開

装着すると笑顔のアニメーションを再現するHUDってありますよね。

私も昔、手に入れたのをずっと使ってたんですけど、もっとシンプルなのないかと思って探し続けてました。
で、最近LSLにも目覚めてきたことだし(え?@@; このさい自分で作っちゃえということで、なんとかしてみましたw

出来上がって動いている時のSS。こんな感じ。ほら、そこの人、キモイとか言わないww


適当なプリムを作って、その中にこのスクリプトをコピペしてください^^
そのプリムをいったんtakeして、右クリックでHUDとして画面に装着すればできあがりです。ちょー簡単でしょw

プリムの大きさは、画面に貼り付けた時のことを考えると、0.05×0.05×0.05くらいがいいのかなー?
自分で好きなテクスチャ貼り付けるとかわいくできるかもw
プリムを画面に貼り付けたあとは、「右クリック->編集」とすると、いつも見慣れた矢印が画面に出てきて位置の修正ができます^^


//
// Emotion control
// create 2009.06.20 snowlet Magic
// ver.1.01 2009.06.20 snowlet Magic bug fix
//

list Emotion = ["","express_smile", "express_toothsmile"]; // emotion name
float time = 30.0; // emotion timing
vector color_on = <0, 1, 0>; // green
vector color_off = <1, 0, 0>; // red
integer id = 0;
string msg;

default
{
state_entry()
{
llSetColor(color_off, ALL_SIDES);
llSetTimerEvent(0);
}

touch_start(integer total_number)
{
llSetTimerEvent(0);

integer perm = llGetPermissions();
if (! (perm & PERMISSION_TRIGGER_ANIMATION)) {
llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
}

id++;
if (id < llGetListLength(Emotion)) {
msg = llList2String(Emotion,id);
llOwnerSay(msg+"is Active");
llSetColor(color_on, ALL_SIDES);
llSetTimerEvent(llFloor(llFrand(time))+10);
} else {
// when id value is overflow
id = 0;
llSetTimerEvent(0);
llSetColor(color_off, ALL_SIDES);
llOwnerSay("Emotion is stopped");
}
}
timer()
{
llStartAnimation(msg);
llSetTimerEvent(0); // added ver.1.01
llSetTimerEvent(llFloor(llFrand(time))+10); // added ver.1.01
}
}


すみません><いきなりめっちゃバグってました。最初のソースだと、ランダムに時間が決まるのはHUDをクリックした最初の一回だけでした@@; 早速修正版に差し替えました<(__)>

使い方ですけど、画面に貼り付けたプリム(HUDの正体って、こういう物だったのですねw)をクリックしてください。赤色の時は笑顔が停止してて、緑色の時には10~40秒の間隔(ランダム)で笑顔のアニメーションを再生します。クリックする毎に、笑顔のアニメーションが切り替わります^^

よかったら試してみてください^^/

HUD作成中の私w



今回からカテゴリーに「スクリプト」を追加しました。いつまで続くことやらw

**Fairy Snow**本店
http://slurl.com/secondlife/Osondoson/5/198/21

Fairy Snowショールーム ( Green appl店舗内 )
http://slurl.com/secondlife/Graybar/187/135/28
  

Posted by snowlet at 15:10Comments(0)スクリプト