查看“LlGetInventoryKey”的源代码
←
LlGetInventoryKey
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: key llGetInventoryKey( string name ) |参数= 参数:string name–an item in the inventory of the prim this script is in |返回值= 返回值:返回一个键,该键是库存名称的UUID |注意事项= 注意事项 *如果在prim的库存中没有名字,那么在DEBUG_CHANNEL上就会喊出一个错误。 *存货项目通常是指向资产的记录,但它们不是实际的资产。 **多个库存物品可以指向相同的资产并返回相同的键。 **一些新创建的库存条目得到默认键,直到他们被编辑和保存: ***新创建的notecard条目目前使用NULL_KEY,直到它们被编辑和保存。 ***在被编辑和保存之前,新创建的脚本条目指向“Hello Avatar”脚本(“d0d40b7c-e32b-3bcb-3346-2be8470093c0”,这不是一个保证的默认值)。 ***大多数其他库存条目在创建时都被赋予了唯一的资产键,但这依赖于客户端的合作,并且不能保证。 **当一个资产被“编辑”时,一个新的资产键被分配给编辑。用于打开资产进行编辑的库存项将使用新的资产键进行更新。 ***共享原始资产的其他库存项目不会使用新的资产密钥进行更新。 |示例= <pre> // Put this script in an empty prim, and drag a full-perm texture into the prim's contents to find out its UUID default { changed(integer change) { if (change & CHANGED_INVENTORY) // if there has been a change to the prim's contents ... { string name = llGetInventoryName(INVENTORY_TEXTURE, 0); if (name) // if a texture exists ... { key uuid = llGetInventoryKey(name); if (uuid) // if the uuid is valid ... llOwnerSay( "The UUID of '" + name + "' is " + (string) uuid); else // texture was not full-perm llOwnerSay( "The UUID of '" + name + "' could not be determined"); } } } } </pre> <pre> string item = "Default"; default { state_entry() { llOwnerSay("Touch to get information about \"" + item + "\"."); } touch_start(integer total_number) { integer type = llGetInventoryType(item); integer index = llListFindList([ INVENTORY_NONE, INVENTORY_TEXTURE, INVENTORY_SOUND, INVENTORY_LANDMARK, INVENTORY_CLOTHING, INVENTORY_OBJECT, INVENTORY_NOTECARD, INVENTORY_SCRIPT, INVENTORY_BODYPART, INVENTORY_ANIMATION, INVENTORY_GESTURE], [type]); string name = llList2String(["does not exist", "texture", "sound", "landmark", "clothing", "object", "notecard", "script", "body part", "animation", "gesture"], index); llOwnerSay("Type: " + name); if(type == INVENTORY_NONE) return; integer owner_perms = llGetInventoryPermMask(item, MASK_OWNER); list perms; if(owner_perms & PERM_COPY) perms += "Copy"; if(owner_perms & PERM_MODIFY) perms += "Modify"; if(owner_perms & PERM_TRANSFER) perms += "Transfer"; if(owner_perms & PERM_MOVE) perms += "Move"; llOwnerSay("Perms: " + llList2CSV(perms)); integer temp = PERM_COPY | PERM_MODIFY | PERM_TRANSFER; if((owner_perms & temp) != temp) return; llOwnerSay("Key: " + (string)llGetInventoryKey(item)); } } </pre> |相关函数= [[llGetInventoryName]] -返回库存项的名称 [[llGetInventoryType]] -测试一个库存项是否存在并返回其类型 [[llGetInventoryNumber]] -返回库存中特定类型的项目的数量 [[llGetInventoryPermmask]] -返回库存项的权限 [[llGetInventoryCreator]] -返回库存物品的创建者 |相关事件= }}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlGetInventoryKey
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息