private static void MuteHandler( Player player, Command cmd )
{
string targetName = cmd.Next();
string timeString = cmd.Next();
TimeSpan duration;
// validate command parameters
if ( String.IsNullOrEmpty( targetName ) || String.IsNullOrEmpty( timeString ) ||
!timeString.TryParseMiniTimespan( out duration ) || duration <= TimeSpan.Zero ) {
CdMute.PrintUsage( player );
return;
}
// check if given time exceeds maximum (700 days)
if ( duration > MaxMuteDuration ) {
player.Message( "Maximum mute duration is {0}.", MaxMuteDuration.ToMiniString() );
duration = MaxMuteDuration;
}
// find the target
Player target = Server.FindPlayerOrPrintMatches( player, targetName, false, true );
if ( target == null )
return;
// actually mute
try {
target.Info.Mute( player, duration, true, true );
} catch ( PlayerOpException ex ) {
player.Message( ex.MessageColored );
}
}