public void llStopSound()
{
if (!ScriptProtection.CheckThreatLevel(ThreatLevel.None, "LSL", m_host, "LSL", m_itemID)) return;
if (m_host.ParentEntity.LoopSoundSlavePrims.Contains(m_host))
{
if (m_host.ParentEntity.LoopSoundMasterPrim == m_host)
{
foreach (ISceneChildEntity part in m_host.ParentEntity.LoopSoundSlavePrims)
{
part.Sound = UUID.Zero;
part.SoundGain = 0;
part.SoundFlags = (byte)SoundFlags.None;
part.ScheduleUpdate(PrimUpdateFlags.FindBest);
}
m_host.ParentEntity.LoopSoundMasterPrim = null;
m_host.ParentEntity.LoopSoundSlavePrims.Clear();
}
else
{
m_host.Sound = UUID.Zero;
m_host.SoundGain = 0;
m_host.SoundFlags = (byte)SoundFlags.None;
m_host.ScheduleUpdate(PrimUpdateFlags.FindBest);
}
}
else
{
m_host.Sound = UUID.Zero;
m_host.SoundGain = 0;
m_host.SoundFlags = (byte)SoundFlags.Stop | (byte)SoundFlags.None;
m_host.ScheduleUpdate(PrimUpdateFlags.FindBest);
}
}