diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 11ae661..ca67a64 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3905,7 +3905,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3905 | { | 3905 | { |
3906 | // agent must be over the owners land | 3906 | // agent must be over the owners land |
3907 | if (m_host.OwnerID == World.LandChannel.GetLandObject( | 3907 | if (m_host.OwnerID == World.LandChannel.GetLandObject( |
3908 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).landData.OwnerID) | 3908 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) |
3909 | { | 3909 | { |
3910 | presence.ControllingClient.SendTeleportLocationStart(); | 3910 | presence.ControllingClient.SendTeleportLocationStart(); |
3911 | World.TeleportClientHome(agentId, presence.ControllingClient); | 3911 | World.TeleportClientHome(agentId, presence.ControllingClient); |
@@ -4097,7 +4097,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4097 | return; | 4097 | return; |
4098 | 4098 | ||
4099 | // Need provisions for Group Owned here | 4099 | // Need provisions for Group Owned here |
4100 | if (m_host.OwnerID == targetlandObj.landData.OwnerID || targetlandObj.landData.IsGroupOwned || m_host.OwnerID == targetID) | 4100 | if (m_host.OwnerID == targetlandObj.LandData.OwnerID || |
4101 | targetlandObj.LandData.IsGroupOwned || m_host.OwnerID == targetID) | ||
4101 | { | 4102 | { |
4102 | pushAllowed = true; | 4103 | pushAllowed = true; |
4103 | } | 4104 | } |
@@ -4113,10 +4114,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4113 | else | 4114 | else |
4114 | { | 4115 | { |
4115 | // Parcel push restriction | 4116 | // Parcel push restriction |
4116 | if ((targetlandObj.landData.Flags & (uint)ParcelFlags.RestrictPushObject) == (uint)ParcelFlags.RestrictPushObject) | 4117 | if ((targetlandObj.LandData.Flags & (uint)ParcelFlags.RestrictPushObject) == (uint)ParcelFlags.RestrictPushObject) |
4117 | { | 4118 | { |
4118 | // Need provisions for Group Owned here | 4119 | // Need provisions for Group Owned here |
4119 | if (m_host.OwnerID == targetlandObj.landData.OwnerID || targetlandObj.landData.IsGroupOwned || m_host.OwnerID == targetID) | 4120 | if (m_host.OwnerID == targetlandObj.LandData.OwnerID || |
4121 | targetlandObj.LandData.IsGroupOwned || | ||
4122 | m_host.OwnerID == targetID) | ||
4120 | { | 4123 | { |
4121 | pushAllowed = true; | 4124 | pushAllowed = true; |
4122 | } | 4125 | } |
@@ -5448,7 +5451,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5448 | { | 5451 | { |
5449 | // agent must be over the owners land | 5452 | // agent must be over the owners land |
5450 | if (m_host.OwnerID == World.LandChannel.GetLandObject( | 5453 | if (m_host.OwnerID == World.LandChannel.GetLandObject( |
5451 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).landData.OwnerID) | 5454 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) |
5452 | World.TeleportClientHome(agentId, presence.ControllingClient); | 5455 | World.TeleportClientHome(agentId, presence.ControllingClient); |
5453 | } | 5456 | } |
5454 | } | 5457 | } |
@@ -5538,7 +5541,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5538 | { | 5541 | { |
5539 | if (m_host.OwnerID | 5542 | if (m_host.OwnerID |
5540 | == World.LandChannel.GetLandObject( | 5543 | == World.LandChannel.GetLandObject( |
5541 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).landData.OwnerID) | 5544 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) |
5542 | return 1; | 5545 | return 1; |
5543 | } | 5546 | } |
5544 | else // object is not an avatar | 5547 | else // object is not an avatar |
@@ -5547,7 +5550,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5547 | if (obj != null) | 5550 | if (obj != null) |
5548 | if (m_host.OwnerID | 5551 | if (m_host.OwnerID |
5549 | == World.LandChannel.GetLandObject( | 5552 | == World.LandChannel.GetLandObject( |
5550 | obj.AbsolutePosition.X, obj.AbsolutePosition.Y).landData.OwnerID) | 5553 | obj.AbsolutePosition.X, obj.AbsolutePosition.Y).LandData.OwnerID) |
5551 | return 1; | 5554 | return 1; |
5552 | } | 5555 | } |
5553 | } | 5556 | } |
@@ -5558,7 +5561,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5558 | public LSL_String llGetLandOwnerAt(LSL_Vector pos) | 5561 | public LSL_String llGetLandOwnerAt(LSL_Vector pos) |
5559 | { | 5562 | { |
5560 | m_host.AddScriptLPS(1); | 5563 | m_host.AddScriptLPS(1); |
5561 | return World.LandChannel.GetLandObject((float)pos.x, (float)pos.y).landData.OwnerID.ToString(); | 5564 | return World.LandChannel.GetLandObject((float)pos.x, (float)pos.y).LandData.OwnerID.ToString(); |
5562 | } | 5565 | } |
5563 | 5566 | ||
5564 | /// <summary> | 5567 | /// <summary> |
@@ -5627,9 +5630,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5627 | ILandObject parcel = World.LandChannel.GetLandObject(av.AbsolutePosition.X, av.AbsolutePosition.Y); | 5630 | ILandObject parcel = World.LandChannel.GetLandObject(av.AbsolutePosition.X, av.AbsolutePosition.Y); |
5628 | if (parcel != null) | 5631 | if (parcel != null) |
5629 | { | 5632 | { |
5630 | if (m_host.ObjectOwner == parcel.landData.OwnerID || | 5633 | if (m_host.ObjectOwner == parcel.LandData.OwnerID || |
5631 | (m_host.OwnerID == m_host.GroupID && m_host.GroupID == parcel.landData.GroupID | 5634 | (m_host.OwnerID == m_host.GroupID && m_host.GroupID == parcel.LandData.GroupID |
5632 | && parcel.landData.IsGroupOwned) || World.Permissions.IsGod(m_host.OwnerID)) | 5635 | && parcel.LandData.IsGroupOwned) || World.Permissions.IsGod(m_host.OwnerID)) |
5633 | { | 5636 | { |
5634 | av.StandUp(); | 5637 | av.StandUp(); |
5635 | } | 5638 | } |
@@ -6132,7 +6135,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6132 | { | 6135 | { |
6133 | m_host.AddScriptLPS(1); | 6136 | m_host.AddScriptLPS(1); |
6134 | UUID key; | 6137 | UUID key; |
6135 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).landData; | 6138 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).LandData; |
6136 | if (land.OwnerID == m_host.OwnerID) | 6139 | if (land.OwnerID == m_host.OwnerID) |
6137 | { | 6140 | { |
6138 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); | 6141 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); |
@@ -7147,7 +7150,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7147 | 7150 | ||
7148 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); | 7151 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); |
7149 | 7152 | ||
7150 | if (land.landData.OwnerID != m_host.ObjectOwner) | 7153 | if (land.LandData.OwnerID != m_host.ObjectOwner) |
7151 | return; | 7154 | return; |
7152 | 7155 | ||
7153 | land.SetMusicUrl(url); | 7156 | land.SetMusicUrl(url); |
@@ -8406,7 +8409,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8406 | bool update = false; // send a ParcelMediaUpdate (and possibly change the land's media URL)? | 8409 | bool update = false; // send a ParcelMediaUpdate (and possibly change the land's media URL)? |
8407 | byte loop = 0; | 8410 | byte loop = 0; |
8408 | 8411 | ||
8409 | LandData landData = landObject.landData; | 8412 | LandData landData = landObject.LandData; |
8410 | string url = landData.MediaURL; | 8413 | string url = landData.MediaURL; |
8411 | string texture = landData.MediaID.ToString(); | 8414 | string texture = landData.MediaID.ToString(); |
8412 | bool autoAlign = landData.MediaAutoScale != 0; | 8415 | bool autoAlign = landData.MediaAutoScale != 0; |
@@ -8835,7 +8838,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8835 | { | 8838 | { |
8836 | m_host.AddScriptLPS(1); | 8839 | m_host.AddScriptLPS(1); |
8837 | UUID key; | 8840 | UUID key; |
8838 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).landData; | 8841 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).LandData; |
8839 | if (land.OwnerID == m_host.OwnerID) | 8842 | if (land.OwnerID == m_host.OwnerID) |
8840 | { | 8843 | { |
8841 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); | 8844 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); |
@@ -8854,7 +8857,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8854 | { | 8857 | { |
8855 | m_host.AddScriptLPS(1); | 8858 | m_host.AddScriptLPS(1); |
8856 | UUID key; | 8859 | UUID key; |
8857 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).landData; | 8860 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).LandData; |
8858 | if (land.OwnerID == m_host.OwnerID) | 8861 | if (land.OwnerID == m_host.OwnerID) |
8859 | { | 8862 | { |
8860 | if (UUID.TryParse(avatar, out key)) | 8863 | if (UUID.TryParse(avatar, out key)) |
@@ -8876,7 +8879,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8876 | { | 8879 | { |
8877 | m_host.AddScriptLPS(1); | 8880 | m_host.AddScriptLPS(1); |
8878 | UUID key; | 8881 | UUID key; |
8879 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).landData; | 8882 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).LandData; |
8880 | if (land.OwnerID == m_host.OwnerID) | 8883 | if (land.OwnerID == m_host.OwnerID) |
8881 | { | 8884 | { |
8882 | if (UUID.TryParse(avatar, out key)) | 8885 | if (UUID.TryParse(avatar, out key)) |
@@ -9021,7 +9024,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
9021 | public LSL_Integer llGetParcelFlags(LSL_Vector pos) | 9024 | public LSL_Integer llGetParcelFlags(LSL_Vector pos) |
9022 | { | 9025 | { |
9023 | m_host.AddScriptLPS(1); | 9026 | m_host.AddScriptLPS(1); |
9024 | return (int)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y).landData.Flags; | 9027 | return (int)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y).LandData.Flags; |
9025 | } | 9028 | } |
9026 | 9029 | ||
9027 | public LSL_Integer llGetRegionFlags() | 9030 | public LSL_Integer llGetRegionFlags() |
@@ -9142,7 +9145,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
9142 | public void llResetLandBanList() | 9145 | public void llResetLandBanList() |
9143 | { | 9146 | { |
9144 | m_host.AddScriptLPS(1); | 9147 | m_host.AddScriptLPS(1); |
9145 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).landData; | 9148 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).LandData; |
9146 | if (land.OwnerID == m_host.OwnerID) | 9149 | if (land.OwnerID == m_host.OwnerID) |
9147 | { | 9150 | { |
9148 | foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList) | 9151 | foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList) |
@@ -9159,7 +9162,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
9159 | public void llResetLandPassList() | 9162 | public void llResetLandPassList() |
9160 | { | 9163 | { |
9161 | m_host.AddScriptLPS(1); | 9164 | m_host.AddScriptLPS(1); |
9162 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).landData; | 9165 | LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).LandData; |
9163 | if (land.OwnerID == m_host.OwnerID) | 9166 | if (land.OwnerID == m_host.OwnerID) |
9164 | { | 9167 | { |
9165 | foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList) | 9168 | foreach (ParcelManager.ParcelAccessEntry entry in land.ParcelAccessList) |
@@ -9243,7 +9246,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
9243 | LSL_List ret = new LSL_List(); | 9246 | LSL_List ret = new LSL_List(); |
9244 | if (land != null) | 9247 | if (land != null) |
9245 | { | 9248 | { |
9246 | foreach (KeyValuePair<UUID, int> detectedParams in land.getLandObjectOwners()) | 9249 | foreach (KeyValuePair<UUID, int> detectedParams in land.GetLandObjectOwners()) |
9247 | { | 9250 | { |
9248 | ret.Add(detectedParams.Key.ToString()); | 9251 | ret.Add(detectedParams.Key.ToString()); |
9249 | ret.Add(detectedParams.Value); | 9252 | ret.Add(detectedParams.Value); |