2008年05月03日
飲むスクリプト
ドリンクサーバー用に飲み物を結構集めましたが、やはり動作を伴った方が面白いですよね^^
酔いつぶれるようなのもありますが、フリーの飲み物の中を覗いたところ、SLでポピュラーな飲む動作のスクリプトは、次のものの様です
====================================================
integer flag = 0;
default
{
state_entry()
{
llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
}
run_time_permissions(integer parm)
{
if(parm == PERMISSION_TRIGGER_ANIMATION)
{
llSetTimerEvent(15);
llStartAnimation("hold_R_handgun");
}
}
on_rez(integer st)
{
llResetScript();
}
attach(key id)
{
llStopAnimation("hold_R_handgun");
}
timer()
{
if(flag == 0)
{
llStartAnimation("drink");
}
if(flag == 1)
{
llStartAnimation("drink");
}
flag = flag + 1;
if(flag == 4)
{
flag = 0;
}
}
}
====================================================
スクリプトの構成自体は、他に詳しいHPやブログがあるので、そちらを参照していただくとして(僕もよくわかってないってのもあります^^;)、このスクリプトの概要のポイントは赤字部分で、
・ 15という時間の間に一連の動作をする。
・ hold_R_handgun と drink というSLにデフォルトで用意されているアニメーションを交互に実行する。
という形で「飲む」という動作をアバターに行わせています^^
従って、15より小さい数値にすればより頻繁に、大きくすればより間隔を空けて飲む、ということになります。
また、アニメーションを変更すれば、その動作に該当する部分を変更できる事になります^^
まあ、雰囲気の問題ですから、僕みたいな素人はデフォルトの形で飲み物に仕込んで使ってますw
2008年03月19日
Super Jump
また、フリーのスクリプトは内容が見られるものが多いので、スクリプトも勉強にもなりますw
タイトルの Super Jump は、そんな中のお気に入りの一つです

中身は、アバターの体重をllGetMassで検出し、それを何倍かにしたものを高さ方向の力の強さにして、llSetForceでアバターに加え、高くジャンプできるようにするものです^^
まず、普通のジャンプ。

我が家の1階の途中までがやっとですw
続いて、Super Jump w
手に装着しているキューブにスクリプトが仕込んでありますww

我が家の屋根まで、つまり20mのジャンプ

ほとんど、マトリックスw
ただ、ジャンプ力が増すのではなく、重力が緩和される形なので、フワッと飛び上がってフワッと降りる感じですw
モーフィアスみたいに、ダンと蹴って、ズンと着地してくれると迫力なんですがww
これが、高さ方向に色々ものがあるところだと、案外使えて、飛ぶよりも便利な場合があります

RLと違って、空中で落下方向を変えられますから、融通がききます^^
当然、アバターの体重を何倍にするかでジャンプの高さが変えられますが、ある数値(多分、9.8)を超えると、重力よりも加えた力が上回って、上空にぐんぐん浮いて行ってしまいます^^;
また、ちょうど良いジャンプ力のものを2つ装着すると、やはり加えた力が大きすぎて、上空にどんどん浮いて行ってしまいます^^;;
これからも、おもしろいスクリプトがあったら紹介したいと思いますww