OsGetInventoryItemKey
From OpenSimulator
(Difference between revisions)
JeffKelley (Talk | contribs) m (Clarified GetInventoryKey/GetInventoryItemKey difference) |
|||
(17 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{osslfunc | {{osslfunc | ||
|threat_level=ignored | |threat_level=ignored | ||
− | |permissions=Script owner needs modify rights | + | |permissions=Script owner needs modify, copy and transfer rights |
|delay=0 | |delay=0 | ||
− | |function_syntax=key osGetInventoryItemKey(string name) | + | |function_syntax=key osGetInventoryItemKey(string name)<br> |
+ | key osGetLinkInventoryItemKey(integer linkNumber, string name)<br> | ||
+ | |||
|ossl_example=<source lang="lsl"> | |ossl_example=<source lang="lsl"> | ||
+ | // | ||
+ | // osGetInventoryItemKey Script Exemple | ||
+ | // Author: Ubit | ||
+ | // | ||
+ | |||
default | default | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
− | llSay(PUBLIC_CHANNEL, "Touch me to | + | llSay(PUBLIC_CHANNEL, "Touch me to see osGetInventoryItemKey usage."); |
} | } | ||
− | touch_start(integer | + | touch_start(integer number) |
{ | { | ||
− | key | + | key ItemKey = osGetInventoryItemKey("MyItemName"); |
− | + | if (ItemKey != NULL_KEY)llSay(PUBLIC_CHANNEL, "Item key is " + osGetInventoryDesc(ItemKey)); | |
+ | else llSay(PUBLIC_CHANNEL, "The item key is a NULL_KEY, item not found or owner has no rights ..."); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | // Example for osGetLinkInventoryItemKey | ||
+ | // This script uses the osGetLinkInventoryKey function to fetch the key of a specified inventory item in a specified child prim | ||
+ | |||
+ | // Define the child prim | ||
+ | integer CHILD_PRIM_NUMBER = 2; | ||
+ | // Define the inventory item name | ||
+ | string itemName = "INVENTORY_ITEM_NAME"; | ||
+ | |||
+ | // Event handler, that is executed on script start | ||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | // Get the key of the inventory item by name in child prim | ||
+ | key itemUUID = osGetLinkInventoryItemKey(CHILD_PRIM_NUMBER, itemName); | ||
+ | |||
+ | // Check if the returned key is not NULL_KEY | ||
+ | if (itemUUID != NULL_KEY) | ||
+ | { | ||
+ | // Output the key to owner chat | ||
+ | llOwnerSay("UUID of the inventory item '" + itemName + "': " + (string)itemUUID); | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | // If the key is NULL_KEY then the item was not found | ||
+ | llOwnerSay("No inventory item named '" + itemName + "' was found"); | ||
+ | } | ||
} | } | ||
} | } | ||
</source> | </source> | ||
− | |description=Returns id(key) of a inventory item within | + | |description=Returns id(key) of a inventory item within a prim inventory.<br> If name is not unique result maybe unpredictable.<br> Note that unlike llGetInventoryKey, this function returns the item ID, not ID of its asset..<br>Returns NULL_KEY if the item is not found or Owner has no rights |
− | |additional_info= | + | |additional_info=osGetInventoryItemKey added in 0.9.1.0 Dev, Implemented August, 16 2019 <br> |
− | Implemented August, 16 2019 | + | osGetLinkInventoryKey added in 0.9.3.0 Dev, March 2024 |
}} | }} | ||
+ | '''See Also:''' | ||
+ | * [[osGetInventoryName]] | ||
+ | * [[osGetInventoryDesc]] | ||
+ | * [[osGetInventoryLastOwner]] | ||
+ | * [[osGetLastChangedEventKey]] |
Latest revision as of 21:47, 18 March 2024
key osGetInventoryItemKey(string name)
key osGetLinkInventoryItemKey(integer linkNumber, string name) | |
Returns id(key) of a inventory item within a prim inventory. If name is not unique result maybe unpredictable. Note that unlike llGetInventoryKey, this function returns the item ID, not ID of its asset.. Returns NULL_KEY if the item is not found or Owner has no rights | |
Threat Level | This function does not do a threat level check |
Permissions | Script owner needs modify, copy and transfer rights |
Extra Delay | 0 seconds |
Example(s) | |
// // osGetInventoryItemKey Script Exemple // Author: Ubit // default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch me to see osGetInventoryItemKey usage."); } touch_start(integer number) { key ItemKey = osGetInventoryItemKey("MyItemName"); if (ItemKey != NULL_KEY)llSay(PUBLIC_CHANNEL, "Item key is " + osGetInventoryDesc(ItemKey)); else llSay(PUBLIC_CHANNEL, "The item key is a NULL_KEY, item not found or owner has no rights ..."); } } // Example for osGetLinkInventoryItemKey // This script uses the osGetLinkInventoryKey function to fetch the key of a specified inventory item in a specified child prim // Define the child prim integer CHILD_PRIM_NUMBER = 2; // Define the inventory item name string itemName = "INVENTORY_ITEM_NAME"; // Event handler, that is executed on script start default { state_entry() { // Get the key of the inventory item by name in child prim key itemUUID = osGetLinkInventoryItemKey(CHILD_PRIM_NUMBER, itemName); // Check if the returned key is not NULL_KEY if (itemUUID != NULL_KEY) { // Output the key to owner chat llOwnerSay("UUID of the inventory item '" + itemName + "': " + (string)itemUUID); } else { // If the key is NULL_KEY then the item was not found llOwnerSay("No inventory item named '" + itemName + "' was found"); } } } | |
Notes | |
osGetInventoryItemKey added in 0.9.1.0 Dev, Implemented August, 16 2019 osGetLinkInventoryKey added in 0.9.3.0 Dev, March 2024 |
See Also: