スクリプトの館

Re: 乗り捨て御免

- Yan Lauria の投稿
返信数: 2

これはいいですね。アビス海文台に展示してある掘削船「ちきゅう」に操縦可能なヘリコプターを置こうと思っていたところですが、さっそく作者のピヨさんと相談してみます。

Yan Lauria への返信

Re: 乗り捨て御免

- Shinobar Martinek の投稿

スクリプトを AutoReturn v2、BurnOut V2.2s へ、それぞれ更新しました。

AutoReturn は戻るべき出発地点の変更を容易にして使いやすくしました。

BurnOut はリージョン越えではなく、隣接の無いリージョン境界に突っ込んで立ち往生した場合の対処を追加しました。このとき後退(↓)キーを数秒間押し続けると10mほど後退し、ふたたび運転操作ができるようになります。Piyoさんのアイデアをコードに組み込んだものです。

ただし、RezzerなどからRezされた乗物はリージョンを越えることができないばかりでなく、
リージョンの端に到達すると即座に消滅します。


使い方詳細は以下のとおり。

1. スクリプト AutoReturn について

誰でも自由に運転できる乗物を置いた場合に、それらがあちこちに乗り捨てられて見苦しくなることがあります。これを解決するためのスクリプトです。乗り捨てられて一定時間経つと出発地点に自動的に戻ります。

Shinobar Annex スクリプトの館で無料配布しています。車の中身にあるスクリプト、AutoReturnがそれです。これを取り出して、他の既存の乗物に加えることで、オート・リターン機能が追加されます。

戻るべき出発地点とは、乗物が Rezされたのちに最初に誰かが乗り込んだ地点です。途中で下車し、再び乗り込んでも最初の地点を記憶しています。出発地点を変更するには、乗物を Rezしなおすか、もとの出発地点に戻った乗物をオブジェクトの編集で移動させてから乗り込んでください。あるいは任意の地点で下車し、オーナーが乗物をタッチ(右クリック>「触る」)するとスクリプトがリセットされるので、Rezしなおしたのと同じ効果があります。オブジェクトの編集で移動させてから乗り込んでください。

乗物がリージョン越えし、他のリージョンで乗り捨てられた場合でも、リージョンを越えて戻ってきます。ただし乗り捨てられた地点から出発地までを直線で戻ろうとするので、間のリージョンが落ちているとか、オブジェクト侵入禁止、スクリプト禁止などの障害があると、その境界で停止します。

RezzerなどからRezされて、乗り捨てられたら自動消滅させたい場合は、Rezパラメータに 0以外の値を指定してください。RezパラメータはllRezObjectや llRezAtRootで指定できます。
ただし、RezzerなどからRezされた乗物はリージョンを越えることができないばかりでなく、
リージョンの端に到達すると即座に消滅します。

2. スクリプト BurnOut について

配布している車 Jaguar には運転するためのメイン・スクリプト BurnOut V2.2s も同梱されています。Shin Ingen さんが作成しOpenSimで配布されている BurnOut V2.0 を元に、リージョン越えなどの機能を私が強化したものです。BurnOut V2.0 を使った乗物のメイン・スクリプトをこれに差し替えることで、次の機能が追加されます。

リージョン越えするとしばらく停止しますが、乗ったままで待っているとふたたび運転操作できるようになります。

隣のリージョンに越えるのではなく、隣接の無いリージョン境界に突っ込んで停止することがあります。このときは後退(↓)キーを数秒間押し続けてください。10mほど後退し、ふたたび運転操作ができるようになります。

いずれのスクリプトもコピー、改変、配布とも自由です。制限はありません。

 

 

Shinobar Martinek への返信

Re: 乗り捨て御免

- Shinobar Martinek の投稿

連日で失礼します。更新しました。AutoReturn v2.1, OutBurn V2.3s です。Shinobar Annex スクリプトの館で無料配布しています。いずれのスクリプトもコピー、改変、配布とも自由です。

一般的にRezzerなどからRezされた乗物はリージョンを越えることができないばかりでなく、
リージョンの端に到達すると即座に消滅します。

BurnOut V2.3sではリージョン境界に達しないよう保護が組まれています。スクリプト内の変数 region_limit にリージョンの大きさを設定してください。 region_limit = 0 ではこの機能は抑制されます。

region_limit の初期設定にかかわらず、Rezパラメータ付きでRezされた場合はそちらが優先です。Rezzer側のスクリプトで Rezパラメータにリージョンのサイズを与えてください。通常は 256、Varregionでは 512や768、1024など。