OsGetInventoryItemKey
From OpenSimulator
(Difference between revisions)
JeffKelley (Talk | contribs) m (Clarified GetInventoryKey/GetInventoryItemKey difference) |
|||
| (20 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{osslfunc | {{osslfunc | ||
|threat_level=ignored | |threat_level=ignored | ||
| − | |permissions= | + | |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() | ||
| + | { | ||
| + | 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"); | ||
| + | } | ||
| + | } | ||
} | } | ||
</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: