internal static void dc( Player player, Command cmd )
{
string name = cmd.Next();
if ( name == null ) {
player.Message( "Please enter a name" );
return;
}
Player target = Server.FindPlayerOrPrintMatches( player, name, false, true );
if ( target == null )
return;
if ( player.Can( Permission.Gtfo, target.Info.Rank ) ) {
try {
target.Kick( player, "Manually disconnected by " + player.Name, LeaveReason.Kick, false, true, false );
Server.Players.Message( "{0} &Swas manually disconnected by {1}", target.ClassyName, player.ClassyName );
} catch ( PlayerOpException ex ) {
player.Message( ex.MessageColored );
if ( ex.ErrorCode == PlayerOpExceptionCode.ReasonRequired )
return;
}
} else {
player.Message( "You can only Disconnect players ranked {0}&S or lower",
player.Info.Rank.GetLimit( Permission.Gtfo ).ClassyName );
player.Message( "{0}&S is ranked {1}", target.ClassyName, target.Info.Rank.ClassyName );
}
}