diff options
author | UbitUmarov | 2017-04-15 10:46:18 +0100 |
---|---|---|
committer | UbitUmarov | 2017-04-15 10:46:18 +0100 |
commit | 0f7ffc56cee22aa95af58d19d3ea2193cea07340 (patch) | |
tree | 52ce76df16017d5adb3e1c8d1fa788ab90d26c65 /OpenSim/Region/ScriptEngine | |
parent | still issues with volume detectors and sleeping bodies (diff) | |
download | opensim-SC_OLD-0f7ffc56cee22aa95af58d19d3ea2193cea07340.zip opensim-SC_OLD-0f7ffc56cee22aa95af58d19d3ea2193cea07340.tar.gz opensim-SC_OLD-0f7ffc56cee22aa95af58d19d3ea2193cea07340.tar.bz2 opensim-SC_OLD-0f7ffc56cee22aa95af58d19d3ea2193cea07340.tar.xz |
several changes for osTeleportObject
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
4 files changed, 8 insertions, 9 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index b3bd8c4..e12cedf 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -4664,7 +4664,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4664 | /// has a cool down time. retries before expire reset it | 4664 | /// has a cool down time. retries before expire reset it |
4665 | /// fail conditions are silent ignored | 4665 | /// fail conditions are silent ignored |
4666 | /// </remarks> | 4666 | /// </remarks> |
4667 | public void osTeleportObject(LSL_Key objectUUID, LSL_Vector targetPos, LSL_Rotation rotation, LSL_Integer flags) | 4667 | public LSL_Integer osTeleportObject(LSL_Key objectUUID, LSL_Vector targetPos, LSL_Rotation rotation, LSL_Integer flags) |
4668 | { | 4668 | { |
4669 | CheckThreatLevel(ThreatLevel.Severe, "osTeleportObject"); | 4669 | CheckThreatLevel(ThreatLevel.Severe, "osTeleportObject"); |
4670 | m_host.AddScriptLPS(1); | 4670 | m_host.AddScriptLPS(1); |
@@ -4673,16 +4673,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4673 | if (!UUID.TryParse(objectUUID, out objUUID)) | 4673 | if (!UUID.TryParse(objectUUID, out objUUID)) |
4674 | { | 4674 | { |
4675 | OSSLShoutError("osTeleportObject() invalid object Key"); | 4675 | OSSLShoutError("osTeleportObject() invalid object Key"); |
4676 | return; | 4676 | return -1; |
4677 | } | 4677 | } |
4678 | 4678 | ||
4679 | SceneObjectGroup sog = World.GetSceneObjectGroup(objUUID); | 4679 | SceneObjectGroup sog = World.GetSceneObjectGroup(objUUID); |
4680 | if(sog== null || sog.IsDeleted) | 4680 | if(sog== null || sog.IsDeleted) |
4681 | return; | 4681 | return -1; |
4682 | 4682 | ||
4683 | UUID myid = m_host.ParentGroup.UUID; | 4683 | UUID myid = m_host.ParentGroup.UUID; |
4684 | 4684 | ||
4685 | sog.TeleportObject(myid, targetPos, rotation, flags); | 4685 | return sog.TeleportObject(myid, targetPos, rotation, flags); |
4686 | // a delay here may break vehicles | 4686 | // a delay here may break vehicles |
4687 | } | 4687 | } |
4688 | 4688 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 08b144a..bd5d008 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | |||
@@ -51,7 +51,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
51 | /// </summary> | 51 | /// </summary> |
52 | public enum ThreatLevel | 52 | public enum ThreatLevel |
53 | { | 53 | { |
54 | // Not documented, presumably means permanently disabled ? | ||
55 | NoAccess = -1, | 54 | NoAccess = -1, |
56 | 55 | ||
57 | /// <summary> | 56 | /// <summary> |
@@ -496,7 +495,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
496 | void osSetInertiaAsSphere(LSL_Float mass, LSL_Float radius, vector centerOfMass); | 495 | void osSetInertiaAsSphere(LSL_Float mass, LSL_Float radius, vector centerOfMass); |
497 | void osSetInertiaAsCylinder(LSL_Float mass, LSL_Float radius, LSL_Float lenght, vector centerOfMass,rotation lslrot); | 496 | void osSetInertiaAsCylinder(LSL_Float mass, LSL_Float radius, LSL_Float lenght, vector centerOfMass,rotation lslrot); |
498 | 497 | ||
499 | void osTeleportObject(LSL_Key objectUUID, vector targetPos, rotation targetrotation, LSL_Integer flags); | 498 | LSL_Integer osTeleportObject(LSL_Key objectUUID, vector targetPos, rotation targetrotation, LSL_Integer flags); |
500 | LSL_Integer osGetLinkNumber(LSL_String name); | 499 | LSL_Integer osGetLinkNumber(LSL_String name); |
501 | } | 500 | } |
502 | } | 501 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs index 59493a3..ce0fa48 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | |||
@@ -856,7 +856,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
856 | 856 | ||
857 | // for osTeleportObject | 857 | // for osTeleportObject |
858 | public const int OSTPOBJ_NONE = 0x0; | 858 | public const int OSTPOBJ_NONE = 0x0; |
859 | public const int OSTPOBJ_STOPATTARRGET = 0x1; // stops at destination | 859 | public const int OSTPOBJ_STOPATTARGET = 0x1; // stops at destination |
860 | public const int OSTPOBJ_STOPONFAIL = 0x2; // stops at jump point if tp fails | 860 | public const int OSTPOBJ_STOPONFAIL = 0x2; // stops at jump point if tp fails |
861 | public const int OSTPOBJ_SETROT = 0x4; // the rotation is the final rotation, otherwise is a added rotation | 861 | public const int OSTPOBJ_SETROT = 0x4; // the rotation is the final rotation, otherwise is a added rotation |
862 | 862 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 7c08628..9eac114 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | |||
@@ -1140,9 +1140,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
1140 | m_OSSL_Functions.osClearInertia(); | 1140 | m_OSSL_Functions.osClearInertia(); |
1141 | } | 1141 | } |
1142 | 1142 | ||
1143 | public void osTeleportObject(LSL_Key objectUUID, vector targetPos, rotation targetrotation, LSL_Integer flags) | 1143 | public LSL_Integer osTeleportObject(LSL_Key objectUUID, vector targetPos, rotation targetrotation, LSL_Integer flags) |
1144 | { | 1144 | { |
1145 | m_OSSL_Functions.osTeleportObject(objectUUID, targetPos, targetrotation, flags); | 1145 | return m_OSSL_Functions.osTeleportObject(objectUUID, targetPos, targetrotation, flags); |
1146 | } | 1146 | } |
1147 | 1147 | ||
1148 | public LSL_Integer osGetLinkNumber(LSL_String name) | 1148 | public LSL_Integer osGetLinkNumber(LSL_String name) |