llGiveInventoryList

From Second Life Wiki
Revision as of 14:32, 21 December 2008 by Kunnis Basiat (talk | contribs) (The script needs to see if it has permissions to copy the object, not if the next owner will have permissions to copy it.)
Jump to navigation Jump to search

Summary

Function: llGiveInventoryList( key avatar, string folder, list inventory );

Gives inventory items to avatar in a folder

• key avatar
• string folder
• list inventory a list of items in the inventory of the prim this script is in

Caveats

  • This function causes the script to sleep for 3.0 seconds.
  • If inventory is missing from the prim's inventory then an error is shouted on DEBUG_CHANNEL.
  • Avatar must be, or have recently been, within the same Region as sending object.
  • Does not create a folder when avatar is a prim UUID.
    • The prim must be in the same region.
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>// When a user clicks this object, this script will give a folder containing everything in the objects inventory // This can serve as a unpacker script for boxed objects

default {

   touch_start(integer total_number) {
       list        inventory;
       string      name;
       integer     num = llGetInventoryNumber(INVENTORY_ALL);
       integer     i;
       
       for (i = 0; i < num; ++i) {
           name = llGetInventoryName(INVENTORY_ALL, i);
           if(llGetInventoryPermMask(name, MASK_OWNER) & PERM_COPY)
               inventory += name;
           else
               llSay(0, "Don't have permissions to give you \""+name+"\".");
       }
       
       
       //we don't want to give them this script
       i = llListFindList(inventory, [llGetScriptName()]);
       inventory = llDeleteSubList(inventory, i, i);
       
       if (llGetListLength(inventory) < 1) {
           llSay(0, "No items to offer."); 
       } else {
           // give folder to agent, use name of object as name of folder we are giving
           llGiveInventoryList(llDetectedKey(0), llGetObjectName(), inventory);
       }
      
   }
}</lsl>

See Also

Events

Functions

Deep Notes

Search JIRA for related Issues

Signature

function void llGiveInventoryList( key avatar, string folder, list inventory );