Give+ALL+Contents

code // This is a simple script that gives everything in a box to the person who clicked. // By default, it will only give items to the owner of the box.

// I wrote this because of all the texture bundles that are given out. It's really a PAIN // to move a lot of textures or other contents out of a box. This speeds that up.

// This is NOT a vending script. You can use this script to give everything in a box to someone, by changing 'owneronly' to be 0. BUT: // // I suggest not using this script in an area where several people are going to touch it at once, because giving inventory is slow. // Version 2.0 of this script now detects multiple simultaneous touches: it is still slow, but it should work better at classes or events.

// THIS IS NOT A VENDING SCRIPT. It gives items away, it does NOT SELL THEM. (You don't need a script for most vending anyway.) // This script doesn't give itself away. If you want it to, put it in the box, and set it to not running. // Then rename a copy and put that in the box too. The renamed copy should be the running one. // Rename it FIRST, I had weird issues with renaming it when it was already in //  the box. (version 1.2.12 of SL.)

integer owneronly = 0; key owner;

default {   state_entry {       owner = llGetOwner; }

touch_start(integer total_number) {       integer i;        for (i=0;i<total_number;i++) {           key target = llDetectedKey(i);

if ( (target != owner) && (owneronly == 1) ) // person clicking isn't owner and owneronly is set; {               llInstantMessage(target,"Sorry, only the owner is allowed to get my contents."); return; }           list inventory_types = [INVENTORY_BODYPART,INVENTORY_CLOTHING,INVENTORY_LANDMARK,INVENTORY_NOTECARD,INVENTORY_OBJECT,INVENTORY_SCRIPT,INVENTORY_SOUND,INVENTORY_TEXTURE]; integer inventory_count = llGetListLength(inventory_types); integer j;           integer k;            integer type; integer typecount; string myname = llGetScriptName; string objectname;

for (j=0; j 0) {                   for (k=0; k<typecount;k++) {                       objectname = llGetInventoryName(type,k); if (objectname != myname) // don't give self out so the user doesn't get fifty thousand copies. {                           llGiveInventory(target,objectname); }                   }                }            }        }    } }

code