Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Simple object giver, exclude scripts - by Bugs Larnia
- // Created 2009-12-19
- // This script will give all inventory, except scripts (including this one) to anyone who touches the container
- // This script is freeware and may be distributed and used freely
- // Please keep annotations
- list inventory;
- default
- {
- state_entry()
- {
- integer i;
- // Build the list of things to give
- for (i = 0; i < llGetInventoryNumber(INVENTORY_ALL); ++i)
- {
- string name = llGetInventoryName(INVENTORY_ALL, i);
- if (llGetInventoryType(name) != INVENTORY_SCRIPT)
- {
- inventory += name;
- }
- }
- }
- // Make sure the list is rebuilt when a new object is dropped in or removed
- changed(integer mask)
- {
- if (mask && (CHANGED_INVENTORY || CHANGED_ALLOWED_DROP))
- llResetScript();
- }
- touch_start(integer total_number)
- {
- integer i;
- integer length = llGetListLength(inventory); // Get the list length
- string folder = llGetObjectName(); // Folder name
- for(i = 0; i < total_number; ++i)
- {
- key id = llDetectedKey(i);
- // If more items, then give a folder
- if (length > 1)
- {
- llGiveInventoryList(id, folder, inventory);
- llInstantMessage(id, "Please look in your inventory for a folder called: " + folder);
- }
- // If only one item, just give the item
- else if (length == 1)
- {
- string name = llList2String(inventory, 0);
- llGiveInventory(id, name);
- llInstantMessage(id, "Please look in your inventory for an item called: " + name);
- }
- // No items present; inform the toucher
- else
- {
- llInstantMessage(id, "Sorry, there seems to be no inventory present.");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement