でも別な理由があるような気もするっす。
どうもぺんぎんっす( ◎v◎ )
ここら辺においてある、テクスチャ・チェンジャーで販売もしたいっす。
Pay/moneyイベントを使えば出来るんっすけど、
ちょっと違った方法も考えてみたっす。
現状、SLPPFとかのリンク周りの関数で作ってあるっす。
そこのところを変えて、リンクじゃなくてSay/listenでやり取りするっす。
こうすると商品部分と切り替え部分が分割されて、
Payじゃなく、Buyで購入できるようになるっす。
テクスチャ・チェンジャーをまるごと販売するわけじゃないっすから、
Buyでやるときはこうなるっす。
注意が必要なのは「コピー」を販売するようにすることっす。
「コンテンツ」じゃ中に入ってるスクリプトを販売することになっちゃうっす。
でもこうすると、商品の中にスクリプト(listenして形状を変える)が
残っちゃうっす。
そこで登場するのがリムーブっす。
リムーブが便利なのは自身を対象にできて、自爆できるっす。
llRemoveInventory(llGetScriptName());
と出来るわけっす。
llDieと並んで地味に使えるっすよ。
リムーブするタイミングなんっすけど、購入後初めてRezした時に
やることになるっす。
on_rezイベント中で記述するわけっすね。
「オーナーとクリエーターが異なるならリムーブ」
としておけば良いっす。
この方法の長所と短所をまとめると
長所:
・Buyの安心感・安定感
・切り替え部分は使い回しが可能
短所:
・スクリプトの本数が増える
・Say/listenを利用するので混線対策も必要
・購入時には商品中にスクリプトが残っている状態
→一度もRezしないまま、別のオブジェクトのコンテンツに入れると
on_rezイベントは起きず、スクリプトも残ったままになるっす。
でも、どうせ使うときにはRezするっすから問題ないっすよね?
ただ単に気持ち悪いだけっす。
結論:なんだか面倒なので、普通にPay/moneyでやるべし
0 件のコメント:
コメントを投稿