From a1297b9cbe3514f0ed8a3aa130be22c2fd9eefdc Mon Sep 17 00:00:00 2001 From: Dawid Bepierszcz <41084667+daffyyyy@users.noreply.github.com> Date: Sat, 18 Nov 2023 08:54:33 +0100 Subject: [PATCH 1/2] Update WeaponPaints.cs Creating tables fix --- WeaponPaints.cs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/WeaponPaints.cs b/WeaponPaints.cs index 1c9c4c14..bba00d89 100644 --- a/WeaponPaints.cs +++ b/WeaponPaints.cs @@ -127,29 +127,29 @@ public class WeaponPaints : BasePlugin, IPluginConfig CheckDatabaseTables(); } - private void CheckDatabaseTables() + async private void CheckDatabaseTables() { try { - using var connection = new MySqlConnection(DatabaseConnectionString); - connection.OpenAsync(); + using var connection = new MySqlConnection(DatabaseConnectionString); + await connection.OpenAsync(); - using var transaction = connection.BeginTransaction(); + using var transaction = await connection.BeginTransactionAsync(); try { - string createTable1 = "CREATE TABLE IF NOT EXISTS `wp_player_skins` (`steamid` varchar(64) NOT NULL, `weapon_defindex` int(6) NOT NULL, `weapon_paint_id` int(6) NOT NULL, `weapon_wear` float NOT NULL DEFAULT 0.0001, `weapon_seed` int(16) NOT NULL DEFAULT 0) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;"; - string createTable2 = "CREATE TABLE IF NOT EXISTS `wp_player_knife` (`steamid` varchar(64) NOT NULL, `knife` varchar(64) NOT NULL, UNIQUE (`steamid`)) ENGINE = InnoDB;"; + string createTable1 = "CREATE TABLE IF NOT EXISTS `wp_player_skins` (`steamid` varchar(64) NOT NULL, `weapon_defindex` int(6) NOT NULL, `weapon_paint_id` int(6) NOT NULL, `weapon_wear` float NOT NULL DEFAULT 0.0001, `weapon_seed` int(16) NOT NULL DEFAULT 0) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci"; + string createTable2 = "CREATE TABLE IF NOT EXISTS `wp_player_knife` (`steamid` varchar(64) NOT NULL, `knife` varchar(64) NOT NULL, UNIQUE (`steamid`)) ENGINE = InnoDB"; - connection.ExecuteAsync(createTable1); - connection.ExecuteAsync(createTable2); + await connection.ExecuteAsync(createTable1, transaction: transaction); + await connection.ExecuteAsync(createTable2, transaction: transaction); - transaction.Commit(); + await transaction.CommitAsync(); } catch (Exception) { - transaction.RollbackAsync(); - throw new Exception("Unable to create tables!"); + await transaction.RollbackAsync(); + throw new Exception("Unable to create tables!"); } } catch (Exception ex) From 89de192c207aa37b9d9be61289dba7127a28412d Mon Sep 17 00:00:00 2001 From: Dawid Bepierszcz <41084667+daffyyyy@users.noreply.github.com> Date: Sat, 18 Nov 2023 09:15:20 +0100 Subject: [PATCH 2/2] Update WeaponPaints.cs Additional check --- WeaponPaints.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/WeaponPaints.cs b/WeaponPaints.cs index bba00d89..bce10217 100644 --- a/WeaponPaints.cs +++ b/WeaponPaints.cs @@ -220,12 +220,12 @@ public override void Unload(bool hotReload) private void OnClientDisconnect(int playerSlot) { CCSPlayerController player = Utilities.GetPlayerFromSlot(playerSlot); - // TODO: Clean up after player - if (Config.Additional.KnifeEnabled) - g_playersKnife.Remove(playerSlot+1); - if (Config.Additional.SkinEnabled) - gPlayerWeaponPaints.Remove(new SteamID(player.SteamID).SteamId64); - + if (!player.IsValid || player.IsBot) return; + + if (Config.Additional.KnifeEnabled) + g_playersKnife.Remove(playerSlot+1); + if (Config.Additional.SkinEnabled) + gPlayerWeaponPaints.Remove(new SteamID(player.SteamID).SteamId64); } private HookResult OnPlayerSpawn(EventPlayerSpawn @event, GameEventInfo info)