aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-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 e18d9cf..eb68038 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -4779,7 +4779,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4779 public void llCollisionSound(string impact_sound, double impact_volume) 4779 public void llCollisionSound(string impact_sound, double impact_volume)
4780 { 4780 {
4781 m_host.AddScriptLPS(1); 4781 m_host.AddScriptLPS(1);
4782 4782
4783 if(impact_sound == "")
4784 {
4785 m_host.CollisionSoundVolume = (float)impact_volume;
4786 m_host.CollisionSound = m_host.invalidCollisionSoundUUID;
4787 return;
4788 }
4783 // TODO: Parameter check logic required. 4789 // TODO: Parameter check logic required.
4784 UUID soundId = UUID.Zero; 4790 UUID soundId = UUID.Zero;
4785 if (!UUID.TryParse(impact_sound, out soundId)) 4791 if (!UUID.TryParse(impact_sound, out soundId))
@@ -4795,8 +4801,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4795 } 4801 }
4796 m_host.TaskInventory.LockItemsForRead(false); 4802 m_host.TaskInventory.LockItemsForRead(false);
4797 } 4803 }
4798 m_host.CollisionSound = soundId;
4799 m_host.CollisionSoundVolume = (float)impact_volume; 4804 m_host.CollisionSoundVolume = (float)impact_volume;
4805 m_host.CollisionSound = soundId;
4800 } 4806 }
4801 4807
4802 public LSL_String llGetAnimation(string id) 4808 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 ff1f277..5e68d69 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();