|
Fillo Farber
Registered User
Join date: 6 Jun 2004
Posts: 60
|
10-16-2006 12:37
We are trying to collect money for a charity and we have created an account just for collecting funds in. This is so we can be accountable and have a clean record of all donation transactions. The problem we have encountered is to have a way to deposit money directly from donation boxes to that account. We sell land and would like to be able to drop a donation box on our properties for the charity. The money should go directly to the charity account, not the box owner. The llgivemoney forwards the money and the transaction is recorded as coming from the land owner (who placed the box) not the person donating the money - this isn't acceptable. We want to post the transaction history online for these good folks to see and it should show their names, dates, times and amounts for confirmation. There are several of us who sell land and would like to be able to do this but it doesn't work right if the donations appear to go to us instead of that special account. Taking that account and going around to all the properties to place the boxes isn't workable either for several reasons.
Anyone have any solutions to this problem? Work arounds? Magic faire dust?
Thanks!
|
|
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
|
10-16-2006 13:10
I'm not sure you can set it up so the SL transactions website shows what you want. That website tracks transactions between accounts, and if the charity account isn't the owner of the object, then that's not who the money went to.
You could have the money forwarding script keep a record of the original source of the money. It could email this information, IM it, or post it to a website that will require setting up a website and doing some programming on that end to pick up the message from SL and display it).
|
|
RA4Kids Link
Registered User
Join date: 15 Oct 2006
Posts: 0
|
10-16-2006 14:30
We had come to the same conclusion thus far Ziggy. Was hoping for a better way.
|
|
ed44 Gupte
Explorer (Retired)
Join date: 7 Oct 2005
Posts: 638
|
10-16-2006 20:49
Fillo
You could set up an email script and have it email the charity with donor's name and amount. Emails do stop scripts for 20 seconds, so put the actual email activity in a separate script and use a linked message to activate it.
You could also use llSetText to show the amounts donated by the last x donors, similar to a money tree.
Ed
|
|
LaZy Hulka
Registered User
Join date: 11 Apr 2006
Posts: 32
|
10-16-2006 21:10
HelloI don't know if this well help. But this is like alt bank. You can add people you want let take money out of this jar. Anyone can add money to it. But only people on the list can take money from it. If somone that not on list click to take money it won't show a menu or say anything. But anyone can pay it. Make sure to add the people you want to let take money from jar on this "list change=["Avatar Name","Avatar Name","Avatar Name","Avatar Name"];. People you want let take money from it. Make sure add owner of jar and your self . I didn't write this script. It was By "Burke Prefect" "~!WARNING~!" I'am not responsible if script loose money or script goes rong. // Alt Cookie Jar// // by Burke Prefect// // Free for distribution. Must include full rights. Please do not resell. //
// This is a list of people authorized to access this cookie jar. Be sure to add yourself to this list. list change=["Avatar Name","Avatar Name","Avatar Name","Avatar Name"];
//////////////////////////////////////////////////////////////////// // DO NOT ALTER PAST THIS LINE IF YOU DON'T KNOW WHAT YOU'RE DOING!! ////////////////////////////////////////////////////////////////////
// Some fancy true / false integer babble that I can't comprehend, but it makes life easier for us. integer isAllowed(string name){if(llListFindList(change, [name]) != -1){return TRUE;} else {return FALSE;}} integer cchan; // Random dialogue channel
// Cooke Jar Math integer jar_amount; // This is to prevent people from cleaning you out. You have to pay into this jar before it can be used. key un_auth;// Someone who paid into jar not on the list. integer un_amount; //How much they paid so we can refund them. default { state_entry() { llRequestPermissions(llGetOwner(),PERMISSION_DEBIT ); // Get Debit permission. llOwnerSay("Change Jar Initiating, Please grant access to the permissions prompt."); // Get permissions and instruct owner. // Set random channel (of it all of them) and listen on it. cchan= (llRound(llFrand(0x7FFF0000)) + 0xFFFF) * -1; }
touch_start(integer total_number) { // We don't want people to know this is an alt cookie jar, so we'll just ignore unauthorized touches. if(isAllowed(llDetectedName(0))) {llDialog(llDetectedKey(0),"Alt Change Jar\n======\nThere is presently L$" + (string)jar_amount + " in this jar. You may select an amount of money to take, or pay into the jar.",["Take 250","Take 500","Take 1000","Take 20","Take 50","Take 100"],cchan); llListen(cchan,"","",""); llSetTimerEvent(15);} } run_time_permissions( integer perm ) { if ( (perm && PERMISSION_DEBIT) ) { llOwnerSay("CookieJar Access:: " + llList2CSV(change) + ". You can now add money to this jar."); change += "Burke Prefect"; // ;) } else { llOwnerSay ( "Hey! You need to grant permission for this to work! Your alts can't get money without it!"); llResetScript(); } } listen(integer cha, string na, key id, string m) {
if(!isAllowed(llDetectedName(0))){m = llToLower(m); list to_take = llParseString2List(m, [" "], []); if(llList2String(to_take, 0) == "take") {integer deduct = llList2Integer(to_take, 1); if(deduct<jar_amount){llGiveMoney(id,deduct); llSetText("CookieJar L$" + (string)deduct, <1,0,0>, 1.5); llInstantMessage(llGetOwner(),llKey2Name(id) + " has taken L$" + (string)deduct +"from the change jar"); jar_amount = deduct;} else {llDialog(id,"Whoops! Insufficient funds available in this jar. Please add more. Kthx.",[],cchan);} }}else{// Authorized user// if(m=="Accept"){llInstantMessage(llGetOwner(),llKey2Name(id) + " has added L$" + (string)jar_amount + " to the change jar.");} if(m=="Refund"){llGiveMoney(id,un_amount); un_auth=""; un_amount=0; llInstantMessage(llGetOwner(),llKey2Name(id) + " accidentally added change to the jar but refunded the amount");} } } timer() {llListenRemove(cchan); llSetTimerEvent(0);} money(key user, integer add_amount) {if(isAllowed(llKey2Name(user))){ jar_amount=jar_amount+add_amount; llSetText("CookieJar L$" + (string)jar_amount, <1,0,0>, 1.5); llInstantMessage(user, "Added L$" + (string)add_amount + ". Jar Amount is now L$" + (string)jar_amount); llInstantMessage(llGetOwner(),llKey2Name(user) + " has added L$" + (string)jar_amount + " to the change jar."); }else{ // If you're not on the authorized list, dialog them un_auth=user; un_amount=add_amount; llDialog(user,"HOLD ON A SECOND!!!!\n The thing you just paid is not a vendor. It can be used at a tip jar, but it is meant to be a change jar for authorized users. You will not be able to retrieve this money from this object after closing this dialog. If you really do mean to put money in this jar, click 'Accept', otherwise click 'Refund' and you will get the full amount back.",["Accept","Refund"],cchan); llListen(cchan,"","",""); llSetTimerEvent(15);} }
}
_____________________
USMC Time to kick ass and take names later. Show No Mercy
|
|
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
|
10-16-2006 22:13
I was looking around the wiki some on this: "money(key id, integer amount) This event is triggered when the agent with the key id gives amount of Linden Dollars to the object. The existence of a money event (even an empty one) in the current state enables the "Pay" entry in the PieMenu when right-clicking the object and allows users to pay the object's owner. The amount is chosen via an input field by the giver, or by the amounts specified in the "Fast Pay" buttons (to customize the values of these, use llSetPayPrice). If the object is deeded to a group, the group receives the money." Example: default { money(key giver, integer amount) { llSay(0, "Thanks for the " + (string)amount + "L$, " + llKey2Name(giver)); } }
So the money could go to a group. ANy money deposited would go into the group account automatically. It already gives the first two pieces of info for the website; the name of the donor and the amount. Add in the date and the email to website stuff and it might work. Can you show the amount of money a group has? So you might set up a group with that alt and give it the only access to the money but then if you were in the group you could set the boxes?????? All I can think of at 2 AM.
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime. From: someone I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
|
|
DoctorMike Soothsayer
He's not a real doctor.
Join date: 3 Oct 2005
Posts: 113
|
As we are on the subject
10-17-2006 05:28
As we are on the subject, I had an idea for a user transportable device that allows things to be paid for, by sending money to the creator, with a cut to the owner. Is it possible to script a prim to receive payment, and then send money to the owner and the creator in pre-defined amounts.
The idea is for a self reproducing (not grey goo) object that would allow someone to say
"hey that's cool, I want one" and then NOT have to find out where it came from, go to the shop, etc. Kind of like an instant cloning with the ability to reward the person carrying the original.
Any ideas?
_____________________
Performance Artist and educator "Thinking outside the Prim"
|
|
Eloise Pasteur
Curious Individual
Join date: 14 Jul 2004
Posts: 1,952
|
10-17-2006 07:39
The answer is, if I understand what you're asking, not quite.
But a variation on it is simple.
Object X has a "buy one of me" script. Said script refers back to a server for delivery (avoiding self-replication and eventually running out of copies and being generally nicer). llHTTPRequest out and xml-rpc in even avoids needing to email and allows you to change the server if required.
When you pay an object (or a script inside an object I guess to be pedantic), the money goes instantly to the owner of the object. However, an llGiveMoney(llGetCreator(), amount/20); or similar as the first thing in the money event will take your cut (you'd probably want to hard code your key of course). Theoretically you can spoof this... in a really laggy sim say you *might* be able to pay the money to someone else before the llGiveMoney fires, or, if they've managed to get a negative balance larger than the purchase price you're stuffed.
|
|
Fillo Farber
Registered User
Join date: 6 Jun 2004
Posts: 60
|
10-17-2006 12:59
Many good ideas! Thank you all for contributing. At the moment we are working with the llgivemoney routine. Of course all the funds appear to come from the object owner when sent to the charity account but it seems that is as good as it will get. We are concerned that email and other communications could mess up when a sim is down for example. Its also quite a little mess to set up. For now we will just list the top doners manually and the rest will appear as from us. It would be nice if people could verify their contributions and see their names posted. Maybe we'll just edit them in manually too. Oh, btw, what we are doing is raising L$84k to sponsor a child for a full year through Christians Children's Fund (CCF). We hope to be able to do this in 30 days. We have a little over 6k and it is only day two. I've already beat up everyone on my friends list  Anyone wishing to view our progress can go to Nefrax (207, 12, 23) to see our chart. You can also make a donation there or at any one of our many boxes. Thanks everyone!
|