case "bantime": { foreach (var Client in Program.Values) { if (Client.Account.State >= client.Account.State) continue; if (Client.Player.LoweredName.Contains(Data[1])) { Client.Account.State = Database.AccountTable.AccountState.Banned; Client.Account.SaveState(); Client.Account.CopraState(Database.AccountTable.AccountState.Banned); Client["banhours"] = Data[2].Cast<int>(); Client["banreason"] = message_.Substring(Data[0].Length + 1 + Data[1].Length + 1 + Data[2].Length + 1); Client["banstamp"] = DateTime.Now; Client.Disconnect();break; } } break; }
client.Variables = variables;
if (client["banhours"] == 0) { client["banhours"] = -1; client["banreason"] = "Infinite time."; client["banstamp"] = DateTime.Now.AddYears(100); } if (Account.State == Database.AccountTable.AccountState.Banned) { if (client["banhours"] != -1) { DateTime banStamp = client["banstamp"]; if (DateTime.Now > banStamp.AddDays(((int)client["banhours"]) / 24).AddHours(((int)client["banhours"]) % 24)) Account.State = Database.AccountTable.AccountState.Entity; } } string Message = ""; if (Protection.SystemBannedAccount.IsBanned(client.Account.EntityID, out Message)) { } else if (Account.State == Database.AccountTable.AccountState.Banned) { DateTime banStamp = client["banstamp"]; banStamp = banStamp.AddHours(client["banhours"]); Message = "You are banned for " + client["banhours"] + " hours [until " + banStamp.ToString("HH:mm MM/dd/yyyy") + "]. Reason: " + client["banreason"]; }