OsGetLinkInventoryName
From OpenSimulator
(Difference between revisions)
JeffKelley (Talk | contribs) m (Missing 't') |
|||
| (5 intermediate revisions by 2 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; | integer CHILD_PRIM_NUMBER = 2; | ||
| + | // Define the key of the inventory item | ||
| + | key itemUUID = "INVENTORY_ITEM_KEY"; | ||
| − | // Event handler, | + | // Event handler, that is executed on script start |
default | default | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
| − | // | + | // Get the inventory item name via its key and the child prim number |
| − | + | ||
| − | + | ||
| − | + | ||
string itemName = osGetLinkInventoryName(CHILD_PRIM_NUMBER, itemUUID); | string itemName = osGetLinkInventoryName(CHILD_PRIM_NUMBER, itemUUID); | ||
| − | // | + | // Check if the name is not empty |
if (itemName != "") | if (itemName != "") | ||
{ | { | ||
| − | // | + | // Output the item name to owner chat |
| − | llOwnerSay("Name | + | llOwnerSay("Name of the inventory item with UUID " + (string)itemUUID + ": " + itemName); |
} | } | ||
else | else | ||
{ | { | ||
| − | // | + | // If the name is empty or the item is not found indicate as such |
| − | llOwnerSay(" | + | llOwnerSay("The inventory item with UUID " + (string)itemUUID + " may be empty or not found"); |
} | } | ||
} | } | ||
| Line 41: | Line 37: | ||
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 12: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
string myGetLinkInventoryName (integer linkNumber, integer type, integer number) { list names = osGetLinkInventoryNames (linkNumber, type); names = llListSort (names, 1, TRUE); return llList2String (names, number); } | |