LlGetInventoryType/de

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Beschreibung

Funktion: integer llGetInventoryType( string name );

ist der Typ des Gegenstands im Inventar mit dem Namen name

• string name Name eines Gegenstands im Inventar

Falls der Gegenstand nicht existiert, wird INVENTORY_NONE zurück gegeben (es werden keine Fehler oder Nachrichten erstellt).

Flag Inventartyp
INVENTORY_NONE -1 Gegenstand existiert nicht.
INVENTORY_ALL Jeder Inventartyp.
INVENTORY_TEXTURE 0 Textur(en)
INVENTORY_SOUND 1 Geräusch(en)
INVENTORY_LANDMARK 3 Landmarke(en)
INVENTORY_CLOTHING 5 Kleidung(en)
Flag Inventartyp
INVENTORY_OBJECT 6 Objekt(en)
INVENTORY_NOTECARD 7 Notizkarte(en)
INVENTORY_SCRIPT 10 Script(en)
INVENTORY_BODYPART 13 Körperteil(en)
INVENTORY_ANIMATION 20 Animation(en)
INVENTORY_GESTURE 21 Geste(en)

Beispiele

Hilfreiche Code-Schnippsel

<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, as long as a == type or type == INVENTORY_ALL
   {//we already know that a != INVENTORY_NONE, but just in case 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>

Siehe auch

Funktionen

•  llGetInventoryName Gibt den Namen des Gegenstands im Inventar
•  llGetInventoryNumber Gibt die Nummern eines Gegenständen eines bestimmten Typs im Inventar
•  llGetInventoryCreator Gibt den Ersteller des Gegenstands im Inventar
•  llGetInventoryPermMask Gibt die Befugnisse des Gegenstands im Inventar
•  llGetInventoryKey Gibt die UUID eines Gegenstands im Inventar (falls alle Befugnisse gesetzt wurden)

Weiterführende Anmerkungen

Nach JIRA-Issues suchen, die sich hierauf beziehen

Tests

•  llGetInventoryType_Test

Signature

function integer llGetInventoryType( string name );
Dieser Artikel war nicht hilfreich für Dich? Vielleicht bringt der zugehörige Artikel im SLinfo Wiki Erleuchtung.