public static void ReleaseFromPrison(CommandArgs args) { if (args.Parameters.Count < 1 || args.Parameters.Count > 1) { args.Player.SendMessage("Invalid syntax! Proper syntax: /releaseprisoner <user>", Color.Red); return; } PrisonManager manager = new PrisonManager(TShock.DB); PrisonHelper prisoner = manager.GetPrisonerUser(args.Parameters[0]); if (prisoner != null) { Release(manager, prisoner); if (args.Player != null) { args.Player.SendMessage("Prisoner has been released.", Color.Green); } } else { if (args.Player != null) { args.Player.SendMessage("No prisoner matched your query", Color.Red); } } }
private static void Release(PrisonManager manager, PrisonHelper prioner) { manager.Release(prioner.PrisonID); var player = TShock.Players.FirstOrDefault(p => p != null && p.UserAccountName == prioner.User && p.RealPlayer); UpdateGroup(player, prioner.User, prioner.Group); if (player != null) { var ePlayer = ExtendedAdmin.Players[player.Index]; ePlayer.PrisonRecord = null; player.Teleport(Main.spawnTileX, Main.spawnTileY); player.SendMessage("You have been freed from prison", Color.Green); TShock.Utils.Broadcast(string.Format("{0} has been released from prison!", player.Name), Color.Goldenrod); } }