ソラマメ ブログ
オーナーへメッセージ
※カテゴリー別のRSSです。
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。 解除は→こちら
現在の読者数 1人
QRコード
QRCODE
Information
メタコマースおすすめ商品




気ままな一言

無気力に生きています。
SL1年経過……未だ商品無し

無駄にコメントでもどうそ~

みんなでマメタを集めよう、、つーことで広告クリックしまくって下さい(笑)
(と書いておいてクリック増えたらラッキー♪)

2008年08月12日

SLサーバーの環境変数

LSLからHTTP通信を行ったときの環境変数をCGIで抜き出してみました。
(セカンドライフに関するものだけ抜粋)
HTTP_X_SECONDLIFE_SHARDProduction … メイングリッド
Testing … βグリッド
HTTP_X_SECONDLIFE_OBJECT_NAMEオブジェクトの名前
HTTP_X_SECONDLIFE_OBJECT_KEYオブジェクトのUUID
HTTP_X_SECONDLIFE_REGIONSIM名(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_AGENTSecond Life LSL/サーバーバージョン (http://secondlife.com)
HTTP_VIAプロキシ情報

あまり大した情報は取れないようです。(まぁ色々取れすぎても怖いですし……)
とりあえず、SecondLife以外からのアクセス制限はある程度かけられそうです。
  
続きを読む
Posted by れむ at 21:51Comments(0)TrackBack(0)スクリプト

2008年08月11日

パーティクルが出たり、出なかったり、らじばんだり

パーティクルって連続で発生させようとすると出ないことがあるみたいです。

パーティクルの設定を一定時間で消えるようにしているため、
出ないというより切り替わらないといった方が正しいかもしれません。

簡単に書くとこういうことをした場合です。
list rule1 = [...];
list rule2 = [...];
list rule3 = [...];
llParticleSystem(rule1);
llParticleSystem(rule2);
llParticleSystem(rule3);
環境設定の描画距離や最大パーティクル数の設定は問題ないはずです。

1つ目は確実に描画されます。
2つ目以降は時々しか描画されません。

こんなスクリプトでプリムを連打してみても時々同じようになります。
touch_start(integer total_number) {
    llOwnerSay("touch");
    llParticleSystem([...]);
}
間隔を0.2秒以上空けると描画される可能性が高くなるみたいです。
なのでそういうことなのかもしれません。
回避策はあるので諦めます。。
パーティクルの細かい制御にはコツがいりそうです。

perticle  
Posted by れむ at 22:33Comments(2)TrackBack(0)スクリプト

2008年06月12日

実行中のチェック勝手に外れる

何故かスクリプトの左下にある実行中のチェックが
勝手に外れることがあります。

↓これです。普段使う人は少ないと思うので一応画像付けておきます。
running
これが外れるということは
スクリプトが停止してしまうことになります。

原因を調べている内に
テレポートをする度にチェックが外れていることがわかりました。

これが起きるようになったのは
16KBのヒープ制限回避のためにある関数を別のスクリプトへ移した頃からだと思います。

その関数が呼ばれている状態でテレポートをすると発生するみたいです。
恐らく100%に近い確率で発生します。

おかげで最近テレポートばかりしています。

読めない英語のサイトも調べてみましたが、全然原因が見つかりません(んにゃあ……読めません。
エラーは何も出ていませんし、起きるようなところもありません。
この関数が少し重い(速くて1秒弱掛かる)せいかとも思いましたが、
それまで動いていたものなので関係ないはずです。
そうなると、リンクメッセージが関連しているのではないかと思う訳です。

一応、処理の不特定の場所でログが止まるので
何かに強制停止されているみたいです。


まず、llMessageLinked()を呼ぶ間隔に対して
処理が追いついていないのは確実でしたので呼ぶ回数を減らすことにしました。
若干ですが、発生頻度は下がりました。
逆にこれで動いているのが不思議でした。
(確かメッセージキューってオーバーするとエラーが出るのでは?
 もし、無視されるのであれば、まあ動きますか……)

link_message()内ではllSetTimerEvent()だけを呼び、
timer()内で例の関数を呼ぶようにしたら更に下がりました。

ですが、それは単純に例の関数の呼ばれる回数が減ったからかもしれません。
その関数内の何れかの関数がSIM切り替え時に終了していないと、
エラーも吐かずに落ちてしまうのかもしれません。

もうわかりません!

とりあえず、放置決定です。

仕事じゃあるまいし、ここに時間を掛けたくもないので
前の方法に戻して起きなければ諦めようか考え中です。


気持ち悪いですけど。。。
  
Posted by れむ at 14:00Comments(2)TrackBack(0)スクリプト