T4476
2007年06月15日
08:30
小物を持った時に強制的にアニメーションさせようと思い、
attach(key attached)
{
llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
}
と書くて見ましたが、どうもこのattach時にオーナーのPERMISSIONを参照しようというのが
そもそもの間違いのようでした。この方法では、takeして初めて使うプリムはオーナーがどうやら参照できないようで、パーミションの許可を取るタイミングを別の方法を使用する必要があるようでした。
そこで、掲示板で書かれたいた、changed イベントを検討したのですがどうもattachと同じ理由で
うまくいかず、そうこうしているうちにrezの存在を知り色々と思考錯誤の結果解決する事ができました。
以下が解決した、スクリプトです。ただし以下のスクリプトだけでは実用品としては問題が多数ありエラーも起きます。まー今回の問題にくらべれば簡単そうなので、実用品になれば公開したいなぁーと考えています。
-----------------------------------------
string Anim = "Model Pose 3"; //アニメの名前
default
{
//プリム出現時にパーミションを要求
on_rez(integer param){
llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
}
//装着後アニメ開始
attach(key attached)
{
llStartAnimation(Anim);
}
}
-----------------------------------------