2008年04月05日

座ると笑い続けるスクリプト

アバターが座ると笑い続けるスクリプトが欲しいのですが、このスクリプトだと最初の数秒しか笑顔になりません。
どこをいじればよいでしょうか。よろしくお願いします。

key siton = NULL_KEY;

vector sit_pos = <0.0, 0.0, 0.1>;
vector sit_rot = <0.0, 0.0, .01>;

default {
state_entry(){
llSitTarget(sit_pos, llEuler2Rot(sit_rot * DEG_TO_RAD));
}

changed(integer change){
if (change & CHANGED_LINK) {
key av = llAvatarOnSitTarget();
if (siton != NULL_KEY) {
if (av == NULL_KEY) {
llStopAnimation("express_smile");
siton = NULL_KEY;
}
} else {
if (av != NULL_KEY) {
siton = av;
llRequestPermissions(siton, PERMISSION_TRIGGER_ANIMATION);
}
}
}
}

run_time_permissions(integer perm) {
key perm_key = llGetPermissionsKey();
if (perm_key == siton) {
if (perm & PERMISSION_TRIGGER_ANIMATION){
list anms = llGetAnimationList(siton);
integer i;
for (i = 0; i < llGetListLength(anms); i++){
llStopAnimation(llList2Key(anms, i));
}
llStartAnimation("express_smile");
}
}
}
}


同じカテゴリー(スクリプト関連)の記事画像
オブジェクトのリンクとタッチで開く扉
自動チャットを止めたい
テレポートするとアニメーションが解除される
同じカテゴリー(スクリプト関連)の記事
 テクスチェンジのHUDについて (2015-07-01 04:51)
 モール用のプリムカウンターを探しています (2014-11-29 20:09)
 連続するアニメーションの処理 (2014-08-24 03:23)
 オブジェクトの上にフローティングテキストを出す。 (2014-08-22 16:46)
 チャットログの盗聴について (2014-02-03 03:43)
 椅子に座った後で位置調整できるスクリプト (2013-03-24 16:37)

Posted by askham  at 22:47 │Comments(1)スクリプト関連

この記事へのコメント
表情系のアニメはループしていないので、笑い続けるのは無理だと思います。
ただ、強引な手法ではありますが1秒間隔くらいのタイマーを使って何度もllStartAnimationを実行してやれば、笑顔を続ける事もできるはずです。
その場合は「立った時にタイマー停止」する処理も忘れずに^^;
Posted by DI at 2008年04月06日 10:31
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。