public static void ExtendSentence(CommandArgs args) { if (args.Parameters.Count < 2 || args.Parameters.Count > 2) { args.Player.SendMessage("Invalid syntax! Proper syntax: /extendsentence <player> <minutes>", Color.Red); return; } var player = TShock.Utils.FindPlayer(args.Parameters[0]); if (player.Count == 0) { args.Player.SendMessage("No player found with that query.", Color.Red); return; } if (player.Count > 1) { args.Player.SendMessage("More than one player matched query.", Color.Red); return; } if (args.Parameters[1].ToIntegerOrDefault(-1) < 1) { args.Player.SendMessage("Invalid number of minutes.", Color.Red); return; } PrisonManager manager = new PrisonManager(TShock.DB); if (manager.IPInPrison(player[0].IP)) { manager.ExtendSentence(player[0], args.Parameters[1].ToIntegerOrDefault(-1)); var ePlayer = ExtendedAdmin.Players[player[0].Index]; ePlayer.PrisonRecord.Until = ePlayer.PrisonRecord.Until.AddMinutes(args.Parameters[1].ToIntegerOrDefault(-1)); ePlayer.Player.SendMessage(string.Format("Your sentence has been extended by {0} minute(s)", args.Parameters[1].ToIntegerOrDefault(-1)), Color.Red); TShock.Utils.Broadcast(string.Format("{0}'s sentence has been extended!", ePlayer.Player.Name), Color.Goldenrod); } else { args.Player.SendMessage("Player is not currently in prison.", Color.Red); return; } }
private void ServerHooks_Join(int ply, HandledEventArgs args) { var tPlayer = TShock.Players[ply]; var player = new ExtendedTSPlayer(tPlayer); Players[ply] = player; PrisonManager prisonManager = new PrisonManager(TShock.DB); if (prisonManager.IPInPrison(player.Player.IP)) { player.PrisonRecord = prisonManager.GetPrisonRecordByIP(player.Player.IP); } }