LlGetInventoryType/fr

From Second Life Wiki
< LlGetInventoryType
Revision as of 13:09, 29 January 2008 by Gally Young (talk | contribs) (fixe)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.

Description

Fonction: integer llGetInventoryType( string );

Renvoie un integer correspondant au type de l'objet identifié par son nom

• string Nom d'un objet de l'inventaire

Si l'objet n'existe pas, la fonction renvoie la valeur INVENTORY_NONE(aucun message d'erreur n'est généré).

Code Types d'objet
INVENTORY_NONE -1 L'objet n'existe pas.
INVENTORY_ALL N'importe quel type d'objet.
INVENTORY_TEXTURE 0 texture
INVENTORY_SOUND 1 son
INVENTORY_LANDMARK 3 repère
INVENTORY_CLOTHING 5 vêtement
Code Types d'objet
INVENTORY_OBJECT 6 objet
INVENTORY_NOTECARD 7 note
INVENTORY_SCRIPT 10 script
INVENTORY_BODYPART 13 partie du corps
INVENTORY_ANIMATION 20 animation
INVENTORY_GESTURE 21 geste

Exemples

Codes utiles

<lsl>string InventoryName(string name, integer type) {//Trouve le nom d'un objet d'un type donné sans tenir compte de la casse (majuscule/minuscule) et renvoie sont vrai nom.

   integer a = llGetInventoryType(name); 
   if(!~a)//a == INVENTORY_NONE (comparaison bit à bit)
   {//Il faut noter que INVENTORY_NONE == INVENTORY_ALL == -1; c'est la raison pour laquelle '!~a' fonctionne.
       string lc_name = llToLower(name);
       a = llGetInventoryNumber(type);
       while(a)
       {//(a = ~-a) est similaire à --a mais s'éxecute plus vite.
           if(llToLower(name = llGetInventoryName(type, a = ~-a)) == lc_name)
           {//une correspondance a été trouvé ^_^
               return name;
           }
       }
   }
   else if((a == type) ^ (!~type))//Renvoie un nom tant que a == type ou type == INVENTORY_ALL
   {//nous savons déja que a != INVENTORY_NONE, mais juste au cas ou un "xor" aurait été utilisé à la place d'un "or".
       return name;
   }
   return "";//pas de correspondance ~_~

}

integer InventoryExists(string name, integer type) {//Permet de montrer le type de contrôle réalisable si la valeur 'type' n'est pas une constante et peut être INVENTORY_ALL.

   return (llGetInventoryType(name) == type) ^ (!~type);

}//puisque INVENTORY_ALL == INVENTORY_NONE, la dernière partie du programme est nécessaire pour inverser le résultat.</lsl>

Voir également

Fonctions

•  llGetInventoryCreator Renvoie le créateur d'un objet de l'inventaire
•  llGetInventoryKey Renvoie la clé UUID d'un objet de l'inventaire
•  llGetInventoryPermMask Revoie les droits sur un objet de l'inventaire
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.