La Mia seconda vita

セカンドライフでのメッシュ制作や景観ハント、日々の出来事などをブログに綴っています

 

DFS用Auto rezzerを作ってみました

DFS本店前は6周年記念+ハロウィン仕様。みあこは前回のアイキャッチと同じ服なのですが、Fatpackを頂いたので色んなパターンで着せています。

前回のブログに書いたDFS用rezzer(rez個数指定版)は、だいたい正確に動くのですが、rez直後の一回目とかはちゃんと指定した個数が出ないときもあります。インベントリ内のロードが終わっていないとかSIMの動作が重いとか要因は何かしらありそうですが、気が向かないと深くは追及しない。なぜなら自分用だから(雑)

そんなわけ(どんなわけ?)で、Auto rezzerタイプのrezzerを作ってみました。DFS公式のフリーギフトの中にもauto-rezzerはあるのですが、少し機能を追加したいのと、センサーの間隔などを自由に設定したいので自分で書いてみることに。以下改良点。

  • タッチしてダイアログメニューでauto rezのstart/stop
  • フローティングテキストでauto rez停止中は「停止中」と表示
  • 説明欄にアイテム名入力で「アイテム名(在庫数)」と自動リネーム
  • stop指示、または在庫がなくなったらセンサーを停止
  • rez位置の調整、センサー間隔(手動でスクリプト書き換え)

センサーに関してですが、auto rezzerのスクリプト構造として「アイテムをrez→rezしたアイテムのuuidで〇m以内に存在するかセンサーで〇秒間隔でチェックする→uuidが一致するものが無い→次をrezする」という感じになっています。

つまりuuidで個体判別して何秒毎かにセンサーで「おるかー?」するわけですね。ですがあんまり頻繁に「おるかー?」するとSIMに負担が掛かったりして宜しくない(←重要)

因みにDFSでAuto rezzerを使う例としては

  1. 動物の餌
  2. 肥料→Compost
  3. 水樽→給水塔
  4. 料理用 貯蓄樽

などが考えられますが、1,2,3 は24時間置きっぱなし使用ですがセンサーの間隔が長くても問題ないタイプです。対して4の料理用貯蓄樽は、料理するときにしかrezしませんが使ったらすぐ次が出てほしいタイプ。

1,2,3は30秒、それ以上にしても問題なさげです。餌はそんなにすぐに無くなりませんし、肥料や給水タワーへの補給は私たちがINしていない間も自動でせっせとやってくれるわけですから。ただ、卵を産む鶏を沢山飼ってる場合、Feedはオーナーが手動で行いますので、そこそこ早く出てきて欲しいかも。

4は連続して同じ素材をスロットに入れることを考えると、1秒間隔とかでもよいと思います。ずっと土地にrezするものではないですし、貯蓄樽を出しっぱなしにするにしてもstopでセンサーを止めておけば負荷にはなりません。

公式が用意してくれているauto-rezzerは恐らくセンサー間隔が1秒~2秒という感じ(スクリプトの中を見たわけではないのでわかりませんが)かと思います。1~4の用途すべてを賄うことを考えると、最短に合わせたといったところかと思います。1~3の用途に関してはセンサー間隔が長いものを使う方が 地球 SIMに優しい・・・はず!

 

因みに「料理時は出した樽一気にStartやStopが出来れば楽じゃん!」と思ったのですが、それをするためには常にlistenする構造にしなくてはならぬ。ローカルチャンネル使うのはアレだし、かといってチャンネル指定を打ち込むのは面倒だし、結局HUD形式になるのか。

以前イタズラで、踏むと30個くらい物理オブジェクトが出てくるトラップを作ったことがあります。ローカルチャットのキーワードで自爆する構造でしたが、同時に30体listenしてても特に重くなるなどの不具合は無かったから割と大丈夫なのかな(DFSの材料って最大9スロットだし)

自分用スクリプト構造メモ

touch_startでダイアログメニュー(llDialog)展開。listenでStartかStopの指示を聞きます。StartされたらllRezObjectでrez、object_rezで取得したrezされたオブジェクトのuuidでllSensorRepeatを開始します。居る場合sensorではなにもしない。居ない場合no_sensorでは新しくrezを行う。ダイアログメニューでStopが指示された場合等はllSensorRemoveでセンサーを停止。

スクリプトに関してはソースを載せた方が分かりやすいとは思うんですが、あまり複雑なスクリプトをまるっと載せるのは無自覚なスクリプトテロに繋がる的な意味で危ないなと思ったので控えます。

 - Blog, Products , , ,