aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs10
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs2
2 files changed, 10 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index c7e59ac..2533002 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -4627,7 +4627,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4627 public void llCollisionSound(string impact_sound, double impact_volume) 4627 public void llCollisionSound(string impact_sound, double impact_volume)
4628 { 4628 {
4629 m_host.AddScriptLPS(1); 4629 m_host.AddScriptLPS(1);
4630 4630
4631 if(impact_sound == "")
4632 {
4633 m_host.CollisionSoundVolume = (float)impact_volume;
4634 m_host.CollisionSound = m_host.invalidCollisionSoundUUID;
4635 return;
4636 }
4631 // TODO: Parameter check logic required. 4637 // TODO: Parameter check logic required.
4632 UUID soundId = UUID.Zero; 4638 UUID soundId = UUID.Zero;
4633 if (!UUID.TryParse(impact_sound, out soundId)) 4639 if (!UUID.TryParse(impact_sound, out soundId))
@@ -4643,8 +4649,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4643 } 4649 }
4644 m_host.TaskInventory.LockItemsForRead(false); 4650 m_host.TaskInventory.LockItemsForRead(false);
4645 } 4651 }
4646 m_host.CollisionSound = soundId;
4647 m_host.CollisionSoundVolume = (float)impact_volume; 4652 m_host.CollisionSoundVolume = (float)impact_volume;
4653 m_host.CollisionSound = soundId;
4648 } 4654 }
4649 4655
4650 public LSL_String llGetAnimation(string id) 4656 public LSL_String llGetAnimation(string id)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
index 5cad883..1c59d45 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
@@ -847,6 +847,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
847 SceneObjectPart part = Engine.World.GetSceneObjectPart(LocalID); 847 SceneObjectPart part = Engine.World.GetSceneObjectPart(LocalID);
848 part.Inventory.GetInventoryItem(ItemID).PermsMask = 0; 848 part.Inventory.GetInventoryItem(ItemID).PermsMask = 0;
849 part.Inventory.GetInventoryItem(ItemID).PermsGranter = UUID.Zero; 849 part.Inventory.GetInventoryItem(ItemID).PermsGranter = UUID.Zero;
850 part.CollisionSound = UUID.Zero;
850 AsyncCommandManager.RemoveScript(Engine, LocalID, ItemID); 851 AsyncCommandManager.RemoveScript(Engine, LocalID, ItemID);
851 EventQueue.Clear(); 852 EventQueue.Clear();
852 m_Script.ResetVars(); 853 m_Script.ResetVars();
@@ -873,6 +874,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
873 SceneObjectPart part = Engine.World.GetSceneObjectPart(LocalID); 874 SceneObjectPart part = Engine.World.GetSceneObjectPart(LocalID);
874 part.Inventory.GetInventoryItem(ItemID).PermsMask = 0; 875 part.Inventory.GetInventoryItem(ItemID).PermsMask = 0;
875 part.Inventory.GetInventoryItem(ItemID).PermsGranter = UUID.Zero; 876 part.Inventory.GetInventoryItem(ItemID).PermsGranter = UUID.Zero;
877 part.CollisionSound = UUID.Zero;
876 AsyncCommandManager.RemoveScript(Engine, LocalID, ItemID); 878 AsyncCommandManager.RemoveScript(Engine, LocalID, ItemID);
877 879
878 EventQueue.Clear(); 880 EventQueue.Clear();