Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
            }
        }