diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1bb1fe36..9c62f265 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,6 +64,8 @@ jobs: run: cp website/data/gloves.json ${{ env.OUTPUT_PATH }}/gloves.json - name: Copy agents.json run: cp website/data/agents.json ${{ env.OUTPUT_PATH }}/agents.json + - name: Copy music.json + run: cp website/data/music.json ${{ env.OUTPUT_PATH }}/music.json - name: Zip run: zip -r "${{ env.PROJECT_NAME }}.zip" "${{ env.OUTPUT_PATH }}" gamedata/ - name: Clean files Website diff --git a/Commands.cs b/Commands.cs index ed485b36..b3ad9f0b 100644 --- a/Commands.cs +++ b/Commands.cs @@ -49,6 +49,10 @@ private void OnCommandRefresh(CCSPlayerController? player, CommandInfo command) { _ = Task.Run(async () => await weaponSync.GetAgentFromDatabase(playerInfo)); } + if (Config.Additional.MusicEnabled) + { + _ = Task.Run(async () => await weaponSync.GetMusicFromDatabase(playerInfo)); + } RefreshGloves(player); RefreshWeapons(player); @@ -94,6 +98,12 @@ private void OnCommandWS(CCSPlayerController? player, CommandInfo command) player!.Print(Localizer["wp_info_agent"]); } + if (Config.Additional.MusicEnabled) + if (!string.IsNullOrEmpty(Localizer["wp_info_music"])) + { + player!.Print(Localizer["wp_info_music"]); + } + if (Config.Additional.KnifeEnabled) if (!string.IsNullOrEmpty(Localizer["wp_info_knife"])) { @@ -562,5 +572,128 @@ private void SetupAgentsMenu() } }); } + + private void SetupMusicMenu() + { + var musicSelectionMenu = new ChatMenu(Localizer["wp_music_menu_title"]); + musicSelectionMenu.PostSelectAction = PostSelectAction.Close; + + var handleMusicSelection = (CCSPlayerController? player, ChatMenuOption option) => + { + if (!Utility.IsPlayerValid(player) || player is null) return; + + string selectedPaintName = option.Text; + + var selectedMusic = musicList.FirstOrDefault(g => g.ContainsKey("name") && g["name"]?.ToString() == selectedPaintName); + if (selectedMusic != null) + { + if ( + selectedMusic != null && + selectedMusic.ContainsKey("id") && + selectedMusic.ContainsKey("name") && + int.TryParse(selectedMusic["id"]?.ToString(), out int paint) + ) + { + if (Config.Additional.ShowSkinImage) + { + string image = selectedMusic["image"]?.ToString() ?? ""; + PlayerWeaponImage[player.Slot] = image; + AddTimer(2.0f, () => PlayerWeaponImage.Remove(player.Slot), CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE); + } + + PlayerInfo playerInfo = new PlayerInfo + { + UserId = player.UserId, + Slot = player.Slot, + Index = (int)player.Index, + SteamId = player.SteamID.ToString(), + Name = player.PlayerName, + IpAddress = player.IpAddress?.Split(":")[0] + }; + + if (paint != 0) + { + g_playersMusic[player.Slot] = (ushort)paint; + } + else + { + g_playersMusic[player.Slot] = 0; + } + + if (!string.IsNullOrEmpty(Localizer["wp_music_menu_select"])) + { + player!.Print(Localizer["wp_music_menu_select", selectedPaintName]); + } + + if (weaponSync != null) + { + _ = Task.Run(async () => + { + await weaponSync.SyncMusicToDatabase(playerInfo, (ushort)paint); + }); + } + + //RefreshGloves(player); + } + } + else + { + PlayerInfo playerInfo = new PlayerInfo + { + UserId = player.UserId, + Slot = player.Slot, + Index = (int)player.Index, + SteamId = player.SteamID.ToString(), + Name = player.PlayerName, + IpAddress = player.IpAddress?.Split(":")[0] + }; + + g_playersMusic[player.Slot] = 0; + + if (!string.IsNullOrEmpty(Localizer["wp_music_menu_select"])) + { + player!.Print(Localizer["wp_music_menu_select", Localizer["None"]]); + } + + if (weaponSync != null) + { + _ = Task.Run(async () => + { + await weaponSync.SyncMusicToDatabase(playerInfo, 0); + }); + } + } + }; + + musicSelectionMenu.AddMenuOption(Localizer["None"], handleMusicSelection); + // Add weapon options to the weapon selection menu + foreach (var musicObject in musicList) + { + string paintName = musicObject["name"]?.ToString() ?? ""; + + if (paintName.Length > 0) + musicSelectionMenu.AddMenuOption(paintName, handleMusicSelection); + } + + // Command to open the weapon selection menu for players + AddCommand($"css_{Config.Additional.CommandMusic}", "Music selection menu", (player, info) => + { + if (!Utility.IsPlayerValid(player) || !g_bCommandsAllowed) return; + + if (player == null || player.UserId == null) return; + + if (player != null && !commandsCooldown.TryGetValue(player.Slot, out DateTime cooldownEndTime) || + player != null && DateTime.UtcNow >= (commandsCooldown.TryGetValue(player.Slot, out cooldownEndTime) ? cooldownEndTime : DateTime.UtcNow)) + { + commandsCooldown[player.Slot] = DateTime.UtcNow.AddSeconds(Config.CmdRefreshCooldownSeconds); + MenuManager.OpenChatMenu(player, musicSelectionMenu); + return; + } + if (!string.IsNullOrEmpty(Localizer["wp_command_cooldown"])) + { + player!.Print(Localizer["wp_command_cooldown"]); + } + }); + } } } \ No newline at end of file diff --git a/Config.cs b/Config.cs index 537fd616..bbb988a4 100644 --- a/Config.cs +++ b/Config.cs @@ -11,6 +11,9 @@ public class Additional [JsonPropertyName("GloveEnabled")] public bool GloveEnabled { get; set; } = true; + [JsonPropertyName("MusicEnabled")] + public bool MusicEnabled { get; set; } = true; + [JsonPropertyName("AgentEnabled")] public bool AgentEnabled { get; set; } = true; @@ -26,6 +29,9 @@ public class Additional [JsonPropertyName("CommandKnife")] public string CommandKnife { get; set; } = "knife"; + [JsonPropertyName("CommandMusic")] + public string CommandMusic { get; set; } = "music"; + [JsonPropertyName("CommandGlove")] public string CommandGlove { get; set; } = "gloves"; diff --git a/Events.cs b/Events.cs index 8678a2b4..d270853f 100644 --- a/Events.cs +++ b/Events.cs @@ -43,6 +43,10 @@ public HookResult OnClientFullConnect(EventPlayerConnectFull @event, GameEventIn { _ = Task.Run(async () => await weaponSync.GetAgentFromDatabase(playerInfo)); } + if (Config.Additional.MusicEnabled) + { + _ = Task.Run(async () => await weaponSync.GetMusicFromDatabase(playerInfo)); + } } catch (Exception) { @@ -85,6 +89,10 @@ public HookResult OnPlayerDisconnect(EventPlayerDisconnect @event, GameEventInfo { g_playersAgent.TryRemove(player.Slot, out _); } + if (Config.Additional.MusicEnabled) + { + g_playersMusic.TryRemove(player.Slot, out _); + } commandsCooldown.Remove(player.Slot); @@ -204,6 +212,7 @@ private HookResult OnPlayerSpawn(EventPlayerSpawn @event, GameEventInfo info) g_knifePickupCount[player.Slot] = 0; + GivePlayerMusicKit(player); GivePlayerAgent(player); Server.NextFrame(() => { @@ -259,12 +268,14 @@ public void OnEntityCreated(CEntityInstance entity) var weapon = new CBasePlayerWeapon(entity.Handle); if (weapon == null || !weapon.IsValid || weapon.OwnerEntity.Value == null) return; - SteamID? _steamid = (SteamID)weapon.OriginalOwnerXuidLow; - CCSWeaponBaseGun gun = weapon.As(); - CCSPlayerController? player = null; - try { + SteamID? _steamid = null; + + if (weapon.OriginalOwnerXuidLow > 0) + _steamid = new(weapon.OriginalOwnerXuidLow); + + CCSPlayerController? player = null; if (_steamid != null && _steamid.IsValid()) { @@ -274,18 +285,20 @@ public void OnEntityCreated(CEntityInstance entity) player = Utilities.GetPlayerFromSteamId(weapon.OriginalOwnerXuidLow); } else + { + CCSWeaponBaseGun gun = weapon.As(); player = Utilities.GetPlayerFromIndex((int)weapon.OwnerEntity.Index) ?? Utilities.GetPlayerFromIndex((int)gun.OwnerEntity.Value!.Index); + } - if (player == null || string.IsNullOrEmpty(player?.PlayerName)) return; + if (string.IsNullOrEmpty(player?.PlayerName)) return; + if (player is null || !Utility.IsPlayerValid(player)) return; + + GivePlayerWeaponSkin(player, weapon); } catch (Exception) { return; } - - if (player is null || !player.IsValid || !Utility.IsPlayerValid(player)) return; - - GivePlayerWeaponSkin(player, weapon); }); } } diff --git a/Utility.cs b/Utility.cs index f700c2a9..8bd8b0d1 100644 --- a/Utility.cs +++ b/Utility.cs @@ -60,12 +60,17 @@ internal static async Task CheckDatabaseTables() `weapon_defindex` int(11) NOT NULL, UNIQUE (`steamid`) ) ENGINE=InnoDB", - @"CREATE TABLE `wp_player_agents` ( + @"CREATE TABLE IF NOT EXISTS `wp_player_agents` ( `steamid` varchar(18) NOT NULL, `agent_ct` varchar(64) DEFAULT NULL, `agent_t` varchar(64) DEFAULT NULL, - UNIQUE KEY `steamid` (`steamid`) - ) ENGINE=InnoDB" + UNIQUE (`steamid`) + ) ENGINE=InnoDB", + @"CREATE TABLE IF NOT EXISTS `wp_player_music` ( + `steamid` varchar(64) NOT NULL, + `music_id` int(11) NOT NULL, + UNIQUE (`steamid`) + ) ENGINE=InnoDB", }; foreach (var query in createTableQueries) @@ -136,6 +141,20 @@ internal static void LoadAgentsFromFile(string filePath) } } + internal static void LoadMusicFromFile(string filePath) + { + try + { + string json = File.ReadAllText(filePath); + var deserializedSkins = JsonConvert.DeserializeObject>(json); + WeaponPaints.musicList = deserializedSkins ?? new List(); + } + catch (FileNotFoundException) + { + throw; + } + } + internal static void Log(string message) { Console.BackgroundColor = ConsoleColor.DarkGray; diff --git a/VERSION b/VERSION index dc7cbd5e..c3b75c88 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2e \ No newline at end of file +2.3a \ No newline at end of file diff --git a/WeaponAction.cs b/WeaponAction.cs index 12deedef..3b968b92 100644 --- a/WeaponAction.cs +++ b/WeaponAction.cs @@ -320,6 +320,16 @@ public static void GivePlayerAgent(CCSPlayerController player) } } + public static void GivePlayerMusicKit(CCSPlayerController player) + { + if (!g_playersMusic.ContainsKey(player.Slot)) return; + if (player.InventoryServices == null) return; + + Console.WriteLine(g_playersMusic[player.Slot]); + + player.InventoryServices.MusicID = g_playersMusic[player.Slot]; + } + public static CCSPlayerController? GetPlayerFromItemServices(CCSPlayer_ItemServices itemServices) { var pawn = itemServices.Pawn.Value; diff --git a/WeaponPaints.cs b/WeaponPaints.cs index d21a2f7e..19bd3949 100644 --- a/WeaponPaints.cs +++ b/WeaponPaints.cs @@ -80,11 +80,13 @@ public partial class WeaponPaints : BasePlugin, IPluginConfig g_knifePickupCount = new Dictionary(); internal static ConcurrentDictionary g_playersKnife = new ConcurrentDictionary(); internal static ConcurrentDictionary g_playersGlove = new ConcurrentDictionary(); + internal static ConcurrentDictionary g_playersMusic = new ConcurrentDictionary(); internal static ConcurrentDictionary g_playersAgent = new ConcurrentDictionary(); internal static ConcurrentDictionary> gPlayerWeaponsInfo = new ConcurrentDictionary>(); internal static List skinsList = new List(); internal static List glovesList = new List(); internal static List agentsList = new List(); + internal static List musicList = new List(); internal static WeaponSynchronization? weaponSync; public static bool g_bCommandsAllowed = true; internal Dictionary PlayerWeaponImage = new(); @@ -158,7 +160,7 @@ public partial class WeaponPaints : BasePlugin, IPluginConfig "Nereziel & daffyy"; public override string ModuleDescription => "Skin, gloves, agents and knife selector, standalone and web-based"; public override string ModuleName => "WeaponPaints"; - public override string ModuleVersion => "2.2e"; + public override string ModuleVersion => "2.3a"; public static WeaponPaintsConfig GetWeaponPaintsConfig() { @@ -211,12 +213,17 @@ public override void Load(bool hotReload) { _ = Task.Run(async () => await weaponSync.GetAgentFromDatabase(playerInfo)); } + if (Config.Additional.MusicEnabled) + { + _ = Task.Run(async () => await weaponSync.GetMusicFromDatabase(playerInfo)); + } } } Utility.LoadSkinsFromFile(ModuleDirectory + "/skins.json"); Utility.LoadGlovesFromFile(ModuleDirectory + "/gloves.json"); Utility.LoadAgentsFromFile(ModuleDirectory + "/agents.json"); + Utility.LoadMusicFromFile(ModuleDirectory + "/music.json"); if (Config.Additional.KnifeEnabled) SetupKnifeMenu(); @@ -226,6 +233,8 @@ public override void Load(bool hotReload) SetupGlovesMenu(); if (Config.Additional.AgentEnabled) SetupAgentsMenu(); + if (Config.Additional.MusicEnabled) + SetupMusicMenu(); RegisterListeners(); RegisterCommands(); diff --git a/WeaponSynchronization.cs b/WeaponSynchronization.cs index 27ec172f..eb9e3f6b 100644 --- a/WeaponSynchronization.cs +++ b/WeaponSynchronization.cs @@ -133,6 +133,28 @@ internal async Task GetWeaponPaintsFromDatabase(PlayerInfo player) } } + internal async Task GetMusicFromDatabase(PlayerInfo player) + { + try + { + if (!_config.Additional.MusicEnabled || string.IsNullOrEmpty(player.SteamId)) + return; + + await using var connection = await _database.GetConnectionAsync(); + string query = "SELECT `music_id` FROM `wp_player_music` WHERE `steamid` = @steamid"; + ushort? musicData = await connection.QueryFirstOrDefaultAsync(query, new { steamid = player.SteamId }); + + if (musicData != null) + { + WeaponPaints.g_playersMusic[player.Slot] = musicData.Value; + } + } + catch (Exception ex) + { + Utility.Log($"An error occurred in GetMusicFromDatabase: {ex.Message}"); + } + } + internal async Task SyncKnifeToDatabase(PlayerInfo player, string knife) { if (!_config.Additional.KnifeEnabled || player == null || string.IsNullOrEmpty(player.SteamId) || string.IsNullOrEmpty(knife)) return; @@ -231,5 +253,21 @@ internal async Task SyncWeaponPaintsToDatabase(PlayerInfo player) Utility.Log($"Error syncing weapon paints to database: {e.Message}"); } } + + internal async Task SyncMusicToDatabase(PlayerInfo player, ushort music) + { + if (!_config.Additional.MusicEnabled || player == null || string.IsNullOrEmpty(player.SteamId)) return; + + try + { + await using var connection = await _database.GetConnectionAsync(); + string query = "INSERT INTO `wp_player_music` (`steamid`, `music_id`) VALUES(@steamid, @newMusic) ON DUPLICATE KEY UPDATE `music_id` = @newMusic"; + await connection.ExecuteAsync(query, new { steamid = player.SteamId, newMusic = music }); + } + catch (Exception e) + { + Utility.Log($"Error syncing music kit to database: {e.Message}"); + } + } } } \ No newline at end of file diff --git a/lang/en.json b/lang/en.json index 34eebeba..b0f91dd9 100644 --- a/lang/en.json +++ b/lang/en.json @@ -5,6 +5,7 @@ "wp_info_knife": "Type {lime}!knife{default} to open knife menu", "wp_info_glove": "Type {lime}!gloves{default} to open gloves menu", "wp_info_agent": "Type {lime}!agents{default} to open agents menu", + "wp_info_music": "Type {lime}!music{default} to open music menu", "wp_command_cooldown": "{lightred}You can't refresh weapon paints right now", "wp_command_refresh_done": "{lime}Refreshing weapon paints", "wp_knife_menu_select": "You have chosen {lime}{0}{default} as your knife", @@ -14,6 +15,8 @@ "wp_glove_menu_title": "Gloves Menu", "wp_agent_menu_select": "You have chosen {lime}{0}{default} as your agent", "wp_agent_menu_title": "Agents Menu", + "wp_music_menu_title": "Music Menu", + "wp_music_menu_select": "You have chosen {lime}{0}{default} as your music kit", "wp_skin_menu_weapon_title": "Weapon Menu", "wp_skin_menu_skin_title": "Select skin for {lime}{0}{default}", "wp_skin_menu_select": "You have chosen {lime}{0}{default} as your skin", diff --git a/lang/lv.json b/lang/lv.json index 96fbeeca..7daeeea7 100644 --- a/lang/lv.json +++ b/lang/lv.json @@ -1,21 +1,24 @@ { "wp_prefix": "{lightblue}[WeaponPaints] {default}", - "wp_info_website": "Apmeklējiet {lime}{0}{default}, kur varat mainīt ādas", + "wp_info_website": "Apmeklē {lime}{0}{default}, kur varat mainīt ādas", "wp_info_refresh": "Ievadiet {lime}!wp{default}, lai sinhronizētu izvēlētās ādas", "wp_info_knife": "Ievadiet {lime}!knife{default}, lai atvērtu nazis izvēlni", "wp_info_glove": "Ievadiet {lime}!gloves{default}, lai atvērtu cimdi izvēlni", - "wp_info_agent": "Ierakstiet {lime}!agents{default}, lai atvērtu aģentu izvēlni", - "wp_command_cooldown": "{lightred}Šobrīd jūs nevarat atjaunot ieroču ādas", - "wp_command_refresh_done": "{lime}Atjauno ieroču ādas", + "wp_info_agent": "Ievadiet {lime}!agents{default}, lai atvērtu aģentu izvēlni", + "wp_info_music": "Ievadiet {lime}!music{default}, lai atvērtu mūzikas izvēlni", + "wp_command_cooldown": "{lightred}Šobrīd nevarat atsvaidzināt ieroča krāsas", + "wp_command_refresh_done": "{lime}Atsvaidzinot ieroča krāsas", "wp_knife_menu_select": "Jūs esat izvēlējies {lime}{0}{default} kā savu nazi", "wp_knife_menu_kill": "", - "wp_knife_menu_title": "Nazis Izvēlne", - "wp_glove_menu_select": "Jūs esat izvēlējies {lime}{0}{default} kā savus cimdus", + "wp_knife_menu_title": "Nazi Izvēlne", + "wp_glove_menu_select": "Jūs esat izvēlējies {lime}{0}{default} kā savu cimdu", "wp_glove_menu_title": "Cimdu Izvēlne", - "wp_agent_menu_select": "Jūs esat izvēlējušies {lime}{0}{default} kā savu aģentu", - "wp_agent_menu_title": "Aģentu izvēlnes", + "wp_agent_menu_select": "Jūs esat izvēlējies {lime}{0}{default} kā savu aģentu", + "wp_agent_menu_title": "Aģentu Izvēlne", + "wp_music_menu_title": "Mūzikas Izvēlne", + "wp_music_menu_select": "Jūs esat izvēlējies {lime}{0}{default} kā savu mūzikas komplektu", "wp_skin_menu_weapon_title": "Ieroču Izvēlne", - "wp_skin_menu_skin_title": "Izvēlieties ādu {lime}{0}{default}", + "wp_skin_menu_skin_title": "Izvēlieties ādu priekš {lime}{0}{default}", "wp_skin_menu_select": "Jūs esat izvēlējies {lime}{0}{default} kā savu ādu", "None": "Nav" diff --git a/lang/pl.json b/lang/pl.json index cd3ff681..22e2f55a 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -3,17 +3,20 @@ "wp_info_website": "Odwiedź {lime}{0}{default}, gdzie możesz zmieniać skórki", "wp_info_refresh": "Wpisz {lime}!wp{default}, aby zsynchronizować wybrane skórki", "wp_info_knife": "Wpisz {lime}!knife{default}, aby otworzyć menu noży", - "wp_info_glove": "Wpisz {lime}!gloves{default}, aby otworzyć menu rękawiczek", + "wp_info_glove": "Wpisz {lime}!gloves{default}, aby otworzyć menu rękawic", "wp_info_agent": "Wpisz {lime}!agents{default}, aby otworzyć menu agentów", - "wp_command_cooldown": "{lightred}Nie możesz teraz odświeżyć skórek broni", - "wp_command_refresh_done": "{lime}Odświeżanie skórek broni", + "wp_info_music": "Wpisz {lime}!music{default}, aby otworzyć menu muzyczne", + "wp_command_cooldown": "{lightred}Nie możesz teraz odświeżyć kolorów broni", + "wp_command_refresh_done": "{lime}Odświeżanie kolorów broni", "wp_knife_menu_select": "Wybrałeś {lime}{0}{default} jako swój nóż", - "wp_knife_menu_kill": "{lime}Wybrane skiny będą ustawione dopiero po ponownym wejściu na serwer lub wpisaniu komendy {orange}!kill", + "wp_knife_menu_kill": "", "wp_knife_menu_title": "Menu Noży", - "wp_glove_menu_select": "Wybrałeś {lime}{0}{default} jako swoje rękawiczki", + "wp_glove_menu_select": "Wybrałeś {lime}{0}{default} jako swoją rękawiczkę", "wp_glove_menu_title": "Menu Rękawiczek", "wp_agent_menu_select": "Wybrałeś {lime}{0}{default} jako swojego agenta", - "wp_agent_menu_title": "Menu agentów", + "wp_agent_menu_title": "Menu Agentów", + "wp_music_menu_title": "Menu Muzyczne", + "wp_music_menu_select": "Wybrałeś {lime}{0}{default} jako swój zestaw muzyczny", "wp_skin_menu_weapon_title": "Menu Broni", "wp_skin_menu_skin_title": "Wybierz skórkę dla {lime}{0}{default}", "wp_skin_menu_select": "Wybrałeś {lime}{0}{default} jako swoją skórkę", diff --git a/lang/pt-BR.json b/lang/pt-BR.json index 98926304..f7921f8c 100644 --- a/lang/pt-BR.json +++ b/lang/pt-BR.json @@ -1,21 +1,24 @@ { "wp_prefix": "{lightblue}[WeaponPaints] {default}", - "wp_info_website": "Visite {lime}{0}{default}, onde você pode alterar skins", - "wp_info_refresh": "Digite {lime}!wp{default} para sincronizar as skins selecionadas", + "wp_info_website": "Visite {lime}{0}{default}, onde você pode alterar as skins", + "wp_info_refresh": "Digite {lime}!wp{default} para sincronizar as skins escolhidas", "wp_info_knife": "Digite {lime}!knife{default} para abrir o menu de facas", "wp_info_glove": "Digite {lime}!gloves{default} para abrir o menu de luvas", "wp_info_agent": "Digite {lime}!agents{default} para abrir o menu de agentes", - "wp_command_cooldown": "{lightred}Você não pode atualizar as skins de arma agora", - "wp_command_refresh_done": "{lime}Atualizando as skins de arma", + "wp_info_music": "Digite {lime}!music{default} para abrir o menu de música", + "wp_command_cooldown": "{lightred}Você não pode atualizar as skins de armas agora", + "wp_command_refresh_done": "{lime}Atualizando as skins de armas", "wp_knife_menu_select": "Você escolheu {lime}{0}{default} como sua faca", "wp_knife_menu_kill": "", "wp_knife_menu_title": "Menu de Facas", - "wp_glove_menu_select": "Você escolheu {lime}{0}{default} como suas luvas", + "wp_glove_menu_select": "Você escolheu {lime}{0}{default} como sua luva", "wp_glove_menu_title": "Menu de Luvas", "wp_agent_menu_select": "Você escolheu {lime}{0}{default} como seu agente", "wp_agent_menu_title": "Menu de Agentes", + "wp_music_menu_title": "Menu de Música", + "wp_music_menu_select": "Você escolheu {lime}{0}{default} como seu kit de música", "wp_skin_menu_weapon_title": "Menu de Armas", - "wp_skin_menu_skin_title": "Selecione uma skin para {lime}{0}{default}", + "wp_skin_menu_skin_title": "Selecione a skin para {lime}{0}{default}", "wp_skin_menu_select": "Você escolheu {lime}{0}{default} como sua skin", "None": "Nenhum" diff --git a/lang/pt-PT.json b/lang/pt-PT.json index fa32a676..36f32e1c 100644 --- a/lang/pt-PT.json +++ b/lang/pt-PT.json @@ -1,22 +1,25 @@ { "wp_prefix": "{lightblue}[WeaponPaints] {default}", - "wp_info_website": "Visite {lime}{0}{default}, onde pode alterar skins", - "wp_info_refresh": "Digite {lime}!wp{default} para sincronizar as skins selecionadas", + "wp_info_website": "Visite {lime}{0}{default}, onde pode alterar as skins", + "wp_info_refresh": "Digite {lime}!wp{default} para sincronizar as skins escolhidas", "wp_info_knife": "Digite {lime}!knife{default} para abrir o menu de facas", "wp_info_glove": "Digite {lime}!gloves{default} para abrir o menu de luvas", "wp_info_agent": "Digite {lime}!agents{default} para abrir o menu de agentes", - "wp_command_cooldown": "{lightred}Você não pode atualizar as skins de arma agora", - "wp_command_refresh_done": "{lime}Atualizando as skins de arma", - "wp_knife_menu_select": "Você escolheu {lime}{0}{default} como sua faca", + "wp_info_music": "Digite {lime}!music{default} para abrir o menu de música", + "wp_command_cooldown": "{lightred}Não pode atualizar as skins de armas de momento", + "wp_command_refresh_done": "{lime}Atualizando as skins de armas", + "wp_knife_menu_select": "Escolheu {lime}{0}{default} como a sua faca", "wp_knife_menu_kill": "", "wp_knife_menu_title": "Menu de Facas", - "wp_glove_menu_select": "Você escolheu {lime}{0}{default} como suas luvas", + "wp_glove_menu_select": "Escolheu {lime}{0}{default} como a sua luva", "wp_glove_menu_title": "Menu de Luvas", - "wp_agent_menu_select": "Escolheste {lime}{0}{default} como teu agente", + "wp_agent_menu_select": "Escolheu {lime}{0}{default} como o seu agente", "wp_agent_menu_title": "Menu de Agentes", + "wp_music_menu_title": "Menu de Música", + "wp_music_menu_select": "Escolheu {lime}{0}{default} como o seu kit de música", "wp_skin_menu_weapon_title": "Menu de Armas", - "wp_skin_menu_skin_title": "Selecione uma skin para {lime}{0}{default}", - "wp_skin_menu_select": "Você escolheu {lime}{0}{default} como sua skin", + "wp_skin_menu_skin_title": "Selecione a skin para {lime}{0}{default}", + "wp_skin_menu_select": "Escolheu {lime}{0}{default} como a sua skin", "None": "Nenhum" } \ No newline at end of file diff --git a/lang/ru.json b/lang/ru.json index d2f91a71..034f60a5 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -5,15 +5,18 @@ "wp_info_knife": "Введите {lime}!knife{default}, чтобы открыть меню ножей", "wp_info_glove": "Введите {lime}!gloves{default}, чтобы открыть меню перчаток", "wp_info_agent": "Введите {lime}!agents{default}, чтобы открыть меню агентов", - "wp_command_cooldown": "{lightred}Вы не можете обновить скины оружия сейчас", - "wp_command_refresh_done": "{lime}Обновление скинов оружия", + "wp_info_music": "Введите {lime}!music{default}, чтобы открыть меню музыки", + "wp_command_cooldown": "{lightred}Вы не можете обновить раскраску оружия сейчас", + "wp_command_refresh_done": "{lime}Обновление раскраски оружия", "wp_knife_menu_select": "Вы выбрали {lime}{0}{default} в качестве вашего ножа", "wp_knife_menu_kill": "", "wp_knife_menu_title": "Меню Ножей", "wp_glove_menu_select": "Вы выбрали {lime}{0}{default} в качестве ваших перчаток", "wp_glove_menu_title": "Меню Перчаток", - "wp_agent_menu_select": "Вы выбрали {lime}{0}{default} в качестве своего агента", - "wp_agent_menu_title": "Меню агентов", + "wp_agent_menu_select": "Вы выбрали {lime}{0}{default} в качестве вашего агента", + "wp_agent_menu_title": "Меню Агентов", + "wp_music_menu_title": "Меню Музыки", + "wp_music_menu_select": "Вы выбрали {lime}{0}{default} в качестве вашего музыкального набора", "wp_skin_menu_weapon_title": "Меню Оружия", "wp_skin_menu_skin_title": "Выберите скин для {lime}{0}{default}", "wp_skin_menu_select": "Вы выбрали {lime}{0}{default} в качестве вашего скина", diff --git a/lang/tr.json b/lang/tr.json index b88be7c7..7f1737e1 100644 --- a/lang/tr.json +++ b/lang/tr.json @@ -1,22 +1,25 @@ { "wp_prefix": "{lightblue}[WeaponPaints] {default}", - "wp_info_website": "Ziyaret edin {lime}{0}{default}, burada skinleri değiştirebilirsiniz", - "wp_info_refresh": "Senkronize edilen skinleri görmek için {lime}!wp{default} yazın", + "wp_info_website": "Ziyaret edin {lime}{0}{default}, nerede derileri değiştirebilirsiniz", + "wp_info_refresh": "Senkronize etmek için {lime}!wp{default} yazın seçilen deriler", "wp_info_knife": "Bıçak menüsünü açmak için {lime}!knife{default} yazın", - "wp_info_glove": "Eldiven menüsünü açmak için {lime}!gloves{default} yazın", - "wp_info_agent": "Ajanlar menüsünü açmak için {lime}!agents{default} yazın", - "wp_command_cooldown": "{lightred}Şu anda silah skinlerini yenileyemezsiniz", - "wp_command_refresh_done": "{lime}Silah skinleri yenileniyor", + "wp_info_glove": "Handskar menüsünü açmak için {lime}!gloves{default} yazın", + "wp_info_agent": "Ajan menüsünü açmak için {lime}!agents{default} yazın", + "wp_info_music": "Müzik menüsünü açmak için {lime}!music{default} yazın", + "wp_command_cooldown": "{lightred}Şu anda silah boyalarını yenileyemezsiniz", + "wp_command_refresh_done": "{lime}Silah boyaları yenileniyor", "wp_knife_menu_select": "{lime}{0}{default} olarak bıçağınızı seçtiniz", "wp_knife_menu_kill": "", "wp_knife_menu_title": "Bıçak Menüsü", "wp_glove_menu_select": "{lime}{0}{default} olarak eldiveninizi seçtiniz", "wp_glove_menu_title": "Eldiven Menüsü", - "wp_agent_menu_select": "Ajanınız olarak {lime}{0}{default} seçtiniz", - "wp_agent_menu_title": "Ajan Menüsü", + "wp_agent_menu_select": "{lime}{0}{default} olarak ajanınızı seçtiniz", + "wp_agent_menu_title": "Ajanlar Menüsü", + "wp_music_menu_title": "Müzik Menüsü", + "wp_music_menu_select": "{lime}{0}{default} olarak müzik setinizi seçtiniz", "wp_skin_menu_weapon_title": "Silah Menüsü", - "wp_skin_menu_skin_title": "{lime}{0}{default} için bir skin seçin", - "wp_skin_menu_select": "{lime}{0}{default} olarak bir skin seçtiniz", + "wp_skin_menu_skin_title": "{lime}{0}{default} için cilt seçin", + "wp_skin_menu_select": "{lime}{0}{default} olarak cildinizi seçtiniz", "None": "Hiçbiri" } \ No newline at end of file diff --git a/lang/ua.json b/lang/ua.json index 5c5f4f51..17367faa 100644 --- a/lang/ua.json +++ b/lang/ua.json @@ -4,19 +4,22 @@ "wp_info_refresh": "Введіть {lime}!wp{default}, щоб синхронізувати обрані шкури", "wp_info_knife": "Введіть {lime}!knife{default}, щоб відкрити меню ножів", "wp_info_glove": "Введіть {lime}!gloves{default}, щоб відкрити меню рукавичок", - "wp_info_agent": "Введіть {lime}!агенти{default}, щоб відкрити меню агентів", - "wp_command_cooldown": "{lightred}Наразі ви не можете оновлювати шкіри зброї", - "wp_command_refresh_done": "{lime}Оновлення шкірок зброї", - "wp_knife_menu_select": "Ви вибрали {lime}{0}{default} як ваш ніж", + "wp_info_agent": "Введіть {lime}!agents{default}, щоб відкрити меню агентів", + "wp_info_music": "Введіть {lime}!music{default}, щоб відкрити меню музики", + "wp_command_cooldown": "{lightred}Ви не можете оновити фарби зброї зараз", + "wp_command_refresh_done": "{lime}Оновлення фарби зброї", + "wp_knife_menu_select": "Ви обрали {lime}{0}{default} як свій ніж", "wp_knife_menu_kill": "", "wp_knife_menu_title": "Меню Ножів", - "wp_glove_menu_select": "Ви вибрали {lime}{0}{default} як ваші рукавички", + "wp_glove_menu_select": "Ви обрали {lime}{0}{default} як свої рукавички", "wp_glove_menu_title": "Меню Рукавичок", - "wp_agent_menu_select": "Ви обрали {lime}{0}{default} як вашого агента", - "wp_agent_menu_title": "Меню агентів", + "wp_agent_menu_select": "Ви обрали {lime}{0}{default} як свого агента", + "wp_agent_menu_title": "Меню Агентів", + "wp_music_menu_title": "Меню Музики", + "wp_music_menu_select": "Ви обрали {lime}{0}{default} як свій набір музики", "wp_skin_menu_weapon_title": "Меню Зброї", "wp_skin_menu_skin_title": "Виберіть шкіру для {lime}{0}{default}", - "wp_skin_menu_select": "Ви вибрали {lime}{0}{default} як вашу шкіру", + "wp_skin_menu_select": "Ви обрали {lime}{0}{default} як свою шкіру", "None": "Немає" } \ No newline at end of file diff --git a/lang/zh-cn.json b/lang/zh-cn.json index dd6ce336..4b3dc5f8 100644 --- a/lang/zh-cn.json +++ b/lang/zh-cn.json @@ -1,22 +1,25 @@ { "wp_prefix": "{lightblue}[WeaponPaints] {default}", "wp_info_website": "访问 {lime}{0}{default},您可以更改皮肤", - "wp_info_refresh": "输入 {lime}!wp{default} 同步已选择的皮肤", + "wp_info_refresh": "输入 {lime}!wp{default} 同步选择的皮肤", "wp_info_knife": "输入 {lime}!knife{default} 打开刀具菜单", "wp_info_glove": "输入 {lime}!gloves{default} 打开手套菜单", - "wp_info_agent": "键入 {lime}!agents{default} 打开代理菜单", - "wp_command_cooldown": "{lightred}您现在无法刷新武器皮肤", - "wp_command_refresh_done": "{lime}刷新武器皮肤", - "wp_knife_menu_select": "您已选择 {lime}{0}{default} 作为您的刀具", + "wp_info_agent": "输入 {lime}!agents{default} 打开代理菜单", + "wp_info_music": "输入 {lime}!music{default} 打开音乐菜单", + "wp_command_cooldown": "{lightred}您现在无法刷新武器涂装", + "wp_command_refresh_done": "{lime}正在刷新武器涂装", + "wp_knife_menu_select": "您选择了 {lime}{0}{default} 作为您的刀具", "wp_knife_menu_kill": "", "wp_knife_menu_title": "刀具菜单", - "wp_glove_menu_select": "您已选择 {lime}{0}{default} 作为您的手套", + "wp_glove_menu_select": "您选择了 {lime}{0}{default} 作为您的手套", "wp_glove_menu_title": "手套菜单", - "wp_agent_menu_select": "您选择了{lime}{0}{default}作为您的代理", + "wp_agent_menu_select": "您选择了 {lime}{0}{default} 作为您的代理", "wp_agent_menu_title": "代理菜单", + "wp_music_menu_title": "音乐菜单", + "wp_music_menu_select": "您选择了 {lime}{0}{default} 作为您的音乐包", "wp_skin_menu_weapon_title": "武器菜单", - "wp_skin_menu_skin_title": "为 {lime}{0}{default} 选择皮肤", - "wp_skin_menu_select": "您已选择 {lime}{0}{default} 作为您的皮肤", + "wp_skin_menu_skin_title": "选择 {lime}{0}{default} 的皮肤", + "wp_skin_menu_select": "您选择了 {lime}{0}{default} 作为您的皮肤", "None": "无" } \ No newline at end of file diff --git a/website/data/music.json b/website/data/music.json new file mode 100644 index 00000000..77c30c4d --- /dev/null +++ b/website/data/music.json @@ -0,0 +1,367 @@ +[ + { + "id": "3", + "name": "Music Kit | Daniel Sadowski, Crimson Assault", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-3.png" + }, + { + "id": "4", + "name": "Music Kit | Noisia, Sharpened", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-4.png" + }, + { + "id": "5", + "name": "Music Kit | Robert Allaire, Insurgency", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-5.png" + }, + { + "id": "6", + "name": "Music Kit | Sean Murray, A*D*8", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-6.png" + }, + { + "id": "7", + "name": "Music Kit | Feed Me, High Noon", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-7.png" + }, + { + "id": "8", + "name": "Music Kit | Dren, Death's Head Demolition", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-8.png" + }, + { + "id": "9", + "name": "Music Kit | Austin Wintory, Desert Fire", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-9.png" + }, + { + "id": "10", + "name": "Music Kit | Sasha, LNOE", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-10.png" + }, + { + "id": "11", + "name": "Music Kit | Skog, Metal", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-11.png" + }, + { + "id": "12", + "name": "Music Kit | Midnight Riders, All I Want for Christmas", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-12.png" + }, + { + "id": "13", + "name": "Music Kit | Matt Lange, IsoRhythm", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-13.png" + }, + { + "id": "14", + "name": "Music Kit | Mateo Messina, For No Mankind", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-14.png" + }, + { + "id": "15", + "name": "Music Kit | Various Artists, Hotline Miami", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-15.png" + }, + { + "id": "16", + "name": "Music Kit | Daniel Sadowski, Total Domination", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-16.png" + }, + { + "id": "17", + "name": "Music Kit | Damjan Mravunac, The Talos Principle", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-17.png" + }, + { + "id": "18", + "name": "Music Kit | Proxy, Battlepack", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-18.png" + }, + { + "id": "19", + "name": "Music Kit | Ki:Theory, MOLOTOV", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-19.png" + }, + { + "id": "20", + "name": "Music Kit | Troels Folmann, Uber Blasto Phone", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-20.png" + }, + { + "id": "21", + "name": "Music Kit | Kelly Bailey, Hazardous Environments", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-21.png" + }, + { + "id": "22", + "name": "Music Kit | Skog, II-Headshot", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-22.png" + }, + { + "id": "23", + "name": "Music Kit | Daniel Sadowski, The 8-Bit Kit", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-23.png" + }, + { + "id": "24", + "name": "Music Kit | AWOLNATION, I Am", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-24.png" + }, + { + "id": "25", + "name": "Music Kit | Mord Fustang, Diamonds", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-25.png" + }, + { + "id": "26", + "name": "Music Kit | Michael Bross, Invasion!", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-26.png" + }, + { + "id": "27", + "name": "Music Kit | Ian Hultquist, Lion's Mouth", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-27.png" + }, + { + "id": "28", + "name": "Music Kit | New Beat Fund, Sponge Fingerz", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-28.png" + }, + { + "id": "29", + "name": "Music Kit | Beartooth, Disgusting", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-29.png" + }, + { + "id": "30", + "name": "Music Kit | Lennie Moore, Java Havana Funkaloo", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-30.png" + }, + { + "id": "31", + "name": "Music Kit | Darude, Moments CS:GO", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-31.png" + }, + { + "id": "32", + "name": "Music Kit | Beartooth, Aggressive", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-32.png" + }, + { + "id": "33", + "name": "Music Kit | Blitz Kids, The Good Youth", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-33.png" + }, + { + "id": "34", + "name": "Music Kit | Hundredth, FREE", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-34.png" + }, + { + "id": "35", + "name": "Music Kit | Neck Deep, Life's Not Out To Get You", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-35.png" + }, + { + "id": "36", + "name": "Music Kit | Roam, Backbone", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-36.png" + }, + { + "id": "37", + "name": "Music Kit | Twin Atlantic, GLA", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-37.png" + }, + { + "id": "38", + "name": "Music Kit | Skog, III-Arena", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-38.png" + }, + { + "id": "39", + "name": "Music Kit | The Verkkars, EZ4ENCE", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-39.png" + }, + { + "id": "40", + "name": "Halo, The Master Chief Collection", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-40.png" + }, + { + "id": "41", + "name": "Music Kit | Scarlxrd: King, Scar", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-41.png" + }, + { + "id": "42", + "name": "Half-Life: Alyx, Anti-Citizen", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-42.png" + }, + { + "id": "43", + "name": "Music Kit | Austin Wintory, Bachram", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-43.png" + }, + { + "id": "44", + "name": "Music Kit | Dren, Gunman Taco Truck", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-44.png" + }, + { + "id": "45", + "name": "Music Kit | Daniel Sadowski, Eye of the Dragon", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-45.png" + }, + { + "id": "46", + "name": "Music Kit | Tree Adams and Ben Bromfield, M.U.D.D. FORCE", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-46.png" + }, + { + "id": "47", + "name": "Music Kit | Tim Huling, Neo Noir", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-47.png" + }, + { + "id": "48", + "name": "Music Kit | Sam Marshall, Bodacious", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-48.png" + }, + { + "id": "49", + "name": "Music Kit | Matt Levine, Drifter", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-49.png" + }, + { + "id": "50", + "name": "Music Kit | Amon Tobin, All for Dust", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-50.png" + }, + { + "id": "51", + "name": "Darren Korb, Hades Music Kit", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-51.png" + }, + { + "id": "52", + "name": "Music Kit | Neck Deep, The Lowlife Pack", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-52.png" + }, + { + "id": "53", + "name": "Music Kit | Scarlxrd, CHAIN$AW.LXADXUT.", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-53.png" + }, + { + "id": "54", + "name": "Music Kit | Austin Wintory, Mocha Petal", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-54.png" + }, + { + "id": "55", + "name": "Music Kit | Chipzel, ~Yellow Magic~", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-55.png" + }, + { + "id": "56", + "name": "Music Kit | Freaky DNA, Vici", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-56.png" + }, + { + "id": "57", + "name": "Music Kit | Jesse Harlin, Astro Bellum", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-57.png" + }, + { + "id": "58", + "name": "Music Kit | Laura Shigihara: Work Hard, Play Hard", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-58.png" + }, + { + "id": "59", + "name": "Music Kit | Sarah Schachner, KOLIBRI", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-59.png" + }, + { + "id": "60", + "name": "Music Kit | bbno$, u mad!", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-60.png" + }, + { + "id": "61", + "name": "Music Kit | The Verkkars & n0thing, Flashbang Dance", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-61.png" + }, + { + "id": "62", + "name": "Music Kit | 3kliksphilip, Heading for the Source", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-62.png" + }, + { + "id": "63", + "name": "Music Kit | Humanity's Last Breath, Void", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-63.png" + }, + { + "id": "64", + "name": "Music Kit | Juelz, Shooters", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-64.png" + }, + { + "id": "65", + "name": "Music Kit | Knock2, dashstar*", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-65.png" + }, + { + "id": "66", + "name": "Music Kit | Meechy Darko, Gothic Luxury", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-66.png" + }, + { + "id": "67", + "name": "Music Kit | Sullivan King, Lock Me Up", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-67.png" + }, + { + "id": "68", + "name": "Music Kit | Perfect World, 花脸 Hua Lian (Painted Face)", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-68.png" + }, + { + "id": "69", + "name": "Music Kit | Denzel Curry, ULTIMATE", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-69.png" + }, + { + "id": "71", + "name": "Music Kit | DRYDEN, Feel The Power", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-71.png" + }, + { + "id": "72", + "name": "Music Kit | ISOxo, inhuman", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-72.png" + }, + { + "id": "73", + "name": "Music Kit | KILL SCRIPT, All Night", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-73.png" + }, + { + "id": "74", + "name": "Music Kit | Knock2, Make U SWEAT!", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-74.png" + }, + { + "id": "75", + "name": "Music Kit | Rad Cat, Reason", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-75.png" + }, + { + "id": "76", + "name": "Music Kit | TWERL, Ekko & Sidetrack, Under Bright Lights", + "image": "https://raw.githubusercontent.com/daffyyyy/cs2-WeaponPaints/main/website/img/skins/music_kit-76.png" + } +] \ No newline at end of file diff --git a/website/img/skins/music_kit-10.png b/website/img/skins/music_kit-10.png new file mode 100644 index 00000000..956f3830 Binary files /dev/null and b/website/img/skins/music_kit-10.png differ diff --git a/website/img/skins/music_kit-11.png b/website/img/skins/music_kit-11.png new file mode 100644 index 00000000..05044985 Binary files /dev/null and b/website/img/skins/music_kit-11.png differ diff --git a/website/img/skins/music_kit-12.png b/website/img/skins/music_kit-12.png new file mode 100644 index 00000000..a44e9dbf Binary files /dev/null and b/website/img/skins/music_kit-12.png differ diff --git a/website/img/skins/music_kit-13.png b/website/img/skins/music_kit-13.png new file mode 100644 index 00000000..9a01ad9a Binary files /dev/null and b/website/img/skins/music_kit-13.png differ diff --git a/website/img/skins/music_kit-14.png b/website/img/skins/music_kit-14.png new file mode 100644 index 00000000..797ded53 Binary files /dev/null and b/website/img/skins/music_kit-14.png differ diff --git a/website/img/skins/music_kit-15.png b/website/img/skins/music_kit-15.png new file mode 100644 index 00000000..c4e06e5d Binary files /dev/null and b/website/img/skins/music_kit-15.png differ diff --git a/website/img/skins/music_kit-16.png b/website/img/skins/music_kit-16.png new file mode 100644 index 00000000..2fb0eb81 Binary files /dev/null and b/website/img/skins/music_kit-16.png differ diff --git a/website/img/skins/music_kit-17.png b/website/img/skins/music_kit-17.png new file mode 100644 index 00000000..10bb99d7 Binary files /dev/null and b/website/img/skins/music_kit-17.png differ diff --git a/website/img/skins/music_kit-18.png b/website/img/skins/music_kit-18.png new file mode 100644 index 00000000..27c68ce3 Binary files /dev/null and b/website/img/skins/music_kit-18.png differ diff --git a/website/img/skins/music_kit-19.png b/website/img/skins/music_kit-19.png new file mode 100644 index 00000000..86953d84 Binary files /dev/null and b/website/img/skins/music_kit-19.png differ diff --git a/website/img/skins/music_kit-20.png b/website/img/skins/music_kit-20.png new file mode 100644 index 00000000..d694b0ca Binary files /dev/null and b/website/img/skins/music_kit-20.png differ diff --git a/website/img/skins/music_kit-21.png b/website/img/skins/music_kit-21.png new file mode 100644 index 00000000..c92aabe5 Binary files /dev/null and b/website/img/skins/music_kit-21.png differ diff --git a/website/img/skins/music_kit-22.png b/website/img/skins/music_kit-22.png new file mode 100644 index 00000000..259c0343 Binary files /dev/null and b/website/img/skins/music_kit-22.png differ diff --git a/website/img/skins/music_kit-23.png b/website/img/skins/music_kit-23.png new file mode 100644 index 00000000..97c86e43 Binary files /dev/null and b/website/img/skins/music_kit-23.png differ diff --git a/website/img/skins/music_kit-24.png b/website/img/skins/music_kit-24.png new file mode 100644 index 00000000..cfb55243 Binary files /dev/null and b/website/img/skins/music_kit-24.png differ diff --git a/website/img/skins/music_kit-25.png b/website/img/skins/music_kit-25.png new file mode 100644 index 00000000..5ecb4438 Binary files /dev/null and b/website/img/skins/music_kit-25.png differ diff --git a/website/img/skins/music_kit-26.png b/website/img/skins/music_kit-26.png new file mode 100644 index 00000000..63161fcb Binary files /dev/null and b/website/img/skins/music_kit-26.png differ diff --git a/website/img/skins/music_kit-27.png b/website/img/skins/music_kit-27.png new file mode 100644 index 00000000..37d3531e Binary files /dev/null and b/website/img/skins/music_kit-27.png differ diff --git a/website/img/skins/music_kit-28.png b/website/img/skins/music_kit-28.png new file mode 100644 index 00000000..cb906fd0 Binary files /dev/null and b/website/img/skins/music_kit-28.png differ diff --git a/website/img/skins/music_kit-29.png b/website/img/skins/music_kit-29.png new file mode 100644 index 00000000..d4ad9478 Binary files /dev/null and b/website/img/skins/music_kit-29.png differ diff --git a/website/img/skins/music_kit-3.png b/website/img/skins/music_kit-3.png new file mode 100644 index 00000000..c6e6faa0 Binary files /dev/null and b/website/img/skins/music_kit-3.png differ diff --git a/website/img/skins/music_kit-30.png b/website/img/skins/music_kit-30.png new file mode 100644 index 00000000..3edbbbf6 Binary files /dev/null and b/website/img/skins/music_kit-30.png differ diff --git a/website/img/skins/music_kit-31.png b/website/img/skins/music_kit-31.png new file mode 100644 index 00000000..361524e4 Binary files /dev/null and b/website/img/skins/music_kit-31.png differ diff --git a/website/img/skins/music_kit-32.png b/website/img/skins/music_kit-32.png new file mode 100644 index 00000000..a229c4bc Binary files /dev/null and b/website/img/skins/music_kit-32.png differ diff --git a/website/img/skins/music_kit-33.png b/website/img/skins/music_kit-33.png new file mode 100644 index 00000000..9f19d4ec Binary files /dev/null and b/website/img/skins/music_kit-33.png differ diff --git a/website/img/skins/music_kit-34.png b/website/img/skins/music_kit-34.png new file mode 100644 index 00000000..306b1fd7 Binary files /dev/null and b/website/img/skins/music_kit-34.png differ diff --git a/website/img/skins/music_kit-35.png b/website/img/skins/music_kit-35.png new file mode 100644 index 00000000..452a2702 Binary files /dev/null and b/website/img/skins/music_kit-35.png differ diff --git a/website/img/skins/music_kit-36.png b/website/img/skins/music_kit-36.png new file mode 100644 index 00000000..4d982e12 Binary files /dev/null and b/website/img/skins/music_kit-36.png differ diff --git a/website/img/skins/music_kit-37.png b/website/img/skins/music_kit-37.png new file mode 100644 index 00000000..77d126ea Binary files /dev/null and b/website/img/skins/music_kit-37.png differ diff --git a/website/img/skins/music_kit-38.png b/website/img/skins/music_kit-38.png new file mode 100644 index 00000000..6aba0f3d Binary files /dev/null and b/website/img/skins/music_kit-38.png differ diff --git a/website/img/skins/music_kit-39.png b/website/img/skins/music_kit-39.png new file mode 100644 index 00000000..798db2e4 Binary files /dev/null and b/website/img/skins/music_kit-39.png differ diff --git a/website/img/skins/music_kit-4.png b/website/img/skins/music_kit-4.png new file mode 100644 index 00000000..7c1387e3 Binary files /dev/null and b/website/img/skins/music_kit-4.png differ diff --git a/website/img/skins/music_kit-40.png b/website/img/skins/music_kit-40.png new file mode 100644 index 00000000..d6e22947 Binary files /dev/null and b/website/img/skins/music_kit-40.png differ diff --git a/website/img/skins/music_kit-41.png b/website/img/skins/music_kit-41.png new file mode 100644 index 00000000..365740a0 Binary files /dev/null and b/website/img/skins/music_kit-41.png differ diff --git a/website/img/skins/music_kit-42.png b/website/img/skins/music_kit-42.png new file mode 100644 index 00000000..bfaa86ec Binary files /dev/null and b/website/img/skins/music_kit-42.png differ diff --git a/website/img/skins/music_kit-43.png b/website/img/skins/music_kit-43.png new file mode 100644 index 00000000..123b1a1f Binary files /dev/null and b/website/img/skins/music_kit-43.png differ diff --git a/website/img/skins/music_kit-44.png b/website/img/skins/music_kit-44.png new file mode 100644 index 00000000..f8635c11 Binary files /dev/null and b/website/img/skins/music_kit-44.png differ diff --git a/website/img/skins/music_kit-45.png b/website/img/skins/music_kit-45.png new file mode 100644 index 00000000..bad0ccef Binary files /dev/null and b/website/img/skins/music_kit-45.png differ diff --git a/website/img/skins/music_kit-46.png b/website/img/skins/music_kit-46.png new file mode 100644 index 00000000..514701ed Binary files /dev/null and b/website/img/skins/music_kit-46.png differ diff --git a/website/img/skins/music_kit-47.png b/website/img/skins/music_kit-47.png new file mode 100644 index 00000000..6a1e9a77 Binary files /dev/null and b/website/img/skins/music_kit-47.png differ diff --git a/website/img/skins/music_kit-48.png b/website/img/skins/music_kit-48.png new file mode 100644 index 00000000..f93912a9 Binary files /dev/null and b/website/img/skins/music_kit-48.png differ diff --git a/website/img/skins/music_kit-49.png b/website/img/skins/music_kit-49.png new file mode 100644 index 00000000..562c719c Binary files /dev/null and b/website/img/skins/music_kit-49.png differ diff --git a/website/img/skins/music_kit-5.png b/website/img/skins/music_kit-5.png new file mode 100644 index 00000000..2b97932b Binary files /dev/null and b/website/img/skins/music_kit-5.png differ diff --git a/website/img/skins/music_kit-50.png b/website/img/skins/music_kit-50.png new file mode 100644 index 00000000..8b6ac385 Binary files /dev/null and b/website/img/skins/music_kit-50.png differ diff --git a/website/img/skins/music_kit-51.png b/website/img/skins/music_kit-51.png new file mode 100644 index 00000000..c897b715 Binary files /dev/null and b/website/img/skins/music_kit-51.png differ diff --git a/website/img/skins/music_kit-52.png b/website/img/skins/music_kit-52.png new file mode 100644 index 00000000..172d0589 Binary files /dev/null and b/website/img/skins/music_kit-52.png differ diff --git a/website/img/skins/music_kit-53.png b/website/img/skins/music_kit-53.png new file mode 100644 index 00000000..6c9403c9 Binary files /dev/null and b/website/img/skins/music_kit-53.png differ diff --git a/website/img/skins/music_kit-54.png b/website/img/skins/music_kit-54.png new file mode 100644 index 00000000..39910ba8 Binary files /dev/null and b/website/img/skins/music_kit-54.png differ diff --git a/website/img/skins/music_kit-55.png b/website/img/skins/music_kit-55.png new file mode 100644 index 00000000..a4ed7044 Binary files /dev/null and b/website/img/skins/music_kit-55.png differ diff --git a/website/img/skins/music_kit-56.png b/website/img/skins/music_kit-56.png new file mode 100644 index 00000000..955b1ee6 Binary files /dev/null and b/website/img/skins/music_kit-56.png differ diff --git a/website/img/skins/music_kit-57.png b/website/img/skins/music_kit-57.png new file mode 100644 index 00000000..7752c51e Binary files /dev/null and b/website/img/skins/music_kit-57.png differ diff --git a/website/img/skins/music_kit-58.png b/website/img/skins/music_kit-58.png new file mode 100644 index 00000000..ec575fe3 Binary files /dev/null and b/website/img/skins/music_kit-58.png differ diff --git a/website/img/skins/music_kit-59.png b/website/img/skins/music_kit-59.png new file mode 100644 index 00000000..66ec638d Binary files /dev/null and b/website/img/skins/music_kit-59.png differ diff --git a/website/img/skins/music_kit-6.png b/website/img/skins/music_kit-6.png new file mode 100644 index 00000000..672b58ee Binary files /dev/null and b/website/img/skins/music_kit-6.png differ diff --git a/website/img/skins/music_kit-60.png b/website/img/skins/music_kit-60.png new file mode 100644 index 00000000..fab37329 Binary files /dev/null and b/website/img/skins/music_kit-60.png differ diff --git a/website/img/skins/music_kit-61.png b/website/img/skins/music_kit-61.png new file mode 100644 index 00000000..b1b4007b Binary files /dev/null and b/website/img/skins/music_kit-61.png differ diff --git a/website/img/skins/music_kit-62.png b/website/img/skins/music_kit-62.png new file mode 100644 index 00000000..156ff8f5 Binary files /dev/null and b/website/img/skins/music_kit-62.png differ diff --git a/website/img/skins/music_kit-63.png b/website/img/skins/music_kit-63.png new file mode 100644 index 00000000..f7afff3a Binary files /dev/null and b/website/img/skins/music_kit-63.png differ diff --git a/website/img/skins/music_kit-64.png b/website/img/skins/music_kit-64.png new file mode 100644 index 00000000..a2d109dc Binary files /dev/null and b/website/img/skins/music_kit-64.png differ diff --git a/website/img/skins/music_kit-65.png b/website/img/skins/music_kit-65.png new file mode 100644 index 00000000..f85223ef Binary files /dev/null and b/website/img/skins/music_kit-65.png differ diff --git a/website/img/skins/music_kit-66.png b/website/img/skins/music_kit-66.png new file mode 100644 index 00000000..28d6e20a Binary files /dev/null and b/website/img/skins/music_kit-66.png differ diff --git a/website/img/skins/music_kit-67.png b/website/img/skins/music_kit-67.png new file mode 100644 index 00000000..8b746a9c Binary files /dev/null and b/website/img/skins/music_kit-67.png differ diff --git a/website/img/skins/music_kit-68.png b/website/img/skins/music_kit-68.png new file mode 100644 index 00000000..22547368 Binary files /dev/null and b/website/img/skins/music_kit-68.png differ diff --git a/website/img/skins/music_kit-69.png b/website/img/skins/music_kit-69.png new file mode 100644 index 00000000..9d4f8cf0 Binary files /dev/null and b/website/img/skins/music_kit-69.png differ diff --git a/website/img/skins/music_kit-7.png b/website/img/skins/music_kit-7.png new file mode 100644 index 00000000..c2d372e1 Binary files /dev/null and b/website/img/skins/music_kit-7.png differ diff --git a/website/img/skins/music_kit-71.png b/website/img/skins/music_kit-71.png new file mode 100644 index 00000000..725b2d19 Binary files /dev/null and b/website/img/skins/music_kit-71.png differ diff --git a/website/img/skins/music_kit-72.png b/website/img/skins/music_kit-72.png new file mode 100644 index 00000000..8be7e9a4 Binary files /dev/null and b/website/img/skins/music_kit-72.png differ diff --git a/website/img/skins/music_kit-73.png b/website/img/skins/music_kit-73.png new file mode 100644 index 00000000..9d387464 Binary files /dev/null and b/website/img/skins/music_kit-73.png differ diff --git a/website/img/skins/music_kit-74.png b/website/img/skins/music_kit-74.png new file mode 100644 index 00000000..30859d38 Binary files /dev/null and b/website/img/skins/music_kit-74.png differ diff --git a/website/img/skins/music_kit-75.png b/website/img/skins/music_kit-75.png new file mode 100644 index 00000000..0e7e39e3 Binary files /dev/null and b/website/img/skins/music_kit-75.png differ diff --git a/website/img/skins/music_kit-76.png b/website/img/skins/music_kit-76.png new file mode 100644 index 00000000..3c90a049 Binary files /dev/null and b/website/img/skins/music_kit-76.png differ diff --git a/website/img/skins/music_kit-8.png b/website/img/skins/music_kit-8.png new file mode 100644 index 00000000..00d78b59 Binary files /dev/null and b/website/img/skins/music_kit-8.png differ diff --git a/website/img/skins/music_kit-9.png b/website/img/skins/music_kit-9.png new file mode 100644 index 00000000..8d3759a3 Binary files /dev/null and b/website/img/skins/music_kit-9.png differ