///////////////////////////////////// ///////////////////////////////////// integer price = 15; //SET PRICE HERE ///////////////////////////////////// ///////////////////////////////////// //DrinkInstein Sorbet Open Source Gatcha Script. I am releasing this code under the Simplified BSD License. //Copyright 2010 "Drinkinstein Sorbet" All rights reserved. // //Redistribution and use in source and binary forms, with or without modification, are //permitted provided that the following conditions are met: // // 1. Redistributions of source code must retain the above copyright notice, this list of // conditions and the following disclaimer. // // 2. Redistributions in binary form must reproduce the above copyright notice, this list // of conditions and the following disclaimer in the documentation and/or other materials // provided with the distribution. // //THIS SOFTWARE IS PROVIDED BY "Drinkinstein Sorbet" ``AS IS'' AND ANY EXPRESS OR IMPLIED //WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND //FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL "Drinkinstein Sorbet OR //CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR //SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON //ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING //NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF //ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // //The views and conclusions contained in the software and documentation are those of the //authors and should not be interpreted as representing official policies, either expressed //or implied, of "Drinkinstein Sorbet". key requestid; string avatar; default { state_entry() { llSetPayPrice(PAY_HIDE, [price ,PAY_HIDE, PAY_HIDE, PAY_HIDE]); } touch_start(integer number) { string id = llDetectedKey(0); string scriptname = llGetScriptName(); llPlaySound("0e20b5f9-1b06-843e-446c-49fee8827448", 1.0); llInstantMessage(id, "Click pay to play the Gatcha!"); } money(key id, integer amount) { list items; list finalitems; string name; string stuff; string returnitem; integer num = llGetInventoryNumber(INVENTORY_ALL); integer finalnum = num - 1; string folder = llGetObjectName(); integer i; integer min = 0; string scriptname = llGetScriptName(); integer random = (integer)llFrand(finalnum); if(random == num) { random -= 1 ; } for (i = 0; i < num; ++i) { name = llGetInventoryName(INVENTORY_ALL, i); items += name; } integer placeinlist = llListFindList(items, [scriptname]); finalitems = llDeleteSubList(items, placeinlist, placeinlist); returnitem = llList2String(finalitems, random); integer finallen = llGetListLength( finalitems ); avatar = llKey2Name(id); if(amount != price) { llInstantMessage(id, "You paid "+(string)amount+", which is the wrong amount, the price is: "+(string)price); state default; } llPlaySound("0e20b5f9-1b06-843e-446c-49fee8827448", 1.0); llSleep(2.0); llPlaySound("81e91c22-6e1c-9cac-b6ab-7a7cab6a8a70", 1.0); llSleep(1.5); llInstantMessage(id, "You Purchased " + ": " + returnitem); llGiveInventory(id, returnitem); } }