Added /clearbans
fixed sql query in find by name.
This commit is contained in:
parent
f1c86a6216
commit
2a1b81c86a
3 changed files with 62 additions and 4 deletions
|
|
@ -80,7 +80,7 @@ namespace TShockAPI
|
|||
var namecol = casesensitive ? "Name" : "UPPER(Name)";
|
||||
if (!casesensitive)
|
||||
name = name.ToUpper();
|
||||
com.CommandText = "SELECT *, COUNT(*) FROM Bans WHERE " + namecol + "=@name LIMIT 5";
|
||||
com.CommandText = "SELECT * FROM Bans WHERE " + namecol + "=@name";
|
||||
AddParameter(com, "@name", name);
|
||||
using (var reader = com.ExecuteReader())
|
||||
{
|
||||
|
|
@ -132,6 +132,22 @@ namespace TShockAPI
|
|||
}
|
||||
return false;
|
||||
}
|
||||
public bool ClearBans()
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var com = database.CreateCommand())
|
||||
{
|
||||
com.CommandText = "DELETE FROM Bans";
|
||||
com.ExecuteNonQuery();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (SqliteExecutionException ex)
|
||||
{
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public class Ban
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@ namespace TShockAPI
|
|||
ChatCommands.Add(new Command("ban", BanIP, "banip"));
|
||||
ChatCommands.Add(new Command("unban", UnBan, "unban"));
|
||||
ChatCommands.Add(new Command("unban", UnBanIP, "unbanip"));
|
||||
ChatCommands.Add(new Command("maintenance", ClearBans, "clearbans"));
|
||||
ChatCommands.Add(new Command("whitelist", Whitelist, "whitelist"));
|
||||
ChatCommands.Add(new Command("maintenance", Off, "off"));
|
||||
ChatCommands.Add(new Command("maintenance", OffNoSave, "off-nosave"));
|
||||
|
|
@ -467,6 +468,47 @@ namespace TShockAPI
|
|||
}
|
||||
}
|
||||
|
||||
static int ClearBansCode = -1;
|
||||
private static void ClearBans(CommandArgs args)
|
||||
{
|
||||
if (args.Parameters.Count < 1 && ClearBansCode == -1)
|
||||
{
|
||||
ClearBansCode = new Random().Next(0, short.MaxValue);
|
||||
args.Player.SendMessage("ClearBans Code: " + ClearBansCode, Color.Red);
|
||||
return;
|
||||
}
|
||||
if (args.Parameters.Count < 1)
|
||||
{
|
||||
args.Player.SendMessage("Invalid syntax! Proper syntax: /clearbans <code>");
|
||||
return;
|
||||
}
|
||||
|
||||
int num;
|
||||
if (!int.TryParse(args.Parameters[0], out num))
|
||||
{
|
||||
args.Player.SendMessage("Invalid syntax! Expecting number");
|
||||
return;
|
||||
}
|
||||
|
||||
if (num == ClearBansCode)
|
||||
{
|
||||
ClearBansCode = -1;
|
||||
if (TShock.Bans.ClearBans())
|
||||
{
|
||||
Log.ConsoleInfo("Bans cleared");
|
||||
args.Player.SendMessage("Bans cleared");
|
||||
}
|
||||
else
|
||||
{
|
||||
args.Player.SendMessage("Failed to clear bans");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
args.Player.SendMessage("Incorrect clear code");
|
||||
}
|
||||
}
|
||||
|
||||
private static void UnBanIP(CommandArgs args)
|
||||
{
|
||||
if (args.Parameters.Count < 1)
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ namespace TShockAPI
|
|||
{
|
||||
internal class Tools
|
||||
{
|
||||
private static Random random = new Random();
|
||||
public static Random Random = new Random();
|
||||
private static List<Group> groups = new List<Group>();
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -191,8 +191,8 @@ namespace TShockAPI
|
|||
break;
|
||||
}
|
||||
|
||||
tileX = startTileX + random.Next(tileXRange * -1, tileXRange);
|
||||
tileY = startTileY + random.Next(tileYRange * -1, tileYRange);
|
||||
tileX = startTileX + Random.Next(tileXRange * -1, tileXRange);
|
||||
tileY = startTileY + Random.Next(tileYRange * -1, tileYRange);
|
||||
j++;
|
||||
}
|
||||
while (TileValid(tileX, tileY) && !TileClear(tileX, tileY));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue