Difference between revisions of "Money"

From Second Life Wiki
Jump to navigation Jump to search
Line 11: Line 11:
Don't forget to turn on the pay-behavior of the prims/objects involved.<br/>
Don't forget to turn on the pay-behavior of the prims/objects involved.<br/>
The pay buttons should be configured in most applications where money is being transfered ([[llSetPayPrice]]), it makes paying money to the object easier.
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 is not triggered at all when the llGiveMoney() function is used. This means scripts cannot verify the amount paid when using llGiveMoney(). Even worse, there is no way to confirm that llGiveMoney succeeded or failed. One possible solution to both of these problems is to ensure that llGiveMoney() causes the money() event to fire.
|caveats=This event is not triggered at all when the llGiveMoney() function is used. This means scripts cannot verify the amount paid when using llGiveMoney(). Even worse, there is no way to confirm that llGiveMoney succeeded or failed. One possible solution to both of these problems is to ensure that llGiveMoney() causes the money() event to fire. Please refer to Jira entries SVC-1099, SVC-2224, SVC-2373 and WEB-424 for more information and suggested solutions.
|examples=<lsl>integer price = 10;
|examples=<lsl>integer price = 10;



Revision as of 21:36, 19 June 2008

Emblem-important-red.png Security Warning!

Always (ALWAYS!) check the amount paid.

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).<br.> 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 is not triggered at all when the llGiveMoney() function is used. This means scripts cannot verify the amount paid when using llGiveMoney(). Even worse, there is no way to confirm that llGiveMoney succeeded or failed. One possible solution to both of these problems is to ensure that llGiveMoney() causes the money() event to fire. Please refer to Jira entries SVC-1099, SVC-2224, SVC-2373 and WEB-424 for more information and suggested solutions.


Examples

<lsl>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");
       }
   }

}</lsl>

See Also

Functions

•  llGiveMoney Give money to another avatar
•  llSetPayPrice Configure the pay buttons

Deep Notes

Signature

event void money( key id, integer amount );