查看“LlGiveInventoryList”的源代码
←
LlGiveInventoryList
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llGiveInventoryList( key target, string folder, list inventory ); |参数= 参数: * key target – group, avatar or prim UUID that is in the same region * string folder – folder name to use * list inventory – a list of items in the inventory of the prim this script is in |返回值= 返回值: 将库存项目提供给目标,创建一个新的文件夹来放置它们。 |注意事项= *这个函数会让脚本休眠3.0秒。 *如果目标不是所有者,也不共享相同的所有者,并且库存没有传输权限,则在 debug _ channel 上呼叫错误。 *如果库存权限不允许复制,则传输失败,并在 debug _ channel 上呼叫错误。 *如果目标是不在同一区域的 prim,则在 debug _ 通道上呼叫错误 *当脚本被复制或在库存之间移动时,它们的状态无法在传输过程中存活。内存、事件队列和执行位置都被丢弃。 *如果库存缺失的 prim 的目录,然后一个错误是在调试通道喊。 |示例= 示例一 <pre> // when the prim is touched, the script checks all other inventory items whether or not they're copiable // copiable items are added to a list, if the list is not empty when all items have been checked // the prim gives them to the touching avatar within a single folder default { touch_start(integer num_detected) { string thisScript = llGetScriptName(); list inventoryItems; integer inventoryNumber = llGetInventoryNumber(INVENTORY_ALL); integer index; for ( ; index < inventoryNumber; ++index ) { string itemName = llGetInventoryName(INVENTORY_ALL, index); if (itemName != thisScript) { if (llGetInventoryPermMask(itemName, MASK_OWNER) & PERM_COPY) { inventoryItems += itemName; } else { llSay(0, "Unable to copy the item named '" + itemName + "'."); } } } if (inventoryItems == [] ) { llSay(0, "No copiable items found, sorry."); } else { llGiveInventoryList(llDetectedKey(0), llGetObjectName(), inventoryItems); // 3.0 seconds delay } } } <pre> 示例二 <pre> // script gives items to owner only // all copiable items are given within a single folder // all no-copy items are transferred separately (only one time, right? right!) default { touch_start(integer num_detected) { key owner = llGetOwner(); if (llDetectedKey(0) != owner) return; list inventoryItems; integer inventoryNumber = llGetInventoryNumber(INVENTORY_ALL); integer index; for ( ; index < inventoryNumber; ++index ) { string itemName = llGetInventoryName(INVENTORY_ALL, index); if (itemName != llGetScriptName() ) { if (llGetInventoryPermMask(itemName, MASK_OWNER) & PERM_COPY) { inventoryItems += itemName; } else { llGiveInventory(owner, itemName); // 2.0 seconds delay } } } if (inventoryItems != [] ) llGiveInventoryList(owner, llGetObjectName(), inventoryItems); // 3.0 seconds delay } } <pre> |相关函数= [[llGiveInventory]] |相关事件= [[changed]] }}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlGiveInventoryList
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息