llGiveMoney
integer llGiveMoney(key AvatarID, integer Amount)Transfers Amount of L$ from script owner to AvatarID.
This call will silently fail if PERMISSION_DEBIT has not been granted.
Parameters
-
AvatarID(key) -
Amount(integer)
There is no way to determine the success of an llGiveMoney transaction. If you need to know if a transaction was successful, use llTransferLindenDollars instead of llGiveMoney.
Caveats
Section titled “Caveats”- An object cannot pay another object
- It is impossible for a script to tell if an
llGiveMoneytransaction succeeded or failed. UsellTransferLindenDollarsinstead - Objects deeded to groups cannot give money (the permission cannot be granted)
- Use is limited to 30 payments in a 30 second interval for all scripts owned by that resident on a region. Sustained overage will produce a script error and halt payments while the rate remains excessive. Historically, faster payments have failed intermittently
- Once a script has the
PERMISSION_DEBITpermission it can empty an account of L$- Fraud & theft are both Terms of Service violations and crimes. Misuse this function and you risk being banned and legal action. In addition Linden Lab may freeze the accounts of anyone the money is transferred to and restore it to its rightful owners. This may involve retrieving it from third party exchanges and accounts on those exchanges being frozen. The system is not designed to be friendly towards fraud
Examples
Section titled “Examples”// Pay 100 L$ to Fred Bloggs when he touches this prim, then die// Compare this example with that shown under llTransferLindenDollars
string Recipient = "Fred Bloggs"; // Authorised recipientinteger Amount = 100; // Amount to pay Fred when he touches the priminteger DebitPerms;
default{ state_entry() { // Ask the owner for permission to debit their account llRequestPermissions(llGetOwner(), PERMISSION_DEBIT); }
run_time_permissions (integer perm) { if (perm & PERMISSION_DEBIT) DebitPerms = TRUE; }
touch_start(integer num_detected) { if (!DebitPerms) return; // Cannot proceed - debit permissions not granted if (llDetectedName(0) != Recipient) return; // unauthorised person is touching - ignore
key id = llDetectedKey(0); // Get toucher's (i.e. Fred's) UUID llGiveMoney(id, Amount); // Give him the money llDie(); // Die so Fred can't keep taking money }}See Also
Section titled “See Also”- llTransferLindenDollars
- llSetPayPrice
moneyevent - Receive payment eventstransaction_resultevent - Receive transaction results (available with llTransferLindenDollars)