Müzik dinliyebilmenizi sağlıyan yararlı bir script.
using System;
using System.Collections;
using Server;
using Server.Network;
using Server.Mobiles;
namespace Server.Items
{
public class MusicPlayer : Item
{
[Constructable]
public MusicPlayer() : base( 3763 )
{
Visible=false;
Name="Music Player: Start Playing";
}
public MusicPlayer( Serial serial ) : base( serial )
{
}
bool playing;
public override void OnDoubleClick(Mobile from)
{
if (from.AccessLevel < AccessLevel.GameMaster)
{
Visible=false;
return;
}
IPooledEnumerable eable = from.Map.GetMobilesInRange( from.Location, 100 );
ArrayList list = new ArrayList();
foreach( Mobile mob in eable )
{
if (playing)
StopMusic(mob);
else
PlayMusic(mob);
}
eable.Free();
playing = !playing;
if (playing)
Name="Music Player: Stop Playing";
else
Name="Music Player: Start Playing";
}
private MusicName m_Music = MusicName.Invalid;
[CommandProperty( AccessLevel.GameMaster )]
public MusicName Music
{
get { return m_Music; }
set { m_Music = value; InvalidateProperties(); }
}
public virtual void PlayMusic( Mobile m )
{
if ( m_Music != MusicName.Invalid && m.NetState != null )
m.Send( Network.PlayMusic.GetInstance( m_Music ) );
}
public virtual void StopMusic( Mobile m )
{
if ( m_Music != MusicName.Invalid && m.NetState != null )
m.Send( Network.PlayMusic.InvalidInstance );
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
Name="Music Player: Start Playing";
}
}
}