我需要一个脚本,当有人触摸对象时会收到对象内部的项目,但里面的项目没有副本,没有修改,转移权限,我什么也找不到......请帮忙
问问题
902 次
1 回答
0
如果您对要交付的内容没有复制权限,则必须一次交付每一个,如下所示:
DeliverContents(key receiver)
{
integer item = llGetInventoryNumber(INVENTORY_ALL);
while (item--)
{
string inv_name = llGetInventoryName(INVENTORY_ALL, item);
if (llGetInventoryType(inv_name)!=INVENTORY_SCRIPT)
{
llGiveInventory(receiver, inv_name);
}
}
}
default
{
touch_start(integer num_detected)
{
key toucher = llDetectedKey(0);
DeliverContents(toucher);
}
}
但是,如果它们不是下一个所有者的副本,但您确实具有复制权限,则可以将它们作为文件夹交付,如下所示:
DeliverContentsFolder(key receiver)
{
integer item = llGetInventoryNumber(INVENTORY_ALL);
list folder;
while (item--)
{
string inv_name = llGetInventoryName(INVENTORY_ALL, item);
if (llGetInventoryType(inv_name)!=INVENTORY_SCRIPT)
{
folder+=inv_name;
}
}
if (llGetListLength(folder))
{
string folder_name = llGetObjectName();
llGiveInventoryList(receiver, folder_name, folder);
}
}
default
{
touch_start(integer num_detected)
{
key toucher = llDetectedKey(0);
DeliverContentsFolder(toucher);
}
}
于 2020-04-14T12:50:24.993 回答