LlGetInventoryType
- The correct title of this article is llGetInventoryType. The initial letter is shown capitalized due to technical restrictions.
SpecificationThis function returns the inventory type of the requested inventory item. If the item does not exist, INVENTORY_NONE is returned. |
Caveats
|
Examples |
Helper Functions<lsl> string InventoryName(string name, integer type) {//finds an item in a case insensitive fashion of the given type and returns its true name. integer a = llGetInventoryType(name); if(!~a)//a == INVENTORY_NONE {//it should be noted that INVENTORY_NONE == INVENTORY_ALL == -1; which is why '!~a' works. string lc_name = llToLower(name); a = llGetInventoryNumber(type); while(a) {//(a = ~-a) is equivalent to --a, but runs faster. if(llToLower(name = llGetInventoryName(type, a = ~-a)) == lc_name) {//we found a match ^_^ return name; } } } else if((a == type) ^ (!~type))//return name, aslong as a == type or type == INVENTORY_ALL {//we already know that a != INVENTORY_NONE, but just incase we use xor instead of or. return name; } return "";//no match ~_~ } integer InventoryExists(string name, integer type) {//only included to show how this type of check could be done if the value of 'type' is not constant and could be INVENTORY_ALL. return (llGetInventoryType(name) == type) ^ (!~type); }//Since INVENTORY_ALL == INVENTORY_NONE, the extra part on the end is required to invert the result. </lsl> |
See Also |
Notes |