From Second Life Wiki
money
| Security Warning!
|
|
Always check the amount paid. Preconfigured payment amounts are a suggestion to the client. The client can still send L$0 or any positive integer.
|
Description
Event: money( key id, integer amount ){ ; }
Triggered when money is paid to the prim in the amount by id.
| • key
| id
| –
| who paid
|
|
| • integer
| amount
| –
| the amount paid
|
|
Specification
When money is paid to the prim, the money is given to the object's owner.
If the object is owned by or deeded to a group it is divvied up amongst the group members immediately (which is why groups can't grant PERMISSION_DEBIT).
Don't forget to turn on the pay-behavior of the prims/objects involved.
The pay buttons should be configured in most applications where money is being transfered (llSetPayPrice), it makes paying money to the object easier.
Caveats
- This event cannot be triggered by a call to llGiveMoney because llGiveMoney cannot be used by one object to pay another object.
- Money cannot be paid to an attachment.
Examples
integer price = 10;
default
{
state_entry()
{
llSetPayPrice(PAY_HIDE, [PAY_HIDE ,PAY_HIDE, PAY_HIDE, PAY_HIDE]);
llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
}
run_time_permissions(integer perm)
{
if(perm & PERMISSION_DEBIT)
state cash;
}
}
state cash
{
state_entry()
{
llSetPayPrice(price, [price, PAY_HIDE, PAY_HIDE, PAY_HIDE]);
}
money(key id, integer amount)
{
if(amount != price)
{
llGiveMoney(id, amount);
llInstantMessage(id, "You paid "+(string)amount+", which is the wrong price, the price is: "+(string)price);
}
else
{
llInstantMessage(id, "You paid the right price");
}
}
}