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); } |