From 487ecf46ae9ddbf71516b7ea351ff2b91992e5b2 Mon Sep 17 00:00:00 2001
From: TheRabbit2931 <61029407+TheRabbit2931@users.noreply.github.com>
Date: Tue, 9 Feb 2021 02:44:31 +0300
Subject: [PATCH] $fully_updated
---
CSGO Advanced Item Parser.sln | 25 ++
CSGO Advanced Item Parser/App.config | 6 +
.../CSGO Advanced Item Parser.csproj | 99 +++++++
.../CSGO Advanced Item Parser.csproj.user | 19 ++
CSGO Advanced Item Parser/Program.cs | 250 ++++++++++++++++++
.../Properties/AssemblyInfo.cs | 36 +++
.../Properties/app.manifest | 70 +++++
.../gas_mask_YZV_icon.ico | Bin 0 -> 43581 bytes
8 files changed, 505 insertions(+)
create mode 100644 CSGO Advanced Item Parser.sln
create mode 100644 CSGO Advanced Item Parser/App.config
create mode 100644 CSGO Advanced Item Parser/CSGO Advanced Item Parser.csproj
create mode 100644 CSGO Advanced Item Parser/CSGO Advanced Item Parser.csproj.user
create mode 100644 CSGO Advanced Item Parser/Program.cs
create mode 100644 CSGO Advanced Item Parser/Properties/AssemblyInfo.cs
create mode 100644 CSGO Advanced Item Parser/Properties/app.manifest
create mode 100644 CSGO Advanced Item Parser/gas_mask_YZV_icon.ico
diff --git a/CSGO Advanced Item Parser.sln b/CSGO Advanced Item Parser.sln
new file mode 100644
index 0000000..07fc3a1
--- /dev/null
+++ b/CSGO Advanced Item Parser.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.30717.126
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSGO Advanced Item Parser", "CSGO Advanced Item Parser\CSGO Advanced Item Parser.csproj", "{B7116EA5-BA92-483D-A623-8879E32B6008}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B7116EA5-BA92-483D-A623-8879E32B6008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B7116EA5-BA92-483D-A623-8879E32B6008}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B7116EA5-BA92-483D-A623-8879E32B6008}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B7116EA5-BA92-483D-A623-8879E32B6008}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {B315ABA3-7742-428A-A1C9-4180C679F4F4}
+ EndGlobalSection
+EndGlobal
diff --git a/CSGO Advanced Item Parser/App.config b/CSGO Advanced Item Parser/App.config
new file mode 100644
index 0000000..56efbc7
--- /dev/null
+++ b/CSGO Advanced Item Parser/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSGO Advanced Item Parser/CSGO Advanced Item Parser.csproj b/CSGO Advanced Item Parser/CSGO Advanced Item Parser.csproj
new file mode 100644
index 0000000..5be61a2
--- /dev/null
+++ b/CSGO Advanced Item Parser/CSGO Advanced Item Parser.csproj
@@ -0,0 +1,99 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {B7116EA5-BA92-483D-A623-8879E32B6008}
+ Exe
+ CSGO_Advanced_Item_Parser
+ CSGO Advanced Item Parser
+ v4.7.2
+ 512
+ true
+ true
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+ LocalIntranet
+
+
+ false
+
+
+ Properties\app.manifest
+
+
+ gas_mask_YZV_icon.ico
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4.7.2 %28x86 and x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSGO Advanced Item Parser/CSGO Advanced Item Parser.csproj.user b/CSGO Advanced Item Parser/CSGO Advanced Item Parser.csproj.user
new file mode 100644
index 0000000..a29b1fd
--- /dev/null
+++ b/CSGO Advanced Item Parser/CSGO Advanced Item Parser.csproj.user
@@ -0,0 +1,19 @@
+
+
+
+ Project
+
+
+ publish\
+
+
+
+
+
+ en-US
+ false
+
+
+ false
+
+
\ No newline at end of file
diff --git a/CSGO Advanced Item Parser/Program.cs b/CSGO Advanced Item Parser/Program.cs
new file mode 100644
index 0000000..1539a66
--- /dev/null
+++ b/CSGO Advanced Item Parser/Program.cs
@@ -0,0 +1,250 @@
+using System.IO;
+using System.Text;
+using System.Diagnostics;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+using System;
+using System.Linq;
+using System.Threading;
+
+namespace CSGO_Advanced_Item_Parser
+{
+ public class Program
+ {
+ //Natural sort method
+ public static IEnumerable NaturalSort(IEnumerable list)
+ {
+ int maxLen = list.Select(s => s.Length).Max();
+ Func PaddingChar = s => char.IsDigit(s[0]) ? ' ' : char.MaxValue;
+
+ return list
+ .Select(s =>
+ new
+ {
+ OrgStr = s,
+ SortStr = Regex.Replace(s, @"(\d+)|(\D+)", m => m.Value.PadLeft(maxLen, PaddingChar(m.Value)))
+ })
+ .OrderBy(x => x.SortStr)
+ .Select(x => x.OrgStr);
+ }
+
+ //Getting the CS:GO directory
+ private static string getcsgoPath()
+ {
+ var value = "";
+ foreach (var process in Process.GetProcessesByName("csgo"))
+ {
+ value = Path.GetDirectoryName(process.MainModule.FileName);
+ }
+ return value.ToString();
+ }
+
+ //Creating cool ASCII text :D
+ private static void createAscii()
+ {
+ string a1 = " ____ __ _ __ ____ ";
+ string a2 = @" / __ \___ ____ ___ _____ _____/ /| |/ / / __ \___ _ __";
+ string a3 = @" / /_/ / _ \/ __ `/ / / / _ \/ ___/ __| / / / / / _ | | / /";
+ string a4 = @" / _, _/ __/ /_/ / /_/ / __(__ / /_/ | / /_/ / __| |/ _ ";
+ string a5 = @"/_/ |_|\___/\__, /\__,_/\___/____/\__/_/|_| /_____/\___/|___(_)";
+ string a6 = "";
+ Console.WriteLine(String.Format("{0," + ((Console.WindowWidth / 2) + (a1.Length / 2)) + "}", a1), Console.ForegroundColor = ConsoleColor.DarkRed);
+ Console.WriteLine(String.Format("{0," + ((Console.WindowWidth / 2) + (a2.Length / 2)) + "}", a2), Console.ForegroundColor = ConsoleColor.DarkRed);
+ Console.WriteLine(String.Format("{0," + ((Console.WindowWidth / 2) + (a3.Length / 2)) + "}", a3), Console.ForegroundColor = ConsoleColor.DarkRed);
+ Console.WriteLine(String.Format("{0," + ((Console.WindowWidth / 2) + (a4.Length / 2)) + "}", a4), Console.ForegroundColor = ConsoleColor.DarkRed);
+ Console.WriteLine(String.Format("{0," + ((Console.WindowWidth / 2) + (a5.Length / 2)) + "}", a5), Console.ForegroundColor = ConsoleColor.DarkRed);
+ Console.WriteLine(String.Format("{0," + ((Console.WindowWidth / 2) + (a6.Length / 2)) + "}", a6), Console.ForegroundColor = ConsoleColor.DarkRed);
+ }
+
+ //Main
+ public static void Main(string[] args)
+ {
+ //Variable #1 - Lists
+ List skinsID = new List();
+ List skinsTag = new List();
+ List skinsName = new List();
+ List skinsName_cdn = new List();
+ List skinsName_cdn2 = new List();
+ List skinsImage = new List();
+ List skinsRarity = new List();
+ List skinWpnName = new List();
+
+ //Variable #2 - Regex options
+ RegexOptions options = RegexOptions.Multiline;
+ RegexOptions options2 = RegexOptions.Multiline | RegexOptions.IgnoreCase;
+
+ //Variable #3 - Strings
+ string pattern = @"""([\d]*)""[\s]*{[\s]*""name""[\s]*""(.*)""[\s]*""description_[\w]+""[\s]*""#(.*)""[\s]*""description_[\w]+""[\s]*""#(.*)""";
+ string pattern2 = @"}[\s]*""([\d]+)""[\s]*{[\s]*""name""[\s]*""([a-zA-Z0-9_]+)""[\s]*""prefab";
+
+ //Part #1 - First Process
+ Console.Title = "CS:GO | Advanced Item Parser v1.0";
+ createAscii();
+ Console.WriteLine("Waiting for CS:GO to open...\n".PadLeft(1), Console.ForegroundColor = ConsoleColor.Yellow, Console.BackgroundColor = ConsoleColor.DarkMagenta);
+ Console.ResetColor();
+
+ //Part #2 - Check game is opened
+ while (true)
+ {
+ Process[] processes = Process.GetProcessesByName("csgo");
+ if (processes.Length != 0)
+ {
+ Console.Clear();
+ createAscii();
+ Console.WriteLine("Process started.. Please wait for process finish.\n".PadLeft(1), Console.ForegroundColor = ConsoleColor.Yellow, Console.BackgroundColor = ConsoleColor.DarkMagenta);
+ Console.ResetColor();
+ break;
+ }
+ }
+
+ //Variable #4 - Extra Strings
+ string _itemsFileLocation = File.ReadAllText(getcsgoPath() + @"\csgo\scripts\items\items_game.txt");
+ string _englishFileLocation = File.ReadAllText(getcsgoPath() + @"\csgo\resource\csgo_english.txt");
+ string _itemscdnFileLocation = File.ReadAllText(getcsgoPath() + @"\csgo\scripts\items\items_game_cdn.txt");
+
+ //Part #3 - Get Items cdn name, id and Tag
+ foreach (Match m in Regex.Matches(_itemsFileLocation, pattern))
+ {
+ if (!m.Groups[4].Value.Contains("Default"))
+ {
+ for (int i = 1; i < Regex.Matches(_itemscdnFileLocation, "_" + m.Groups[2].Value + "=").Count + 1; i++)
+ {
+ skinsTag.Add(m.Groups[4].Value);
+ }
+ }
+ if (!m.Groups[2].Value.Contains("default"))
+ {
+ skinsName_cdn.Add(m.Groups[2].Value);
+ }
+
+ if (!m.Groups[2].Value.Contains("default"))
+ {
+ for (int i = 1; i < Regex.Matches(_itemscdnFileLocation, "_" + m.Groups[2].Value + "=").Count + 1; i++)
+ {
+ skinsName_cdn2.Add(m.Groups[2].Value);
+ }
+ }
+
+ if (m.Groups[1].Value != "0")
+ {
+ for (int i = 1; i < Regex.Matches(_itemscdnFileLocation, "_" + m.Groups[2].Value + "=").Count + 1; i++)
+ {
+ skinsID.Add(m.Groups[1].Value);
+ }
+ }
+ }
+
+ //Part #4 - Get Items tag translations
+ foreach (var translation in skinsTag)
+ {
+ string blankTranslation = null;
+ Match m = Regex.Match(_englishFileLocation, @"""" + translation + @""".*""(.*)""", options);
+ if (m.Groups[1].Value == string.Empty)
+ {
+ blankTranslation = translation;
+ Match m2 = Regex.Match(_englishFileLocation, @"""" + blankTranslation + @""".*""(.*)""", options2);
+ skinsName.Add(m2.Groups[1].Value);
+ }
+ else
+ {
+ skinsName.Add(m.Groups[1].Value);
+ }
+ }
+
+ //Part #5 - Get Items image links
+ foreach (var links in skinsName_cdn)
+ {
+ string blankLink = null;
+
+ foreach (Match m in Regex.Matches(_itemscdnFileLocation, links + @"=(.*)", options))
+ {
+ if (m.Groups[1].Value == string.Empty)
+ {
+ blankLink = links;
+
+ Match m2 = Regex.Match(_itemscdnFileLocation, blankLink + @"=(.*)", options2);
+ skinsImage.Add(m2.Groups[1].Value);
+ }
+ else
+ {
+ skinsImage.Add(m.Groups[1].Value);
+ }
+ }
+ }
+
+ //Part #6 - Get Items rarity
+ foreach (var rarity in skinsName_cdn)
+ {
+ foreach (Match m in Regex.Matches(_itemsFileLocation, @"""" + rarity + @"""\t\t""(.*)""", options))
+ {
+ for (int i = 1; i < Regex.Matches(_itemscdnFileLocation, "_" + rarity + "=").Count + 1; i++)
+ {
+ skinsRarity.Add(m.Groups[1].Value);
+ }
+ }
+ }
+
+ //Part #7 - Zip all list
+ var total = skinsID.Zip(skinsName, (first, second) => first + ": " + second);
+ var total2 = total.Zip(skinsImage, (first, second) => first + ": " + second.Trim());
+ var total3 = total2.Zip(skinsRarity, (first, second) => first + " (" + second + ")");
+
+ //Part #8- Get Items real name
+ foreach (var wpnNames in skinsName_cdn)
+ {
+ foreach (var total4_h in total3)
+ {
+ foreach (Match m in Regex.Matches(total4_h, @"http:..media.steampowered.com.apps.730.icons.econ.default_generated.(.{0,35}" + wpnNames + "_light_large" + ")"))
+ {
+ if (m.Groups[1].Value == string.Empty)
+ {
+ skinWpnName.Add("??");
+ }
+ else
+ {
+ skinWpnName.Add(m.Groups[1].Value.Replace("_" + wpnNames, "").Replace("_light_large", "").Replace("weapon_", "").ToUpper().Replace("İ", "I").Replace("_", " "));
+ }
+ }
+ }
+ }
+
+ //Part #9- Zip finish list
+ var total4 = total3.Zip(skinWpnName, (first, second) => first + " | " + second);
+
+ //Part #10 - Create save file text
+ StringBuilder saveText = new StringBuilder();
+ foreach (var item in total4)
+ {
+ saveText.AppendLine(item);
+ }
+
+ //Part #11 - Get sorted save file text
+ List items = new List(saveText.ToString().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries));
+ var sortedList1 = NaturalSort(items).ToArray();
+
+ //Part #12 - Get Items ID
+ StringBuilder itemsID = new StringBuilder();
+ foreach (Match m in Regex.Matches(_itemsFileLocation, pattern2, options))
+ {
+ itemsID.AppendLine(m.Groups[1].Value + ": " + m.Groups[2].Value);
+ }
+
+ //Part #13 - Finish process
+ Console.BackgroundColor = ConsoleColor.Black;
+ Console.ForegroundColor = ConsoleColor.Gray;
+ Console.Clear();
+ saveText.Clear();
+ foreach (var item in sortedList1)
+ {
+ saveText.AppendLine(item);
+ }
+ File.WriteAllText("items_parsed.txt", saveText.ToString().TrimEnd());
+ File.WriteAllText("items_definitions.txt", itemsID.ToString());
+ createAscii();
+ Console.WriteLine("Process finished. Files saved to " + Directory.GetCurrentDirectory() + " directory.".PadRight(1), Console.ForegroundColor = ConsoleColor.Yellow, Console.BackgroundColor = ConsoleColor.DarkMagenta);
+ Console.ResetColor();
+ Console.WriteLine("\nPress enter to continue...");
+ Console.ReadKey();
+ }
+ }
+}
\ No newline at end of file
diff --git a/CSGO Advanced Item Parser/Properties/AssemblyInfo.cs b/CSGO Advanced Item Parser/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..ad3458b
--- /dev/null
+++ b/CSGO Advanced Item Parser/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("CSGO - Advanced Item Parser")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("RequestX | International Developer Group")]
+[assembly: AssemblyProduct("CSGO - Advanced Item Parser")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("b7116ea5-ba92-483d-a623-8879e32b6008")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0")]
+[assembly: AssemblyFileVersion("1.0")]
diff --git a/CSGO Advanced Item Parser/Properties/app.manifest b/CSGO Advanced Item Parser/Properties/app.manifest
new file mode 100644
index 0000000..ae6d090
--- /dev/null
+++ b/CSGO Advanced Item Parser/Properties/app.manifest
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSGO Advanced Item Parser/gas_mask_YZV_icon.ico b/CSGO Advanced Item Parser/gas_mask_YZV_icon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..7a68c0774c962dac3329667305fac54ae26cd407
GIT binary patch
literal 43581
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