2009年10月22日

装備しないとSIT出来ないアニメボール

こんにちは、初めまして(*^_^*)

どなたかスクリプトにお詳しい方がいらっしゃいましたら是非教えて下さると嬉しいです☆

何か指定した装備を身に付けなければ、オブジェクトにSITしようとすると強制的に立たされる(座るためには装備品が必要)という仕組みなのです。

どなたかご親切な方がいらっしゃいましたら、どうか教えて頂けないでしょうか?

よろしくお願いいたします☆


同じカテゴリー(スクリプト関連)の記事画像
オブジェクトのリンクとタッチで開く扉
自動チャットを止めたい
テレポートするとアニメーションが解除される
同じカテゴリー(スクリプト関連)の記事
 テクスチェンジの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 momoko23  at 14:13 │Comments(2)スクリプト関連

この記事へのコメント
//ポーズボール

vector pos = <0, 0, 0.5>;
integer handle;
integer ch = -456;

default{
state_entry(){
llSitTarget(pos, ZERO_ROTATION);
}
changed(integer change){
if(change & CHANGED_LINK){
if(llAvatarOnSitTarget()){
handle = llListen(ch, "", NULL_KEY, "attach");
llSetTimerEvent(0.2);
}
}
}

listen(integer channel, string name, key id, string message){
if(channel==ch && message=="attach"){
llListenRemove(handle);
llSetTimerEvent(0);
}
}

timer(){
llListenRemove(handle);
llSetTimerEvent(0);
llUnSit(llAvatarOnSitTarget());
}
}



//アタッチするオブジェクト

integer c = -456;
key av;

integer ch = -456;
key av;

default{
attach(key attached){
if(attached){
av = attached;
llSetTimerEvent(0.1);
}
else
llSetTimerEvent(0);
}

timer(){
integer a = llGetAgentInfo(av);
if(a & AGENT_SITTING)
llSay(ch, "attach");
}
}
Posted by あ at 2009年10月22日 23:11
タイマーでチェック繰り返すのが好きでないので私の場合はリッスンを使います。
1、椅子に座ったら椅子が"sitted"とささやく&制限タイマースタート
2、装着物は"sitted"に応答して"attach_ok"等と返す
3、椅子は制限時間内に"attach_ok"が返ってこなければ立たせる
まぁ、穴はありますけど基本はこれでどうでしょう・・。
Posted by か at 2009年11月11日 18:23
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。