diff --git a/Admin/Command.cs b/Admin/Command.cs index a2d42b0e..b56fe129 100644 --- a/Admin/Command.cs +++ b/Admin/Command.cs @@ -361,7 +361,7 @@ namespace IW4MAdmin { foreach (Player P in E.Owner.getPlayers()) { - if (P != null && P.getLevel() > Player.Permission.User && !P.Masked) + if (P != null && P.getLevel() > Player.Permission.Flagged && !P.Masked) { E.Origin.Tell(String.Format("[^3{0}^7] {1}", Utilities.levelToColor(P.getLevel()), P.getName())); } @@ -430,6 +430,53 @@ namespace IW4MAdmin } } + class FindAll : Command + { + public FindAll(String N, String D, String U, Player.Permission P, int args, bool nT) : base(N, D, U, P, args, nT) { } + + public override void Execute(Event E) + { + E.Data = E.Data.Trim(); + + if (E.Data.Length < 4) + { + E.Origin.Tell("You must enter at least 4 letters"); + return; + } + + //var db_players = E.Owner.clientDB.findPlayers(E.Data.Trim()); + var db_aliases = E.Owner.aliasDB.findPlayers(E.Data); + + if (db_aliases == null) + { + E.Origin.Tell("No players found"); + return; + } + + foreach (Aliases P in db_aliases) + { + if (P == null) + continue; + + String lookingFor = String.Empty; + + foreach(String S in P.getNames()) + { + if (S.Contains(E.Data)) + lookingFor = S; + } + + Player Current = E.Owner.clientDB.getPlayer(P.getNumber()); + + if (Current != null) + { + String mesg = String.Format("^1{0} ^7now goes by ^5{1}^7 [^3{2}^7]", lookingFor, Current.getName(), Current.getDBID()); + E.Origin.Tell(mesg); + } + } + } + } + class Rules : Command { public Rules(String N, String D, String U, Player.Permission P, int args, bool nT) : base(N, D, U, P, args, nT) { } diff --git a/Admin/Database.cs b/Admin/Database.cs index b72a6510..53f6baad 100644 --- a/Admin/Database.cs +++ b/Admin/Database.cs @@ -334,6 +334,12 @@ namespace IW4MAdmin String Query = String.Format("DELETE FROM BANS WHERE npID = '{0}'", GUID); ExecuteNonQuery(Query); } + + public void removeBan(String GUID, String IP) + { + String Query = String.Format("DELETE FROM BANS WHERE npID = '{0}' or IP= '%{1}%'", GUID, IP); + ExecuteNonQuery(Query); + } } @@ -522,6 +528,22 @@ namespace IW4MAdmin return players; } + public List findPlayers(String name) + { + String Query = String.Format("SELECT * FROM ALIASES WHERE NAMES LIKE '%{0}%' LIMIT 8", name); + DataTable Result = GetDataTable(Query); + + List players = new List(); + + if (Result != null && Result.Rows.Count > 0) + { + foreach (DataRow p in Result.Rows) + players.Add(new Aliases(Convert.ToInt32(p["Number"]), p["NAMES"].ToString(), p["IPS"].ToString())); + } + + return players; + } + public void addPlayer(Aliases Alias) { Dictionary newPlayer = new Dictionary(); diff --git a/Admin/IW4M ADMIN.csproj b/Admin/IW4M ADMIN.csproj index 1db3ee36..00d16390 100644 --- a/Admin/IW4M ADMIN.csproj +++ b/Admin/IW4M ADMIN.csproj @@ -127,12 +127,18 @@ PreserveNewest + + PreserveNewest + PreserveNewest PreserveNewest + + PreserveNewest + PreserveNewest @@ -185,8 +191,8 @@ - copy $(TargetDir)$(TargetFileName) $(SolutionDir)OFFICIAL\Release\$(TargetFileName) -copy $(SolutionDir)Admin\version.txt $(SolutionDir)OFFICIAL\Release\version.txt + +