Main Channel
This week the code from Le Tigre/Magnum rolled to the main channel. This is a server maintenance pack. It includes the LSL function llTransferLindenDollars(). The thread that links to is now about 5 pages long. The details of the function are:
- New LSL function: key llTransferLindenDollars(key id, integer amount)
- Attempt to transfer amount of L$ from the owner of the object to ‘id’. Requires PERMISSION_DEBIT. Returns a key used in a matching transaction_result event for the success or failure of the transfer.
- New LSL event: transaction_result(key id, integer success, string data) This event is triggered from an llTransfer* call (currently only llTransferLindenDollars).
- id: matches the return value of the llTransfer call and if the transaction was a success will match the ‘transaction id’ shown in transaction history on secondlife.com
- success: TRUE if the transfer succeeded otherwise FALSE.
- data: On successful transactions will contain a CSV of destination ID and amount transferred. In failure cases it will contain an error tag on failure.
- LINDENDOLLAR_ENTITYDOESNOTEXIST – The destination UUID is not a valid agent.
- LINDENDOLLAR_INSUFFICIENTFUNDS – The source agent does not have enough L$ for the transfer
- INVALID_AGENT – Destination agent is not a valid UUID
- INVALID_AMOUNT – Amount is <= 0
- THROTTLED – The scripted L$ throttle was hit for this object owner.
- MISSING_PERMISSION_DEBIT – The script does not have debit permission
- GROUP_OWNED – The object is group owned and thus can’t give money
- TRANSFERS_DISABLED – L$ transfers are disabled in the region
- EXPIRED – The simulator timed out waiting for a response from the back-end service.
- SERVICE_ERROR – There was an error connecting to the back-end service