mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 00:46:02 +08:00
Add 2 OSSL functions to the LinkInventory collection
Add Functions:
+ osGiveLinkInventoryList(integer linkNumber, key destination, string category, list inventory)
Give a group of items located in a child prim inventory
+ osRemoveLinkInventory(integer linkNumber, string name)
Remove an item from a child prim inventory
LSL Script example:
<pre><code>
default
{
touch_start(integer a){
integer linkNumber = llDetectedLinkNumber(0);
list linkInventoryNames = osGetLinkInventoryNames(linkNumber, INVENTORY_ALL);
osGiveLinkInventoryList(linkNumber, llDetectedKey(0), llGetLinkName(linkNumber), linkInventoryNames);
for(integer i = 0; i < llGetListLength(linkInventoryNames); i++){
osRemoveLinkInventory(linkNumber, llList2String(linkInventoryNames, i));
}
}
}
</code></pre>
This commit is contained in:
@@ -570,7 +570,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
|
||||
LSL_List osGetLinkInventoryKeys(LSL_Integer linkNumber, LSL_Integer type);
|
||||
LSL_List osGetInventoryNames(LSL_Integer type);
|
||||
LSL_List osGetLinkInventoryNames(LSL_Integer linkNumber, LSL_Integer type);
|
||||
void osRemoveLinkInventory(LSL_Integer linkNumber, LSL_String name);
|
||||
void osGiveLinkInventory(LSL_Integer linkNumber, LSL_Key destination, LSL_String inventory);
|
||||
void osGiveLinkInventoryList(LSL_Integer linkNumber, LSL_Key destination, LSL_String category, LSL_List inventory);
|
||||
LSL_Key osGetLastChangedEventKey();
|
||||
LSL_Float osGetPSTWallclock();
|
||||
LSL_Rotation osSlerp(LSL_Rotation a, LSL_Rotation b, LSL_Float amount);
|
||||
|
||||
Reference in New Issue
Block a user