お金もらう募金箱(llGetMoney関数)つくりました。
以下のスクリプトでは、オブジェクトを右クリックし、支払いを選ぶと支払金額を
選択するメッセージが表示されます。
「支払い」ボタンを押下すると、オーナーに支払います。
この募金箱は1$L募金箱なのでそれ以外の金額の場合は、返金します。
integer myamount = 1; default { state_entry() { llRequestPermissions(llGetOwner(),PERMISSION_DEBIT); } money(key id, integer amount) { if(amount != myamount){ llGiveMoney(id,amount); } } } |
llRequestPermissions関数() 一番目のパラメータ : 許可をもらうアバターのキー 二番目のパラメータ : 許可の種類(この例の場合、オーナーが返金する場合があるので 支払いの許可を得ています。) |
llGiveMoney関数() 1$Lでない金額を受け取った場合にお金を返金しています。
「お金を受け取ること」はパイメニューで「支払い」を選ぶことで自動的におこなわれます。 一番目のパラメータ : お金をもらうアバターのキー 二番目のパラメータ : 金額(リンデンドル) |
moneyイベント()
このイベントを書くことによってパイメニューで「支払い」を選ぶことができるようになります。 一番目のパラメータ : お金を払ったアバターのキー 二番目のパラメータ : 金額(リンデンドル) |
<補足>
state_entryの中に、llSetPayPrice(PAY_HIDE,[1,PAY_HIDE,PAY_HIDE,PAY_HIDE]);
を指定すると金額のメッセージを上記のように1$Lに固定することもできます。
ただし、金額の違う商品を一度に複数購入されたりすると、
受け取った金額が商品の金額(今回は1$L募金金額)と違ってしまう場合があるらしく、
金額チェックはおこなった方がよいようです。