llGetInventoryName

From Second Life Wiki
Revision as of 13:04, 3 November 2008 by Strife Onizuka (talk | contribs)
Jump to navigation Jump to search

Summary

Function: string llGetInventoryName( integer type, integer number );

Returns a string that is the name of the inventory item number of type. Returns an empty string if no item of the specified type is found in the prim's inventory (or there are less than or equal to number items of the type).

• integer type INVENTORY_* flag
• integer number

number does not support negative indexes. Inventory items are sorted in alphabetical order (not chronological order).

Flag Inventory Type
INVENTORY_NONE -1 Item does not exist.
INVENTORY_ALL Any inventory type.
INVENTORY_TEXTURE 0 texture
INVENTORY_SOUND 1 sound
INVENTORY_LANDMARK 3 landmark
INVENTORY_CLOTHING 5 clothing
INVENTORY_OBJECT 6 object
Flag Inventory Type
INVENTORY_NOTECARD 7 notecard
INVENTORY_SCRIPT 10 script
INVENTORY_BODYPART 13 body part
INVENTORY_ANIMATION 20 animation
INVENTORY_GESTURE 21 gesture
INVENTORY_SETTING 56 setting
INVENTORY_MATERIAL 57 material

Caveats

  • If number is out of bounds the script continues to execute without an error message.
All Issues ~ Search JIRA for related Bugs

Examples

Box Unpacker

<lsl> // script created by SpiritWolf Chikuwa // minor changes by Strife Onizuka to speed things up // // /!\ PUBLIC DOMAIN /!\ // You can Copy/Mod/Trans // Please, do not resell this script and give it full perm // Just please leave this header intact // // Minor changes: (insert your name here and delete this comment if you do any mod of this script, thank you) // // Script start here:

list gInventoryList;

list getInventoryList() {

   list       result = [];
   integer    n = llGetInventoryNumber(INVENTORY_ALL);
   while(n)
       result = llGetInventoryName(INVENTORY_ALL, --n) + result;
   
   return result;

}

default {

   state_entry()
   {
       gInventoryList = getInventoryList();
   }
   touch_start( integer n )
   {
       integer i = 0;
       string folder = llGetObjectName();
       while(i < n)
       {
           llGiveInventoryList(llDetectedKey(i), folder, gInventoryList );
           ++i;
       }
   }
   changed( integer change )
   {
      if ( change == CHANGED_INVENTORY )
          gInventoryList = getInventoryList();
   }

}

// llGetInventory number and name will scan all objects on the box. // llGiveInventory will give you the content. // See also llGetInventory and llGiveInventory on LSL Wiki for further informations.

</lsl>

See Also

Functions

•  llGetInventoryNumber Returns the number of items of a specific type in inventory
•  llGetInventoryType Tests to see if an inventory item exists and returns its type.
•  llGetInventoryCreator Returns the inventory item's creator
•  llGetInventoryPermMask Returns the inventory item's permissions
•  llGetInventoryKey Returns the inventory item's UUID (if full perm)

Deep Notes

Search JIRA for related Issues

Tests

•  llGiveInventory_All_Test

Signature

function string llGetInventoryName( integer type, integer number );