Difference between revisions of "WhoAddedWhat"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 5: Line 5:
list content[]; // a list of all items already added to the object
list content[]; // a list of all items already added to the object


if (change & CHANGED_ALLOWED_DROP || CHANGED_INVENTORY)
if (change & (CHANGED_ALLOWED_DROP | CHANGED_INVENTORY))
{
{
     integer n = llGetInventoryNumber(INVENTORY_ALL);             
     integer n = llGetInventoryNumber(INVENTORY_ALL);             

Revision as of 16:09, 25 June 2009

To enable you to tell what has been added to a script in the event of CHANGED_ALLOWED_DROP you can use the following code:

<lsl>// Scripted by Laronzo Fitzgerald

list content[]; // a list of all items already added to the object

if (change & (CHANGED_ALLOWED_DROP | CHANGED_INVENTORY)) {

   integer n = llGetInventoryNumber(INVENTORY_ALL);            
   while(n)
   {
        integer valid = llGetListLength(contents);
        if(valid != 0)
        {
             string added = llGetInventoryName(INVENTORY_ALL, --n);
             integer index = llListFindList(contents, [added]);
             if(!(~index))
             {
                  integer type = llGetInventoryType(added);
                  if(type != 10 && (string)type != "") // don't add the object's script to the list of items!
                  {

content += added; // add the new item to the checklist of inventory items

                       // Do anything else you want related to the new item here
                  }
             }
        }
   }

}</lsl>

llAllowInventoryDrop