public void llCollisionSound(string impact_sound, double impact_volume)
{
if (!ScriptProtection.CheckThreatLevel(ThreatLevel.None, "LSL", m_host, "LSL", m_itemID)) return;
UUID soundId = UUID.Zero;
if (!UUID.TryParse(impact_sound, out soundId))
{
lock (m_host.TaskInventory)
{
foreach (TaskInventoryItem item in m_host.TaskInventory.Values)
{
if (item.Type == (int)AssetType.Sound && item.Name == impact_sound)
{
soundId = item.AssetID;
break;
}
}
}
}
//We do allow UUID.Zero here for scripts that want to disable the collision sound (such as "")
m_host.CollisionSound = soundId;
m_host.CollisionSoundVolume = (float)impact_volume;
}