Solved[FSoD] Ban Command Error

Posts 1–4 of 4 · Page 1 of 1
[FSoD] Ban Command Error
Error for both ban and unban
Code:
[22:23:48] Error when executing the command.
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at wServer.realm.commands.BanCommand.Process(Player player, RealmTime time, String[] args) in C:\Server Src\wServer\realm\commands\AdminCommands.cs:line 86
   at wServer.realm.commands.Command.Execute(Player player, RealmTime time, String args) in C:Server Src\wServer\realm\commands\Command.cs:line 62
 
Ban

(just the fsod ban command, but changed permLevel to 900, i also tried to add it where it disconnects the user as well):
Code:
    internal class BanCommand : Command
    {
        public BanCommand() :
            base("ban", permLevel: 900)
        {
        }

        protected override bool Process(Player player, RealmTime time, string[] args)
        {
            var p = player.Manager.FindPlayer(args[1]);
            if (p == null)
            {
                player.SendError("Player not found");
                return false;
            }
            player.Manager.Database.DoActionAsync(db =>
            {
                var cmd = db.CreateQuery();
                cmd.CommandText = "UPDATE accounts SET banned=1 WHERE id=@accId;";
                cmd.Parameters.AddWithValue("@accId", p.AccountId);
                cmd.ExecuteNonQuery();
                {
                    foreach (KeyValuePair<int, Player> i in player.Owner.Players)
                    {
                        {
                            i.Value.Client.Disconnect();
                        }
                    }
                }
            });
            return true;
        }
    }


 
Unban

Code:
    internal class unBanCommand : Command
    {
        public unBanCommand() : base("unban", 900) { }
        protected override bool Process(Player player, RealmTime time, string[] args)
        {
            if (args.Length > 1)
            {
                player.SendHelp("Usage: /unban <name>");
                return false;
            }
            player.Manager.Database.DoActionAsync(db =>
            {
                var cmd = db.CreateQuery();
                cmd.CommandText = "UPDATE accounts SET banned=0 WHERE name=@name";
                cmd.Parameters.AddWithValue("@name", args[0]);
                if (cmd.ExecuteNonQuery() == 0)
                {
                    player.SendError(args[0] + " could not be unbanned!");
                }
                else
                {
                    player.SendHelp(args[0] + " was successfuly unbanned!");
                }
            });
            return true;
        }
    }
Quote Originally Posted by EHaehthsthethetheh View Post
var p = player.Manager.FindPlayer(args[1]);
change the 1 to 0 xdd
Quote Originally Posted by LegumI View Post
change the 1 to 0 xdd
what a loser i am. @059 @Ahl
Closed, solved
Posts 1–4 of 4 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Talk with us