2008年07月24日
アイテムを装備するとアニメションを実行するスクリプトを
今晩は・・
凄く単純な事かもしれませんが
アイテムを装備するとアニメーションを自動で実行するを教えていただけないでしょうか?
もしくは公開されているHPでもかまいません。
イメージとしては、よくカフェとかで貰えるドリンクと一緒です。
シンプルなものであれはとてもうれしいです。
お手数ですがよろしくおねがいします。m(_ _)m
凄く単純な事かもしれませんが
アイテムを装備するとアニメーションを自動で実行するを教えていただけないでしょうか?
もしくは公開されているHPでもかまいません。
イメージとしては、よくカフェとかで貰えるドリンクと一緒です。
シンプルなものであれはとてもうれしいです。
お手数ですがよろしくおねがいします。m(_ _)m
この記事へのトラックバックURL
http://oshiete.slmame.com/t315710


//==============================================================
// sensu_aogi 扇子
// 1.0.0
// 2008/07/05
// created by sasapy Beck
// Define
string ANIMATION_NAME = "sensu_aogi"; // アニメーション名
//--------------------------------------------------------------
// Main
default
{
// Attach Event
attach(key id)
{
if(id != NULL_KEY) // アタッチされた場合
{
// アタッチ位置に関係するアニメーションの場合、ここでチェック
// 特に関係なければいきなりllRequestPermissionsする
if(llGetAttached() == ATTACH_LHAND) // 左手にアタッチしているか
{
llRequestPermissions(id, PERMISSION_TRIGGER_ANIMATION); // パーミッション要求
}
else // 左手以外にアタッチされた
{
llSay(PUBLIC_CHANNEL, "左手に装着してください");
llDetachFromAvatar(); // 強制デタッチ
}
}
else // デタッチされた場合
{
llStopAnimation(ANIMATION_NAME); // アニメーションの停止
}
}
// Permission Event
run_time_permissions(integer perm)
{
if(perm & PERMISSION_TRIGGER_ANIMATION) // 0x10
{
llStartAnimation(ANIMATION_NAME); // アニメーションの開始
}
}
// Change Event
// アタッチしたままテレポするとアニメーションが止まるため、アニメーションを開始する
// テレポが関係ないなら、イベントごと削除
changed(integer change)
{
if(change & CHANGED_TELEPORT) // CHANGED_TELEPORT = 0x200
{
llStopAnimation(ANIMATION_NAME); // アニメーションの停止
llStartAnimation(ANIMATION_NAME); // アニメーションの開始
}
}
}
//==============================================================
わたしの持っていたものでは
integer flag = 0;
default
{
state_entry()
{
llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
}
run_time_permissions(integer parm)
{
if(parm == PERMISSION_TRIGGER_ANIMATION)
{
llSetTimerEvent(15);
llStartAnimation("drink");
}
}
on_rez(integer st)
{
llResetScript();
}
attach(key id)
{
llStopAnimation("drink");
}
timer()
{
if(flag == 1)
{
llStartAnimation("drink");
}
if(flag == 3)
{
llStartAnimation("drink");
}
flag = flag + 1;
if(flag == 4)
{
flag = 0;
}
}
}
と なっていました。
あとはマカプさんとこのブログあたりで調べてみてはいかがですか。
http://miz.slmame.com/
1回で終わるアニメーションであれば、それを何度も繰り返すんでしょうか?
私が載せたスクリプトはループするアニメーションを使っていますので、アタッチしたらスタートし、デタッチしたらストップするだけのものです。
目的のモノをつくることができました
たすかったですぅ