... osSetLinkStandTarget

master
UbitUmarov 2020-01-25 15:51:36 +00:00
parent 8df27ba2a1
commit 76987fb647
4 changed files with 64 additions and 29 deletions

View File

@ -5734,6 +5734,28 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
m_host.ParentGroup.HasGroupChanged = true;
}
public void osSetLinkStandTarget(LSL_Integer linkNumber, LSL_Vector v)
{
// todo add limits ?
SceneObjectPart target = null;
if (linkNumber == ScriptBaseClass.LINK_THIS)
target = m_host;
else if (linkNumber < 0)
return;
else if (linkNumber < 2)
target = m_host.ParentGroup.RootPart;
else
target = m_host.ParentGroup.GetLinkNumPart(linkNumber);
if (target == null)
return;
Vector3 old = target.StandOffset;
target.StandOffset = v;
if (!old.ApproxEquals(v))
m_host.ParentGroup.HasGroupChanged = true;
}
public LSL_Vector osGetStandTarget()
{
return m_host.StandOffset;

View File

@ -565,6 +565,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Float osGetSitActiveRange();
LSL_Float osGetLinkSitActiveRange(LSL_Integer linkNumber);
void osSetStandTarget(vector v);
void osSetLinkStandTarget(LSL_Integer linkNumber, vector v);
vector osGetStandTarget();
vector osGetLinkStandTarget(LSL_Integer linkNumber);
}

View File

@ -1447,6 +1447,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_OSSL_Functions.osSetStandTarget(v);
}
public void osSetLinkStandTarget(LSL_Integer linkNumber, vector v)
{
m_OSSL_Functions.osSetLinkStandTarget(linkNumber, v);
}
public vector osGetStandTarget()
{
return m_OSSL_Functions.osGetStandTarget();

View File

@ -1,4 +1,4 @@
b4567055-13fa-534f-59d1-52b4e6a52f7f
28491a28-0c57-0a0d-c221-a7fc30debc18
<llsd><map><key>llsd-lsl-syntax-version</key><integer>2</integer>
<key>controls</key>
<map>
@ -7447,6 +7447,13 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f
<map><key>v</key><map><key>type</key><string>float</string></map></map>
</array>
</map>
<key>osSetLinkStandTarget</key>
<map>
<key>arguments</key><array>
<map><key>linkNumber</key><map><key>type</key><string>integer</string></map></map>
<map><key>v</key><map><key>type</key><string>vector</string></map></map>
</array>
</map>
<key>osSetOwnerSpeed</key>
<map>
<key>arguments</key><array>
@ -7665,8 +7672,6 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f
<key>arguments</key><array>
<map><key>src</key><map><key>type</key><string>string</string></map></map>
<map><key>value</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>count</key><map><key>type</key><string>integer</string></map></map>
<map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
@ -7676,15 +7681,8 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f
<key>arguments</key><array>
<map><key>src</key><map><key>type</key><string>string</string></map></map>
<map><key>value</key><map><key>type</key><string>string</string></map></map>
<map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
<key>osStringLastIndexOf</key>
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>src</key><map><key>type</key><string>string</string></map></map>
<map><key>value</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>count</key><map><key>type</key><string>integer</string></map></map>
<map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
@ -7699,6 +7697,15 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f
<map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
<key>osStringLastIndexOf</key>
<map>
<key>return</key><string>integer</string>
<key>arguments</key><array>
<map><key>src</key><map><key>type</key><string>string</string></map></map>
<map><key>value</key><map><key>type</key><string>string</string></map></map>
<map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
<key>osStringRemove</key>
<map>
<key>return</key><string>string</string>
@ -7758,6 +7765,15 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f
</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>
@ -7775,15 +7791,6 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f
<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>
@ -7795,6 +7802,14 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f
</array>
</map>
<key>osTeleportOwner</key>
<map>
<key>arguments</key><array>
<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>osTeleportOwner</key>
<map>
<key>arguments</key><array>
<map><key>position</key><map><key>type</key><string>vector</string></map></map>
@ -7810,14 +7825,6 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f
<map><key>lookat</key><map><key>type</key><string>vector</string></map></map>
</array>
</map>
<key>osTeleportOwner</key>
<map>
<key>arguments</key><array>
<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>osTerrainFlush</key>
<map>
<key>arguments</key><undef/>