Charity Donation Box Script

Written by Kitsune

All money paid into Donation Box is paid to a specific avatar set in script. 

Change the avatar key at top of script

 

 

// Charity Donation Box Script - by Alicia Stella
// ------------------------------------------------

/////////// SETTINGS ////////////////////
key thereceiver = "00000000-0000-0000-0000-000000000000"; //key of avatar to receive all funds
string thanks = "Thank you for the donation!";
string floattext = "Donation Box";

///////// BEGIN SCRIPT //////////////////
integer totaldonated;

default
{
    on_rez( integer sparam )
    {
        llResetScript();
    }

    state_entry()
    {
        llSetText("Waiting for Owner\nto Grant Pay Perms",<1,1,1>,1);
        llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
    }

    touch_start(integer total_number)
    {
        if ( llDetectedKey(0) == llGetOwner() )
        {
            llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
        }
    }


    run_time_permissions(integer perm)
    {
        if(perm & PERMISSION_DEBIT)
            state ready;
    }
}

state ready
{
    on_rez( integer sparam )
    {
        llResetScript();
    }

    state_entry()
    {
        llSetPayPrice(PAY_DEFAULT, [25, 50, 100, 500]);
        llSetText(floattext + "\nL$0 Donated so far",<1,1,1>,1);
    }

    money(key id, integer amount)
    {
        totaldonated = totaldonated + amount;
        llSetText(floattext + "\nL$" + (string)totaldonated + " Donated so far",<1,1,1>,1);
        llGiveMoney(thereceiver, amount);
        llInstantMessage(id, thanks);
    }
}