From Second Life Wiki
GiveInventoryList/ja
llGiveInventoryList
関数: llGiveInventoryList( key avatar, string folder, list inventory );
avatorのfolder内にinventoryアイテムを渡します。
| • key
| avatar
|
|
|
|
| • string
| folder
|
|
|
|
| • list
| inventory
| –
| アイテムリスト名、
|
|
警告
- この関数は3.0秒間、スクリプトを停止します。
- inventoryがプリム内から無くなっている場合、エラーがDEBUG_CHANNELで報告されます。
- avatorがプリムのUUIDの時、フォルダは作られません。
例
// When a user clicks this object, this script will give a folder containing everything in the objects inventory
// This can serve as a unpacker script for boxed objects
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, "Don't have permissions to give you \""+name+"\".");
}
//we don't want to give them this script
i = llListFindList(inventory, [llGetScriptName()]);
inventory = llDeleteSubList(inventory, i, i);
if (llGetListLength(inventory) < 1) {
llSay(0, "No items to offer.");
} else {
// give folder to agent, use name of object as name of folder we are giving
llGiveInventoryList(llDetectedKey(0), llGetObjectName(), inventory);
}
}
}