public static bool ShowBans(Player player) { long rows = 0; using var con = CreateConnection(); cmd.CommandText = $"SELECT * FROM banned_players;"; using var reader = cmd.ExecuteReader(); if (reader.HasRows) { var dialog = new TablistDialog($" ", new[] { "Name", "Start Date", "Expiry Date", "Days Left" }, "Cerrar"); while (reader.Read()) { var expiryDate = reader.GetDateTime("expiryDate"); var diff = (expiryDate.Date - DateTime.Now.Date).Days; dialog.Add( new[] { reader.GetString("bannedPlayer"), ParseData.ToStringDateTime(reader.GetDateTime("startDate")), ParseData.ToStringDateTime(expiryDate), (diff <= 0 ? "0" : diff.ToString()) } ); ++rows; } dialog.Caption = $"Banned Accounts: {rows}"; dialog.Show(player); return(true); } return(false); }
public static void ShowStatsDb(Player player, string playername) { try { using var con = CreateConnection(); cmd.CommandText = $"call getPlayerInfo('{playername}');"; using var reader = cmd.ExecuteReader(); if (reader.Read()) { var stats = new TablistDialog("Stats", 2, "Aceptar", ""); var id = reader.GetInt32("accountNumber"); var skinid = reader.GetInt32("skinid"); stats.Add(new[] { "Name", reader.GetString("name") }); stats.Add(new[] { "Account Number", id.ToString() }); stats.Add(new[] { "Registry Date", ParseData.ToStringDateTime(reader.GetDateTime("registryDate")) }); stats.Add(new[] { "Last Connection", !Player.IsPlayerOnline(id) ? ParseData.ToStringDateTime(reader.GetDateTime("lastConnection")) : "Connected" }); stats.Add(new[] { "Total Kills", reader.GetInt32("totalKills").ToString() }); stats.Add(new[] { "Total Deaths", reader.GetInt32("totalDeaths").ToString() }); stats.Add(new[] { "Killing Sprees", reader.GetInt32("killingSprees").ToString() }); int level = reader.GetInt32("levelGame"); stats.Add(new[] { "Game Level", level.ToString() }); stats.Add(new[] { "Rank", Rank.GetRankLevel(level) }); stats.Add(new[] { "Next Rank", Rank.GetNextRankLevel(level) }); stats.Add(new[] { "Dropped Flags", reader.GetInt32("droppedFlags").ToString() }); stats.Add(new[] { "Headshots", reader.GetInt32("headshots").ToString() }); stats.Add(new[] { "Admin Level", reader.GetInt32("levelAdmin").ToString() }); stats.Add(new[] { "VIP Level", reader.GetInt32("levelVip").ToString() }); stats.Add(new[] { "Saved Skin", skinid == -1 ? "None" : skinid.ToString() }); stats.Show(player); } else { player.SendClientMessage(Color.Red, "Error: Ese nombre no se encuentra en la base de datos del servidor."); } } catch (MySqlException e) { player.SendErrorMessage(e); } }
public static void StatsPlayer(Player player, int playerid = -1) { Player player1 = (playerid != -1 ? Player.Find(player, playerid) : player); var level = player1.Data.LevelGame; new MessageDialog($"Name: {player1.Name}", $"{Color.Yellow}ID: {Color.White}{player1.Id}" + $"\n{Color.Yellow}Account Number: {Color.White}{player1.Data.AccountNumber}" + $"\n{Color.Yellow}Registry Date: {Color.White}{ParseData.ToStringDateTime(player1.Data.RegistryDate)}" + $"\n{Color.Yellow}Kills for Round: {Color.White}{player1.Kills}" + $"\n{Color.Yellow}Deaths for Round: {Color.White}{player1.Deaths}" + $"\n{Color.Yellow}Total Kills: {Color.White}{player1.Data.TotalKills}" + $"\n{Color.Yellow}Total Deaths: {Color.White}{player1.Data.TotalDeaths}" + $"\n{Color.Yellow}Admin Level: {Color.White}{player1.Data.LevelAdmin}" + $"\n{Color.Yellow}VIP Level: {Color.White}{player1.Data.LevelVip}" + $"\n{Color.Yellow}Rank: {Color.White}{Rank.GetRankLevel(level)}" + $"\n{Color.Yellow}Level: {Color.White}{player1.Data.LevelGame}" + $"\n{Color.Yellow}Next Rank: {Color.White}{Rank.GetNextRankLevel(level)}" + $"\n{Color.Yellow}DroppedFlags: {Color.White}{player1.Data.DroppedFlags}" + $"\n{Color.Yellow}Killing Sprees: {Color.White}{player1.Data.KillingSprees}" + $"\n{Color.Yellow}Headshots: {Color.White}{player1.Data.Headshots}" + $"\n{Color.Yellow}Adrenaline: {Color.White}{player1.Adrenaline}/100", "Cerrar", "").Show(player); }
private static void NameBan(Player player, int playerid, int days, int hours, int minutes, int seconds, string reason) { if (player.IsAdminLevel(3)) { return; } Player player1 = Player.Find(player, playerid); IsTotalDaysRange(player, days); IsHoursRange(player, hours); IsMinutesRange(player, minutes); IsSecondsRange(player, seconds); if (reason.Length > 50) { player.SendClientMessage(Color.Red, "Error: La razón no puede tener mas de 50 caracteres."); return; } try { var expiryDate = Account.InsertBan(player1, player, reason, days, hours, minutes, seconds); BasePlayer.SendClientMessageToAll(Color.Red, $"* {player.Name} ha prohíbido la cuenta de {player1.Name} por {days} {(days == 1 ? "día" : "días")} [Razón: {reason}]."); player1.SendClientMessage(Color.Red, $"* Tu cuenta quedará desbloqueada en esta fecha y hora: {ParseData.ToStringDateTime((DateTime)expiryDate)}."); player1.Kick(); SendMessageToAdmins(player, "nameban"); } catch (MySqlException e) { player.SendErrorMessage(e); } }
public void RegisterEvents(BaseMode gameMode) { gameMode.PlayerConnected += (sender, e) => { var player = sender as Player; try { DateTime?expiryDate; if ((expiryDate = IsBanned(player)) != null) { if (expiryDate > DateTime.Now) { player.SendClientMessage(Color.Red, $"* Esta cuenta está prohíbida. La cuenta quedará desbloqueada en esta fecha y hora: {ParseData.ToStringDateTime((DateTime)expiryDate)}."); player.Kick(); return; } DeleteBan(player.Name); } if (Load(player, out var password)) { player.Account = AccountState.Login; player.ShowDialogLogin(password); } else { player.Account = AccountState.Register; player.ShowDialogRegister(); } } catch (MySqlException ex) { player.SendErrorMessage(ex); } }; }
private static void DateTimeServer(Player player) => player.SendClientMessage(Color.Orange, $"--> Fecha y hora local del servidor: {Color.White}{ParseData.ToStringDateTime(DateTime.Now)}");