From Second Life Wiki
GiveInventoryList/fr
llGiveInventoryList
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);
}
}
}