LlGiveInventoryList/fr

From Second Life Wiki

Jump to: navigation, search

Contents

Description

Fonction: llGiveInventoryList( key avatar, string répertoire, list liste_inventaire );

Donne les objets listés dans liste_inventaire à l'avatar dans un répertoire

• key avatar
• string répertoire
• list liste_inventaire un list d'objets de l'inventaire

Inconvénients

  • Cette fonction fait dormir le script pendant 3.0 secondes.
  • Si liste_inventaire n'est pas dans l'inventaire de la prim alors une erreur se produit sur le canal DEBUG_CHANNEL.
  • Ne crée pas de répertoire lorsque avatar est l'UUID d'une prim.
    • La prim doit être dans la même région.

Exemples

// Quand un avatar clique sur l'objet, ce script lui donne un répertoire contenant tous les objets de l'inventaire
// Ce script peut être utilisé pour distribuer des produits
 
default {
 
    touch_start(integer total_number) {
 
        list        inventory;
        string      name;
        integer     num = llGetInventoryNumber(INVENTORY_ALL);
        integer     i;
 
        for (i = 0; i < num; ++i) {
            name = llGetInventoryName(INVENTORY_ALL, i);
            if(llGetInventoryPermMask(name, MASK_NEXT) & PERM_COPY)
                inventory += name;
            else
                llSay(0, "Droit insuffisant pour donner l'objet \""+name+"\".");
        }
 
 
        //Il ne faut pas donner le script
        i = llListFindList(inventory, [llGetScriptName()]);
        inventory = llDeleteSubList(inventory, i, i);
 
        if (llGetListLength(inventory) < 1) {
            llSay(0, "Pas d'objet à offrir."); 
        } else {
            // Donne le répertoire à l'agent, utilise le nom de l'objet comme nom de répertoire
            llGiveInventoryList(llDetectedKey(0), llGetObjectName(), inventory);
        }
 
    }
 
}

Voir également

Evènement

Fonctions

Personal tools