ソラマメブログ

2009年07月14日

timerイベントとstate移動と私。

とっても久し振りですが、激しく地味な内容で。

今日の検証実験。

試してみた限りですが、timerイベントがキューに入ってる状態でstateを移行すると、
state_entry内でllSetTimerEventで再設定(0.0以外)してもキュー内のイベントがクリアされない、事があるみたいです。
再設定値より短時間のイベントがキューに入ってると、想定してるより短時間でtimerイベントが実行される訳です。
state_entryを出た直後、タイミングによってはrun_time_permissionsとかchangedよりも先にtimer突入とか。

これは前後の命令の関係次第とか、monoコンパイルの直後1回目だけとか、起こったり起こらなかったりもします。

なんとなくタイマーの挙動がおかしくて悩んでる方は、現状 (Second Life Server 1.26.4.120562) では
state移動する場合はllSetTimerEvent(0.0)で一度無効にしてキューから削除してから改めて目的のタイマーを設定するのが良いかも知れません。



同じカテゴリー(スクリプト)の記事画像
体験版
この頃の過ごし方
LSLでプリムを10m以上移動させる
リセット地方
同じカテゴリー(スクリプト)の記事
 体験版 (2007-10-20 18:00)
 この頃の過ごし方 (2007-10-01 16:30)
 アクセスカウンタ (2007-06-20 12:00)
 LSLでプリムを10m以上移動させる (2007-05-12 06:57)
 にほんごであそうぼう (2007-05-10 10:22)
 リセット地方 (2007-05-05 13:38)

Posted by ともねこ at 07:40│Comments(0)スクリプト
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。