How do I make a donation box?
Revision as of 15:17, 29 October 2012 by Kireji Haiku (talk | contribs)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
A donation box is a scripted object that Resident can right-click (CMD-click on Macintosh) and pay without receiving a service or object in return. You can make any object a donation box by adding a small script to it. To do so:
- Right-click the object inworld and choose Edit.
- Click on the Content tab. (Click More if you don't see it.)
- Click the New Script button.
- Delete everything in the script. Copy and paste the text in the box below.
- Click Save. If the compile is complete, close the script window and editing window. The Pay option should now appear in the pie menu when a Resident right-clicks on the object. Sample Donation Script:
<lsl> default {
changed(integer change) { if (change & (CHANGED_OWNER | CHANGED_INVENTORY)) return; }
touch_start(integer num_detected) { // PUBLIC_CHANNEL has the integer value 0 llSay(PUBLIC_CHANNEL, "Please right-click me and select 'Pay...' to donate."); }
money(key id, integer amount) { string name = llKey2Name(id);
key owner = llGetOwner();
llInstantMessage(id, "Thank you for your donation, " + name + "!"); llInstantMessage(owner, name + " has donated " + (string)amount + " L$."); }
} </lsl>
Once the script is installed, you can easily change the donation box's properties to accept left-clicks as well.
- If you've closed the editing window, right-click the object and choose Edit again.
- Make sure you're on the General tab in the Editor. (Click More if you don't see it.)
- At the bottom left, you'll see a dropdown list labeled When Left-Clicked:
- Set the option to Pay and close the editing window.