スカイ・エッグ

一部に要望のあった SkyEgg v2 をJOG内で作りました。座ると上空まで連れて行ってくれ、そこに一時的なスカイボックスをRezするのが基本的な機能です。



上空でRezするスカイボックスは、任意のものをインベントリに入れておくことができます。ただし1つのオブジェクトにリンクされていなくてはなりません。コピー可でなければならないのはもちろんです。オブジェクトにはスクリプト ListenDie を入れておいてください。見本にオブジェクト Dome 50m が入っていますが、その中にこのスクリプトがあります。アバターが地上に戻るときに、Rezしたスカイボックスを消去するためのものです。

Rezされる位置はカプセル(卵)の下面です。Rezされるスカイボックスのrootプリムをこの位置にしてください。スクリプト upsky v2内の次の変数で位置を調整できます。
vector REZ_POS = <0.0, 0.0, -0.2>; //rezzed object root position from the lower surface of the cupsel


座ったときに取るポーズは、アニメーションを入れ替えることで変更できます。その腰の位置はノートカード SITCONFIGに記載します。
vector POSITION = <-0.5, 0.0, 0.2>; // <x,y,z> meters offset when the agent face to the east
アバターが東を向いたときの腰の位置を <x, y, z> 座標で記入します。

置いてあった卵に座ったときに、卵が手の上に移動するといった効果を付けたいことがあります。このときには LIFT_UP にその高さを設定してください。
float LIFT_UP = 0.0; //meters lift up at sit


上昇のときの効果音は、やはりインベントリ内のサウンドを入れ替えます。

上空の高さは、スクリプト upsky v2 の次の部分を書き換えます。
//list LEVELS = [ "+10", "400", "600" ]; // '+' means relative
list LEVELS = [300]; // menu not shown if the element is only one
複数の高さをリストに掲げたときは、メニューが表示されます。1つだけだとメニューは表示されず、座るだけでその高さまで上昇します。行冒頭に '//'があると、その行は無視されます。

上昇・下降の速度は次の値を変更ください。
float high_speed = 50.0; //meter per second
float low_speed = 4.0;


上昇中は卵が光ります。これを停止したいのならば、GLOW を 0.0 に設定してください。
float GLOW = 1.0; //0.0-1.0, glow effect


不明な点があれば、JOGインワールドで Shinobar Martinek までお問い合わせください。

(初稿:8 Mar 2019, 21:31)

Posted on 8 Mar 2019, 22:08 - カテゴリ: スクリプト
Comments - Edit - Delete


販売スクリプト

JOGフォーラムでも紹介した、商品を販売するスクリプトです。JOG内 Shinobar Annex スクリプトの館で配布しています。



-HyperVendor 3つの特徴

1. 無料での頒布も、料金を設定しての有料販売もできます。ただし有料販売ではマネーサーバーの設定が影響します。

2. メニューによる商品の選択、あるいは一括してのフォルダ渡しか、スクリプトの設定で選べます。

3. HGユーザーへも頒布するかどうか設定できます。ただし有料販売ではマネーサーバーの設定が影響します。

スクリプト冒頭の変数の値を書き換えることで挙動を変えることができます。

<無料/有料での頒布>
PRICE: 頒価を数字で設定します。0 ならば無料。マネーサーバーに接続していないSIMではアバターの所持金が常に0なので、有料設定すると購入できないので注意。

<メニューでの商品の選択、あるいはフォルダ渡し>
MENU=TRUE だと、オブジェクト内の商品のうち、メニューで選択された一つだけを渡します。フォルダは作りません。
MENU=FALSE だと、オブジェクト内のすべての商品をまとめて1つのフォルダにして渡します。フォルダ名は FOLDER_NAME でも設定できますが、デフォルトでは入れ物であるオブジェクト名と同じ。オブジェクトの一般設定でL$0で「中身」を販売に設定したのと同じ機能。
オブジェクト内の渡せる商品が1つだけの場合は MENUの値に関わらず、その一つだけを、フォルダを作らずに渡します。

<HGユーザーへの対応>
HG_OK=TRUE では、JOG外からのHyper-Gridユーザーにも商品を頒布します。ただし PRICE > 0 では SIMのマネーサーバーの設定によってはHGユーザーがJPを所持せず、購入できない場合があります。このようなSIMで PRICE>0 の場合には HG_OK=FALSE を設定してください。
HG_OK=FALSE では PRICE の値に関わらず(無料の場合も含めて)HGユーザーには販売しません。

<オーナーへの通知>
NOTIFY=TRUE では取引の内容をオーナーにIMで通知します。
NOTIFY=FALSE では通知しません。
有料(PRICE>0)の場合、マネーサーバーに記録が残るのでIMによる通知は必要ないでしょう。無料(PRICE=0)の場合、マネーサーバーを通過せず、記録が残らないので、必要ならば NOTIFY=TRUE に設定してください。

<マネーサーバーとの関係>
無料(PRICE=0)の場合、商品の「購入」ではなくタッチによる受け渡しとなります。マネーサーバーへの接続の有無や設定のいかんに関わらず、 HG_OK の値で HGユーザーへの対応が決まります。

有料(PRICE>0)の場合、マネーサーバーに接続していないSIMではアバターの所持金が常に0なので、誰も購入できなくなります。

DejimaリージョンなどマネーサーバーがHGユーザーに対応しているSIMの場合、HGユーザーに販売するかどうかは HG_OK 変数の設定によって決まります。

マネーサーバーに接続しているSIMでも HGユーザーの所持金が 0になる設定の場合(JOGセンターSIM群の多くがこの設定になっています)、たとえ HG_OK=TRUE としていても HGユーザーは購入できません。このようなSIMで有料(PRICE>0)設定するのであれば、HG_OK=FALSE と設定してください。


(初稿:7 Dec 2018, 15:15)

Posted on 26 Dec 2018, 22:31 - カテゴリ: スクリプト
Comments - Edit - Delete


Pages: [1]