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