OsGetInventoryItemKey

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Clarified GetInventoryKey/GetInventoryItemKey difference)
 
(15 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
|permissions=Script owner needs modify, copy and transfer 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 show osGetInventoryDesc");
+
         llSay(PUBLIC_CHANNEL, "Touch me to see osGetInventoryItemKey usage.");
 
     }
 
     }
  
     touch_start(integer n)
+
     touch_start(integer number)
 
     {
 
     {
         key uuid = osGetInventoryItemKey("MyNoteCard");
+
         key ItemKey = osGetInventoryItemKey("MyItemName");
         llOwnerSay("osGetInventoryDesc(uuid) is " + osGetInventoryDesc(uuid));
+
         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 the prim inventory.<br> If name is not unique result maybe unpredictable.<br> Note that unlike this function, llGetInventoryKey does not return the item ID but the ID of its asset.
+
|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=This function was added in 0.9.1.0 Dev
+
|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 22: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:

Personal tools
General
About This Wiki