気ままな一言
無気力に生きています。
SL1年経過……未だ商品無し
無駄にコメントでもどうそ~
みんなでマメタを集めよう、、つーことで広告クリックしまくって下さい(笑)
(と書いておいてクリック増えたらラッキー♪)
SL1年経過……未だ商品無し
無駄にコメントでもどうそ~
みんなでマメタを集めよう、、つーことで広告クリックしまくって下さい(笑)
(と書いておいてクリック増えたらラッキー♪)
2008年08月12日
SLサーバーの環境変数
LSLからHTTP通信を行ったときの環境変数をCGIで抜き出してみました。
(セカンドライフに関するものだけ抜粋)
あまり大した情報は取れないようです。(まぁ色々取れすぎても怖いですし……)
とりあえず、SecondLife以外からのアクセス制限はある程度かけられそうです。
続きを読む
(セカンドライフに関するものだけ抜粋)
| HTTP_X_SECONDLIFE_SHARD | Production … メイングリッド Testing … βグリッド |
| HTTP_X_SECONDLIFE_OBJECT_NAME | オブジェクトの名前 |
| HTTP_X_SECONDLIFE_OBJECT_KEY | オブジェクトのUUID |
| HTTP_X_SECONDLIFE_REGION | SIM名(SIMのグローバル座標) |
| HTTP_X_SECONDLIFE_LOCAL_POSITION | (オブジェクトの座標) |
| HTTP_X_SECONDLIFE_LOCAL_ROTATION | (オブジェクトの回転値) |
| HTTP_X_SECONDLIFE_LOCAL_VELOCITY | (オブジェクトの速度) |
| HTTP_X_SECONDLIFE_OWNER_NAME | オブジェクトオーナーの名前 |
| HTTP_X_SECONDLIFE_OWNER_KEY | オブジェクトオーナーのUUID |
| HTTP_USER_AGENT | Second Life LSL/サーバーバージョン (http://secondlife.com) |
| HTTP_VIA | プロキシ情報 |
あまり大した情報は取れないようです。(まぁ色々取れすぎても怖いですし……)
とりあえず、SecondLife以外からのアクセス制限はある程度かけられそうです。
続きを読む
2008年08月11日
パーティクルが出たり、出なかったり、らじばんだり
パーティクルって連続で発生させようとすると出ないことがあるみたいです。
パーティクルの設定を一定時間で消えるようにしているため、
出ないというより切り替わらないといった方が正しいかもしれません。
簡単に書くとこういうことをした場合です。
1つ目は確実に描画されます。
2つ目以降は時々しか描画されません。
こんなスクリプトでプリムを連打してみても時々同じようになります。
なのでそういうことなのかもしれません。
回避策はあるので諦めます。。
パーティクルの細かい制御にはコツがいりそうです。
パーティクルの設定を一定時間で消えるようにしているため、
出ないというより切り替わらないといった方が正しいかもしれません。
簡単に書くとこういうことをした場合です。
list rule1 = [...]; list rule2 = [...]; list rule3 = [...]; llParticleSystem(rule1); llParticleSystem(rule2); llParticleSystem(rule3);環境設定の描画距離や最大パーティクル数の設定は問題ないはずです。
1つ目は確実に描画されます。
2つ目以降は時々しか描画されません。
こんなスクリプトでプリムを連打してみても時々同じようになります。
touch_start(integer total_number) {
llOwnerSay("touch");
llParticleSystem([...]);
}
間隔を0.2秒以上空けると描画される可能性が高くなるみたいです。なのでそういうことなのかもしれません。
回避策はあるので諦めます。。
パーティクルの細かい制御にはコツがいりそうです。
タグ :パーティクル
2008年06月12日
実行中のチェック勝手に外れる
何故かスクリプトの左下にある実行中のチェックが
勝手に外れることがあります。
↓これです。普段使う人は少ないと思うので一応画像付けておきます。

これが外れるということは
スクリプトが停止してしまうことになります。
原因を調べている内に
テレポートをする度にチェックが外れていることがわかりました。
これが起きるようになったのは
16KBのヒープ制限回避のためにある関数を別のスクリプトへ移した頃からだと思います。
その関数が呼ばれている状態でテレポートをすると発生するみたいです。
恐らく100%に近い確率で発生します。
おかげで最近テレポートばかりしています。
読めない英語のサイトも調べてみましたが、全然原因が見つかりません(んにゃあ……読めません。
エラーは何も出ていませんし、起きるようなところもありません。
この関数が少し重い(速くて1秒弱掛かる)せいかとも思いましたが、
それまで動いていたものなので関係ないはずです。
そうなると、リンクメッセージが関連しているのではないかと思う訳です。
一応、処理の不特定の場所でログが止まるので
何かに強制停止されているみたいです。
まず、llMessageLinked()を呼ぶ間隔に対して
処理が追いついていないのは確実でしたので呼ぶ回数を減らすことにしました。
若干ですが、発生頻度は下がりました。
逆にこれで動いているのが不思議でした。
(確かメッセージキューってオーバーするとエラーが出るのでは?
もし、無視されるのであれば、まあ動きますか……)
link_message()内ではllSetTimerEvent()だけを呼び、
timer()内で例の関数を呼ぶようにしたら更に下がりました。
ですが、それは単純に例の関数の呼ばれる回数が減ったからかもしれません。
その関数内の何れかの関数がSIM切り替え時に終了していないと、
エラーも吐かずに落ちてしまうのかもしれません。
もうわかりません!
とりあえず、放置決定です。
仕事じゃあるまいし、ここに時間を掛けたくもないので
前の方法に戻して起きなければ諦めようか考え中です。
気持ち悪いですけど。。。
勝手に外れることがあります。
↓これです。普段使う人は少ないと思うので一応画像付けておきます。

これが外れるということは
スクリプトが停止してしまうことになります。
原因を調べている内に
テレポートをする度にチェックが外れていることがわかりました。
これが起きるようになったのは
16KBのヒープ制限回避のためにある関数を別のスクリプトへ移した頃からだと思います。
その関数が呼ばれている状態でテレポートをすると発生するみたいです。
恐らく100%に近い確率で発生します。
おかげで最近テレポートばかりしています。
読めない英語のサイトも調べてみましたが、全然原因が見つかりません(んにゃあ……読めません。
エラーは何も出ていませんし、起きるようなところもありません。
この関数が少し重い(速くて1秒弱掛かる)せいかとも思いましたが、
それまで動いていたものなので関係ないはずです。
そうなると、リンクメッセージが関連しているのではないかと思う訳です。
一応、処理の不特定の場所でログが止まるので
何かに強制停止されているみたいです。
まず、llMessageLinked()を呼ぶ間隔に対して
処理が追いついていないのは確実でしたので呼ぶ回数を減らすことにしました。
若干ですが、発生頻度は下がりました。
逆にこれで動いているのが不思議でした。
(確かメッセージキューってオーバーするとエラーが出るのでは?
もし、無視されるのであれば、まあ動きますか……)
link_message()内ではllSetTimerEvent()だけを呼び、
timer()内で例の関数を呼ぶようにしたら更に下がりました。
ですが、それは単純に例の関数の呼ばれる回数が減ったからかもしれません。
その関数内の何れかの関数がSIM切り替え時に終了していないと、
エラーも吐かずに落ちてしまうのかもしれません。
もうわかりません!
とりあえず、放置決定です。
仕事じゃあるまいし、ここに時間を掛けたくもないので
前の方法に戻して起きなければ諦めようか考え中です。
気持ち悪いですけど。。。

