aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api
diff options
context:
space:
mode:
authorUbitUmarov2018-10-20 01:00:55 +0100
committerUbitUmarov2018-10-20 01:00:55 +0100
commit0611d3339bcba420b3f4fa811394ee2e4b0d3e89 (patch)
tree3a357c9f48a79d85e984c10d368947bb38b2fcfa /OpenSim/Region/ScriptEngine/Shared/Api
parentadd a few more things to SrcriptSyntax (diff)
downloadopensim-SC-0611d3339bcba420b3f4fa811394ee2e4b0d3e89.zip
opensim-SC-0611d3339bcba420b3f4fa811394ee2e4b0d3e89.tar.gz
opensim-SC-0611d3339bcba420b3f4fa811394ee2e4b0d3e89.tar.bz2
opensim-SC-0611d3339bcba420b3f4fa811394ee2e4b0d3e89.tar.xz
remove TempAttachments module
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs57
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs5
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs9
3 files changed, 62 insertions, 9 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 68804a1..6497d10 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3864,7 +3864,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3864 } 3864 }
3865 } 3865 }
3866 3866
3867 public void llAttachToAvatar(int attachmentPoint) 3867 public void llAttachToAvatar(LSL_Integer attachmentPoint)
3868 { 3868 {
3869 m_host.AddScriptLPS(1); 3869 m_host.AddScriptLPS(1);
3870 3870
@@ -3875,7 +3875,55 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3875 AttachToAvatar(attachmentPoint); 3875 AttachToAvatar(attachmentPoint);
3876 } 3876 }
3877 3877
3878 public void llDetachFromAvatar() 3878 public void llAttachToAvatarTemp(LSL_Integer attachmentPoint)
3879 {
3880 IAttachmentsModule attachmentsModule = World.RequestModuleInterface<IAttachmentsModule>();
3881 if (attachmentsModule == null)
3882 return;
3883
3884 if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_ATTACH) != 0)
3885 return;
3886
3887 SceneObjectGroup grp = m_host.ParentGroup;
3888 if (grp == null || grp.IsDeleted || grp.IsAttachment)
3889 return;
3890
3891 ScenePresence target;
3892 if (!World.TryGetScenePresence(m_item.PermsGranter, out target))
3893 return;
3894
3895 if (target.UUID != grp.OwnerID)
3896 {
3897 uint effectivePerms = grp.EffectiveOwnerPerms;
3898
3899 if ((effectivePerms & (uint)PermissionMask.Transfer) == 0)
3900 return;
3901
3902 grp.SetOwner(target.UUID, target.ControllingClient.ActiveGroupId);
3903
3904 if (World.Permissions.PropagatePermissions())
3905 {
3906 foreach (SceneObjectPart child in grp.Parts)
3907 {
3908 child.Inventory.ChangeInventoryOwner(target.UUID);
3909 child.TriggerScriptChangedEvent(Changed.OWNER);
3910 child.ApplyNextOwnerPermissions();
3911 }
3912 grp.InvalidateEffectivePerms();
3913 }
3914
3915 grp.RootPart.ObjectSaleType = 0;
3916 grp.RootPart.SalePrice = 10;
3917
3918 grp.HasGroupChanged = true;
3919 grp.RootPart.SendPropertiesToClient(target.ControllingClient);
3920 grp.RootPart.ScheduleFullUpdate();
3921 }
3922
3923 attachmentsModule.AttachObject(target, grp, (uint)attachmentPoint, false, false, true);
3924 }
3925
3926 public void llDetachFromAvatar()
3879 { 3927 {
3880 m_host.AddScriptLPS(1); 3928 m_host.AddScriptLPS(1);
3881 3929
@@ -7873,7 +7921,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7873 } 7921 }
7874 7922
7875 // http://wiki.secondlife.com/wiki/LlAvatarOnLinkSitTarget 7923 // http://wiki.secondlife.com/wiki/LlAvatarOnLinkSitTarget
7876 public LSL_Key llAvatarOnLinkSitTarget(int linknum) 7924 public LSL_Key llAvatarOnLinkSitTarget(LSL_Integer linknum)
7877 { 7925 {
7878 m_host.AddScriptLPS(1); 7926 m_host.AddScriptLPS(1);
7879 if(linknum == ScriptBaseClass.LINK_SET || 7927 if(linknum == ScriptBaseClass.LINK_SET ||
@@ -13052,10 +13100,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
13052 float time = 0.0f; // default is from start 13100 float time = 0.0f; // default is from start
13053 13101
13054 ScenePresence presence = null; 13102 ScenePresence presence = null;
13055 13103 int cmd;
13056 for (int i = 0; i < commandList.Data.Length; i++) 13104 for (int i = 0; i < commandList.Data.Length; i++)
13057 { 13105 {
13058 int cmd;
13059 if(commandList.Data[i] is LSL_Integer) 13106 if(commandList.Data[i] is LSL_Integer)
13060 cmd = (LSL_Integer)commandList.Data[i]; 13107 cmd = (LSL_Integer)commandList.Data[i];
13061 else 13108 else
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs
index 4529d9a..11f6710 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs
@@ -52,9 +52,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
52 void llApplyRotationalImpulse(LSL_Vector force, int local); 52 void llApplyRotationalImpulse(LSL_Vector force, int local);
53 LSL_Float llAsin(double val); 53 LSL_Float llAsin(double val);
54 LSL_Float llAtan2(double x, double y); 54 LSL_Float llAtan2(double x, double y);
55 void llAttachToAvatar(int attachment); 55 void llAttachToAvatar(LSL_Integer attachment);
56 void llAttachToAvatarTemp(LSL_Integer attachmentPoint);
56 LSL_Key llAvatarOnSitTarget(); 57 LSL_Key llAvatarOnSitTarget();
57 LSL_Key llAvatarOnLinkSitTarget(int linknum); 58 LSL_Key llAvatarOnLinkSitTarget(LSL_Integer linknum);
58 LSL_Rotation llAxes2Rot(LSL_Vector fwd, LSL_Vector left, LSL_Vector up); 59 LSL_Rotation llAxes2Rot(LSL_Vector fwd, LSL_Vector left, LSL_Vector up);
59 LSL_Rotation llAxisAngle2Rot(LSL_Vector axis, double angle); 60 LSL_Rotation llAxisAngle2Rot(LSL_Vector axis, double angle);
60 LSL_Integer llBase64ToInteger(string str); 61 LSL_Integer llBase64ToInteger(string str);
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs
index 0b474f4..1511495 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs
@@ -120,7 +120,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
120 return m_LSL_Functions.llAtan2(x, y); 120 return m_LSL_Functions.llAtan2(x, y);
121 } 121 }
122 122
123 public void llAttachToAvatar(int attachment) 123 public void llAttachToAvatar(LSL_Integer attachment)
124 {
125 m_LSL_Functions.llAttachToAvatar(attachment);
126 }
127
128 public void llAttachToAvatarTemp(LSL_Integer attachment)
124 { 129 {
125 m_LSL_Functions.llAttachToAvatar(attachment); 130 m_LSL_Functions.llAttachToAvatar(attachment);
126 } 131 }
@@ -130,7 +135,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
130 return m_LSL_Functions.llAvatarOnSitTarget(); 135 return m_LSL_Functions.llAvatarOnSitTarget();
131 } 136 }
132 137
133 public LSL_Key llAvatarOnLinkSitTarget(int linknum) 138 public LSL_Key llAvatarOnLinkSitTarget(LSL_Integer linknum)
134 { 139 {
135 return m_LSL_Functions.llAvatarOnLinkSitTarget(linknum); 140 return m_LSL_Functions.llAvatarOnLinkSitTarget(linknum);
136 } 141 }