OsGetLinkInventoryName

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Created page with "{{osslfunc |threat_level=ignored |permissions=true |delay=0|function_syntax=osGetLinkInventoryName(integer linkNumber, key itemId)<br> |ossl_example=<source lang="lsl"> </sour...")
 
m (Missing 't')
 
(6 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
|threat_level=ignored
 
|threat_level=ignored
 
|permissions=true
 
|permissions=true
|delay=0|function_syntax=osGetLinkInventoryName(integer linkNumber, key itemId)<br>
+
|delay=0|function_syntax=string osGetLinkInventoryName(integer linkNumber, key itemId)<br>
 
|ossl_example=<source lang="lsl">
 
|ossl_example=<source lang="lsl">
 +
// Example for osGetLinkInventoryName
 +
// This script uses the osGetLinkInventoryName function to get the name of an inventory item via the key and child prim number
 +
 +
// Define the child prim
 +
integer CHILD_PRIM_NUMBER = 2;
 +
// Define the key of the inventory item
 +
key itemUUID = "INVENTORY_ITEM_KEY";
 +
 +
// Event handler, that is executed on script start
 +
default
 +
{
 +
    state_entry()
 +
    {
 +
        // Get the inventory item name via its key and the child prim number
 +
        string itemName = osGetLinkInventoryName(CHILD_PRIM_NUMBER, itemUUID);
 +
 +
        // Check if the name is not empty
 +
        if (itemName != "")
 +
        {
 +
            // Output the item name to owner chat
 +
            llOwnerSay("Name of the inventory item with UUID " + (string)itemUUID + ": " + itemName);
 +
        }
 +
        else
 +
        {
 +
            // If the name is empty or the item is not found indicate as such
 +
            llOwnerSay("The inventory item with UUID " + (string)itemUUID + " may be empty or not found");
 +
        }
 +
    }
 +
}
 
</source>
 
</source>
 
|description=
 
|description=
 
Return the name of an item located in a child prim inventory.
 
Return the name of an item located in a child prim inventory.
 
|additional_info=This function was added in 0.9.3.0
 
|additional_info=This function was added in 0.9.3.0
 +
 +
 +
osGetLinkInventoryName (linkNumber, itemId) is '''not''' an extension of llGetInventoryName (integer type, integer number) to links.<br/>
 +
To extend llGetInventoryName (type, number) to links, we must call osGetLinkInventoryNames (note the final 's') to get the list of<br/>
 +
inventory names for this type, sort the list, then extract the item at index 'number'.<br/>
 +
 +
<source lang="lsl">
 +
string myGetLinkInventoryName (integer linkNumber, integer type, integer number)
 +
{
 +
    list names = osGetLinkInventoryNames (linkNumber, type);
 +
    names = llListSort (names, 1, TRUE);
 +
    return llList2String (names, number);
 +
}
 +
</source>
 
}}
 
}}

Latest revision as of 13:50, 18 May 2024

string osGetLinkInventoryName(integer linkNumber, key itemId)
Return the name of an item located in a child prim inventory.
Threat Level This function does not do a threat level check
Permissions Use of this function is always allowed by default
Extra Delay 0 seconds
Example(s)
// Example for osGetLinkInventoryName
// This script uses the osGetLinkInventoryName function to get the name of an inventory item via the key and child prim number
 
// Define the child prim
integer CHILD_PRIM_NUMBER = 2;
// Define the key of the inventory item
key itemUUID = "INVENTORY_ITEM_KEY";
 
// Event handler, that is executed on script start
default
{
    state_entry()
    {
        // Get the inventory item name via its key and the child prim number
        string itemName = osGetLinkInventoryName(CHILD_PRIM_NUMBER, itemUUID);
 
        // Check if the name is not empty
        if (itemName != "")
        {
            // Output the item name to owner chat
            llOwnerSay("Name of the inventory item with UUID " + (string)itemUUID + ": " + itemName);
        }
        else
        {
            // If the name is empty or the item is not found indicate as such
            llOwnerSay("The inventory item with UUID " + (string)itemUUID + " may be empty or not found");
        }
    }
}
Notes
This function was added in 0.9.3.0


osGetLinkInventoryName (linkNumber, itemId) is not an extension of llGetInventoryName (integer type, integer number) to links.
To extend llGetInventoryName (type, number) to links, we must call osGetLinkInventoryNames (note the final 's') to get the list of
inventory names for this type, sort the list, then extract the item at index 'number'.

string myGetLinkInventoryName (integer linkNumber, integer type, integer number)
{
    list names = osGetLinkInventoryNames (linkNumber, type);
    names = llListSort (names, 1, TRUE);
    return llList2String (names, number);
}


General
About This Wiki