mantis 8577: add key osGetInventoryItemKey(string name) to get a inventory item ID within prim inventory. the llGetInventory does return the asset it, not item.

0.9.1.0-post-fixes
UbitUmarov 2019-08-16 21:22:16 +01:00
parent 9ddd2e842e
commit 64c56fc52b
5 changed files with 87 additions and 55 deletions

View File

@ -5479,6 +5479,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return id.ToString();
}
public LSL_Key osGetInventoryItemKey(LSL_String name)
{
m_host.AddScriptLPS(1);
TaskInventoryItem item = m_host.Inventory.GetInventoryItem(name);
if (item == null)
return UUID.Zero.ToString();
if ((item.CurrentPermissions
& (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify))
== (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify))
{
return item.ItemID.ToString();
}
return UUID.Zero.ToString();
}
public LSL_String osGetInventoryName(LSL_Key itemId)
{
m_host.AddScriptLPS(1);

View File

@ -549,6 +549,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Integer osApproxEquals(rotation ra, rotation rb);
LSL_Integer osApproxEquals(rotation ra, rotation rb, LSL_Float margin);
LSL_Key osGetInventoryLastOwner(LSL_String itemNameOrId);
LSL_Key osGetInventoryItemKey(LSL_String name);
LSL_String osGetInventoryName(LSL_Key itemId);
LSL_String osGetInventoryDesc(LSL_String itemNameOrId);
LSL_Key osGetLastChangedEventKey();

View File

@ -35,7 +35,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
public partial class ScriptBaseClass
{
// SCRIPTS CONSTANTS
public static readonly LSLInteger OS_APIVERSION = 5;
public static readonly LSLInteger OS_APIVERSION = 6;
public static readonly LSLInteger TRUE = 1;
public static readonly LSLInteger FALSE = 0;

View File

@ -1382,6 +1382,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osGetInventoryLastOwner(itemNameOrId);
}
public LSL_Key osGetInventoryItemKey(LSL_String name)
{
return m_OSSL_Functions.osGetInventoryItemKey(name);
}
public LSL_String osGetInventoryName(LSL_Key itemId)
{
return m_OSSL_Functions.osGetInventoryName(itemId);

View File

@ -1,4 +1,4 @@
d2556181-baf5-e5b9-c8ec-99eda597b9f6
4c3dbda3-bc1e-b0f0-c532-2c6daf1e2343
<llsd><map><key>llsd-lsl-syntax-version</key><integer>2</integer>
<key>controls</key>
<map>
@ -1513,7 +1513,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
</map>
<key>OS_APIVERSION</key><map>
<key>type</key><string>integer</string>
<key>value</key><string>5</string>
<key>value</key><string>6</string>
</map>
<key>OS_ATTACH_MSG_ALL</key><map>
<key>type</key><string>integer</string>
@ -3479,7 +3479,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>arguments</key><array>
<map><key>name</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>key</string></map></map>
<map><key>accept</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
@ -3507,7 +3507,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<key>llCreateLink</key>
<map>
<key>arguments</key><array>
<map><key>targetId</key><map><key>type</key><string>string</string></map></map>
<map><key>targetId</key><map><key>type</key><string>key</string></map></map>
<map><key>parent</key><map><key>type</key><string>integer</string></map></map>
</array>
<key>tooltip</key><string>Sleep 1.0</string>
@ -3752,14 +3752,14 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>id</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>key</string></map></map>
</array>
</map>
<key>llGetAgentLanguage</key>
<map>
<key>return</key><string>string</string>
<key>arguments</key><array>
<map><key>id</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>key</string></map></map>
</array>
</map>
<key>llGetAgentList</key>
@ -3774,7 +3774,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>vector</string>
<key>arguments</key><array>
<map><key>id</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>key</string></map></map>
</array>
</map>
<key>llGetAlpha</key>
@ -3793,14 +3793,14 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>string</string>
<key>arguments</key><array>
<map><key>id</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>key</string></map></map>
</array>
</map>
<key>llGetAnimationList</key>
<map>
<key>return</key><string>list</string>
<key>arguments</key><array>
<map><key>id</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>key</string></map></map>
</array>
</map>
<key>llGetAnimationOverride</key>
@ -3819,7 +3819,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>list</string>
<key>arguments</key><array>
<map><key>id</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>key</string></map></map>
</array>
</map>
<key>llGetBoundingBox</key>
@ -4404,7 +4404,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>string</string>
<key>arguments</key><array>
<map><key>id</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>key</string></map></map>
</array>
</map>
<key>llGetVel</key>
@ -4420,14 +4420,14 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<key>llGiveInventory</key>
<map>
<key>arguments</key><array>
<map><key>destination</key><map><key>type</key><string>string</string></map></map>
<map><key>destination</key><map><key>type</key><string>key</string></map></map>
<map><key>inventory</key><map><key>type</key><string>string</string></map></map>
</array>
</map>
<key>llGiveInventoryList</key>
<map>
<key>arguments</key><array>
<map><key>destination</key><map><key>type</key><string>string</string></map></map>
<map><key>destination</key><map><key>type</key><string>key</string></map></map>
<map><key>category</key><map><key>type</key><string>string</string></map></map>
<map><key>inventory</key><map><key>type</key><string>list</string></map></map>
</array>
@ -4436,7 +4436,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>destination</key><map><key>type</key><string>string</string></map></map>
<map><key>destination</key><map><key>type</key><string>key</string></map></map>
<map><key>amount</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
@ -4559,7 +4559,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>string</string>
<key>arguments</key><array>
<map><key>id</key><map><key>type</key><string>string</string></map></map>
<map><key>id</key><map><key>type</key><string>key</string></map></map>
</array>
</map>
<key>llLinkParticleSystem</key>
@ -6001,7 +6001,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>key</string>
<key>arguments</key><array>
<map><key>destination</key><map><key>type</key><string>string</string></map></map>
<map><key>destination</key><map><key>type</key><string>key</string></map></map>
<map><key>amount</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
@ -6152,8 +6152,26 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>a</key><map><key>type</key><string>float</string></map></map>
<map><key>b</key><map><key>type</key><string>float</string></map></map>
<map><key>ra</key><map><key>type</key><string>rotation</string></map></map>
<map><key>rb</key><map><key>type</key><string>rotation</string></map></map>
<map><key>margin</key><map><key>type</key><string>float</string></map></map>
</array>
</map>
<key>osApproxEquals</key>
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>ra</key><map><key>type</key><string>rotation</string></map></map>
<map><key>rb</key><map><key>type</key><string>rotation</string></map></map>
</array>
</map>
<key>osApproxEquals</key>
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>va</key><map><key>type</key><string>vector</string></map></map>
<map><key>vb</key><map><key>type</key><string>vector</string></map></map>
<map><key>margin</key><map><key>type</key><string>float</string></map></map>
</array>
</map>
<key>osApproxEquals</key>
@ -6177,26 +6195,8 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>ra</key><map><key>type</key><string>rotation</string></map></map>
<map><key>rb</key><map><key>type</key><string>rotation</string></map></map>
</array>
</map>
<key>osApproxEquals</key>
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>ra</key><map><key>type</key><string>rotation</string></map></map>
<map><key>rb</key><map><key>type</key><string>rotation</string></map></map>
<map><key>margin</key><map><key>type</key><string>float</string></map></map>
</array>
</map>
<key>osApproxEquals</key>
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>va</key><map><key>type</key><string>vector</string></map></map>
<map><key>vb</key><map><key>type</key><string>vector</string></map></map>
<map><key>margin</key><map><key>type</key><string>float</string></map></map>
<map><key>a</key><map><key>type</key><string>float</string></map></map>
<map><key>b</key><map><key>type</key><string>float</string></map></map>
</array>
</map>
<key>osAvatarName2Key</key>
@ -6599,6 +6599,13 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map><key>itemNameOrId</key><map><key>type</key><string>string</string></map></map>
</array>
</map>
<key>osGetInventoryItemKey</key>
<map>
<key>return</key><string>key</string>
<key>arguments</key><array>
<map><key>name</key><map><key>type</key><string>string</string></map></map>
</array>
</map>
<key>osGetInventoryLastOwner</key>
<map>
<key>return</key><string>key</string>
@ -6799,15 +6806,15 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<key>osKickAvatar</key>
<map>
<key>arguments</key><array>
<map><key>FirstName</key><map><key>type</key><string>string</string></map></map>
<map><key>SurName</key><map><key>type</key><string>string</string></map></map>
<map><key>agentId</key><map><key>type</key><string>key</string></map></map>
<map><key>alert</key><map><key>type</key><string>string</string></map></map>
</array>
</map>
<key>osKickAvatar</key>
<map>
<key>arguments</key><array>
<map><key>agentId</key><map><key>type</key><string>key</string></map></map>
<map><key>FirstName</key><map><key>type</key><string>string</string></map></map>
<map><key>SurName</key><map><key>type</key><string>string</string></map></map>
<map><key>alert</key><map><key>type</key><string>string</string></map></map>
</array>
</map>
@ -6925,7 +6932,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map><key>name</key><map><key>type</key><string>string</string></map></map>
<map><key>position</key><map><key>type</key><string>vector</string></map></map>
<map><key>notecard</key><map><key>type</key><string>string</string></map></map>
<map><key>options</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
<key>osNpcCreate</key>
@ -6936,6 +6942,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map><key>name</key><map><key>type</key><string>string</string></map></map>
<map><key>position</key><map><key>type</key><string>vector</string></map></map>
<map><key>notecard</key><map><key>type</key><string>string</string></map></map>
<map><key>options</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
<key>osNpcGetOwner</key>
@ -7006,6 +7013,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>arguments</key><array>
<map><key>npc</key><map><key>type</key><string>key</string></map></map>
<map><key>channel</key><map><key>type</key><string>integer</string></map></map>
<map><key>message</key><map><key>type</key><string>string</string></map></map>
</array>
</map>
@ -7013,7 +7021,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map>
<key>arguments</key><array>
<map><key>npc</key><map><key>type</key><string>key</string></map></map>
<map><key>channel</key><map><key>type</key><string>integer</string></map></map>
<map><key>message</key><map><key>type</key><string>string</string></map></map>
</array>
</map>
@ -7406,6 +7413,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<key>osSetProjectionParams</key>
<map>
<key>arguments</key><array>
<map><key>prim</key><map><key>type</key><string>key</string></map></map>
<map><key>projection</key><map><key>type</key><string>integer</string></map></map>
<map><key>texture</key><map><key>type</key><string>key</string></map></map>
<map><key>fov</key><map><key>type</key><string>float</string></map></map>
@ -7427,7 +7435,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<key>osSetProjectionParams</key>
<map>
<key>arguments</key><array>
<map><key>prim</key><map><key>type</key><string>key</string></map></map>
<map><key>projection</key><map><key>type</key><string>integer</string></map></map>
<map><key>texture</key><map><key>type</key><string>key</string></map></map>
<map><key>fov</key><map><key>type</key><string>float</string></map></map>
@ -7596,6 +7603,7 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<key>arguments</key><array>
<map><key>src</key><map><key>type</key><string>string</string></map></map>
<map><key>start</key><map><key>type</key><string>integer</string></map></map>
<map><key>length</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
<key>osStringSubString</key>
@ -7604,7 +7612,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<key>arguments</key><array>
<map><key>src</key><map><key>type</key><string>string</string></map></map>
<map><key>start</key><map><key>type</key><string>integer</string></map></map>
<map><key>length</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
<key>osSunGetParam</key>
@ -7622,15 +7629,6 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
</array>
</map>
<key>osTeleportAgent</key>
<map>
<key>arguments</key><array>
<map><key>agent</key><map><key>type</key><string>string</string></map></map>
<map><key>regionName</key><map><key>type</key><string>string</string></map></map>
<map><key>position</key><map><key>type</key><string>vector</string></map></map>
<map><key>lookat</key><map><key>type</key><string>vector</string></map></map>
</array>
</map>
<key>osTeleportAgent</key>
<map>
<key>arguments</key><array>
<map><key>agent</key><map><key>type</key><string>string</string></map></map>
@ -7648,6 +7646,15 @@ d2556181-baf5-e5b9-c8ec-99eda597b9f6
<map><key>lookat</key><map><key>type</key><string>vector</string></map></map>
</array>
</map>
<key>osTeleportAgent</key>
<map>
<key>arguments</key><array>
<map><key>agent</key><map><key>type</key><string>string</string></map></map>
<map><key>regionName</key><map><key>type</key><string>string</string></map></map>
<map><key>position</key><map><key>type</key><string>vector</string></map></map>
<map><key>lookat</key><map><key>type</key><string>vector</string></map></map>
</array>
</map>
<key>osTeleportObject</key>
<map>
<key>return</key><string>integer</string>