├── src ├── Core │ └── RequestifyTF2 │ │ ├── Localization │ │ ├── Localization.bg.Designer.cs │ │ ├── Localization.cs.Designer.cs │ │ ├── Localization.da.Designer.cs │ │ ├── Localization.de.Designer.cs │ │ ├── Localization.el.Designer.cs │ │ ├── Localization.es.Designer.cs │ │ ├── Localization.fi.Designer.cs │ │ ├── Localization.fr.Designer.cs │ │ ├── Localization.hu.Designer.cs │ │ ├── Localization.it.Designer.cs │ │ ├── Localization.ja.Designer.cs │ │ ├── Localization.ko.Designer.cs │ │ ├── Localization.nl.Designer.cs │ │ ├── Localization.nn.Designer.cs │ │ ├── Localization.pl.Designer.cs │ │ ├── Localization.pt.Designer.cs │ │ ├── Localization.ro.Designer.cs │ │ ├── Localization.ru.Designer.cs │ │ ├── Localization.sv.Designer.cs │ │ ├── Localization.th.Designer.cs │ │ ├── Localization.tr.Designer.cs │ │ ├── Localization.uk.Designer.cs │ │ ├── Localization.zh.Designer.cs │ │ ├── Localization.pt-BR.Designer.cs │ │ └── Localization.zh-CN.Designer.cs │ │ ├── FodyWeavers.xml │ │ ├── ALWorkAround.targets │ │ ├── API │ │ ├── User.cs │ │ └── ConsoleSender.cs │ │ ├── Api │ │ ├── User.cs │ │ ├── ConsoleSender.cs │ │ └── LocalHelper.cs │ │ ├── packages.config │ │ ├── Managers │ │ └── Interfaces.cs │ │ ├── Utils │ │ ├── AudioDeviceChanger.cs │ │ ├── Statistics.cs │ │ ├── FakeUsers.cs │ │ ├── Patcher.cs │ │ └── IPolicy.cs │ │ ├── app.config │ │ ├── Commands │ │ └── DefaultCommands │ │ │ ├── AboutCommand.cs │ │ │ └── CommandsListCommand.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── Runner.cs │ │ ├── Logger │ │ └── Logger.cs │ │ ├── PluginLoader │ │ └── Libraries.cs │ │ └── Configurator │ │ └── Configurator.cs ├── FodyWeavers.xml ├── GUI │ ├── RequestifyTF2GUI │ │ ├── Icon.ico │ │ ├── icons8-multiply-50.png │ │ ├── icons8-minimize-window-50.png │ │ ├── FodyWeavers.xml │ │ ├── Controls │ │ │ ├── ConsoleTab.xaml.cs │ │ │ ├── StatisticsTab.xaml.cs │ │ │ ├── ConsoleTab.xaml │ │ │ ├── YoutubeDialog.xaml.cs │ │ │ ├── MainTab.xaml.cs │ │ │ ├── YoutubeDialog.xaml │ │ │ ├── BindsTab.xaml │ │ │ ├── StatisticsTab.xaml │ │ │ └── MainTab.xaml │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ ├── Settings.Designer.cs │ │ │ ├── AssemblyInfo.cs │ │ │ └── Resources.Designer.cs │ │ ├── Writer.cs │ │ ├── packages.config │ │ ├── app.config │ │ └── Resources │ │ │ ├── lang.zh-TW.xaml │ │ │ ├── lang.zh-CN.xaml │ │ │ ├── lang.ja-JP.xaml │ │ │ ├── lang.ko-KR.xaml │ │ │ ├── lang.xaml │ │ │ ├── lang.da-DK.xaml │ │ │ ├── lang.et-EE.xaml │ │ │ ├── lang.fi-FI.xaml │ │ │ ├── lang.tr-TR.xaml │ │ │ ├── lang.nn-NO.xaml │ │ │ ├── lang.nl-NL.xaml │ │ │ ├── lang.sv-SE.xaml │ │ │ ├── lang.cs-CZ.xaml │ │ │ ├── lang.ru-RU.xaml │ │ │ ├── lang.th-TH.xaml │ │ │ ├── lang.ro-RO.xaml │ │ │ ├── lang.bg-BG.xaml │ │ │ ├── lang.de-DE.xaml │ │ │ ├── lang.pl-PL.xaml │ │ │ ├── lang.pt-PT.xaml │ │ │ ├── lang.hu-HU.xaml │ │ │ ├── lang.pt-BR.xaml │ │ │ ├── lang.uk-UA.xaml │ │ │ ├── lang.it-IT.xaml │ │ │ └── lang.fr-FR.xaml │ └── RequestifyTF2GUIOld │ │ ├── Resources │ │ └── Icon.ico │ │ ├── FodyWeavers.xml │ │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── app.manifest │ │ ├── JsonDataClasses │ │ └── ConfigJsonData.cs │ │ ├── packages.config │ │ ├── Program.cs │ │ ├── Uitls │ │ └── TextWriter.cs │ │ ├── app.config │ │ ├── MessageBox.cs │ │ ├── MessageBox │ │ └── MessageBox.cs │ │ ├── Console.Designer.cs │ │ └── Config │ │ └── Config.cs ├── ChatFunCommands │ ├── packages.config │ ├── Properties │ │ └── AssemblyInfo.cs │ └── ChatFunPlugin.csproj ├── Tests │ └── RequestifyTests │ │ ├── packages.config │ │ ├── App.config │ │ └── Tests.cs ├── CLI │ └── RequesifyCLI │ │ ├── FodyWeavers.xml │ │ ├── ConfigJsonData.cs │ │ ├── packages.config │ │ ├── App.config │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ └── AppConfig.cs ├── Plugins │ ├── TTSPlugin │ │ ├── packages.config │ │ ├── app.config │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── OofPlugin │ │ ├── packages.config │ │ ├── app.config │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── APIPlugin │ │ ├── packages.config │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ └── RequestPlugin │ │ ├── packages.config │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ └── app.config └── RequestifyTF2.sln.DotSettings ├── LICENSE ├── .gitattributes └── CODE_OF_CONDUCT.md /src/Core/RequestifyTF2/Localization/Localization.bg.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.cs.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.da.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.de.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.el.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.es.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.fi.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.fr.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.hu.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.it.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.ja.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.ko.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.nl.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.nn.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.pl.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.pt.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.ro.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.ru.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.sv.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.th.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.tr.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.uk.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.zh.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.pt-BR.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Localization/Localization.zh-CN.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weespin/RequestifyTF2/HEAD/src/GUI/RequestifyTF2GUI/Icon.ico -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/icons8-multiply-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weespin/RequestifyTF2/HEAD/src/GUI/RequestifyTF2GUI/icons8-multiply-50.png -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Resources/Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weespin/RequestifyTF2/HEAD/src/GUI/RequestifyTF2GUIOld/Resources/Icon.ico -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/icons8-minimize-window-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weespin/RequestifyTF2/HEAD/src/GUI/RequestifyTF2GUI/icons8-minimize-window-50.png -------------------------------------------------------------------------------- /src/ChatFunCommands/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/Tests/RequestifyTests/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/CLI/RequesifyCLI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/Tests/RequestifyTests/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Plugins/TTSPlugin/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/Plugins/OofPlugin/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/CLI/RequesifyCLI/ConfigJsonData.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace RequesifyCLI 4 | { 5 | internal class ConfigJsonData 6 | { 7 | [JsonProperty("Admin")] public string Admin { get; set; } 8 | 9 | [JsonProperty("GameDirectory")] public string GameDirectory { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/JsonDataClasses/ConfigJsonData.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace RequestifyTF2Forms.JsonDataClasses 4 | { 5 | internal class ConfigJsonData 6 | { 7 | [JsonProperty("Admin")] public string Admin { get; set; } 8 | 9 | [JsonProperty("GameDirectory")] public string GameDirectory { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/CLI/RequesifyCLI/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/ALWorkAround.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(TargetFrameworkSDKToolsDirectory)$(PlatformTarget)\ 5 | 6 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/API/User.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace RequestifyTF2.API 4 | { 5 | [Flags] 6 | public enum Tag 7 | { 8 | None = 0, 9 | Spectator = 1 << 0, 10 | Team = 1 << 1, 11 | Dead = 1 << 2 12 | } 13 | 14 | public class User 15 | { 16 | public string Name { get; set; } = ""; 17 | public Tag Tag { get; set; } = Tag.None; 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Api/User.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace RequestifyTF2.API 4 | { 5 | [Flags] 6 | public enum Tag 7 | { 8 | None = 0, 9 | Spectator = 1 << 0, 10 | Team = 1 << 1, 11 | Dead = 1 << 2 12 | } 13 | 14 | public class User 15 | { 16 | public string Name { get; set; } = ""; 17 | public Tag Tag { get; set; } = Tag.None; 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/RequestifyTF2.sln.DotSettings: -------------------------------------------------------------------------------- 1 | 2 | True -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Controls/ConsoleTab.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | 3 | namespace RequestifyTF2GUI.Controls 4 | { 5 | /// 6 | /// Логика взаимодействия для ConsoleTab.xaml 7 | /// 8 | public partial class ConsoleTab : UserControl 9 | { 10 | public static ConsoleTab instance; 11 | public ConsoleTab() 12 | { 13 | InitializeComponent(); 14 | instance = this; 15 | } 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | en-US 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Controls/StatisticsTab.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | 3 | namespace RequestifyTF2GUI.Controls 4 | { 5 | /// 6 | /// Логика взаимодействия для StatisticsTab.xaml 7 | /// 8 | public partial class StatisticsTab : UserControl 9 | { 10 | public static StatisticsTab instance; 11 | public StatisticsTab() 12 | { 13 | InitializeComponent(); 14 | instance = this; 15 | } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/Plugins/APIPlugin/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace RequestifyTF2Forms 5 | { 6 | internal static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | private static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new Main()); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/Plugins/OofPlugin/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Plugins/TTSPlugin/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Managers/Interfaces.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace RequestifyTF2.API 4 | { 5 | public interface IRequestifyPlugin 6 | { 7 | string Author { get; } 8 | string Name { get; } 9 | string Desc { get; } 10 | } 11 | 12 | public interface IRequestifyCommand 13 | { 14 | string Help { get; } 15 | string Name { get; } 16 | bool OnlyAdmin { get; } 17 | List Alias { get; } 18 | void Execute(User executor, List arguments); 19 | } 20 | 21 | 22 | } -------------------------------------------------------------------------------- /src/CLI/RequesifyCLI/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Uitls/TextWriter.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Text; 3 | using System.Windows.Forms; 4 | 5 | namespace ConsoleRedirection 6 | { 7 | public class TextBoxStreamWriter : TextWriter 8 | { 9 | public TextBox _output; 10 | 11 | public TextBoxStreamWriter(TextBox output) 12 | { 13 | _output = output; 14 | } 15 | 16 | public override Encoding Encoding => Encoding.UTF8; 17 | 18 | public override void Write(char value) 19 | { 20 | base.Write(value); 21 | 22 | _output.Invoke(new MethodInvoker(delegate { _output.AppendText(value.ToString()); })); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Controls/ConsoleTab.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Writer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | using System.Windows.Controls; 5 | 6 | namespace RequestifyTF2GUI 7 | { 8 | public class TextBoxStreamWriter : TextWriter 9 | { 10 | 11 | private readonly TextBlock _output; 12 | public TextBoxStreamWriter(TextBlock output) 13 | { 14 | _output = output; 15 | 16 | } 17 | public override Encoding Encoding => Encoding.UTF8; 18 | 19 | public override void Write(char value) 20 | { 21 | base.Write(value); 22 | _output.Dispatcher.BeginInvoke(new Action(delegate { _output.Text+=(value.ToString()); })); 23 | 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Utils/AudioDeviceChanger.cs: -------------------------------------------------------------------------------- 1 | namespace RequestifyTF2.Utils 2 | { 3 | // Code From https://github.com/aifdsc/AudioChanger 4 | // Thanks Stephan for your work 5 | internal static class AudioDeviceChanger 6 | { 7 | private static bool setDefaultAudioDevice(string deviceId) 8 | { 9 | var client = new CPolicyConfigClient(); 10 | client.SetDefaultDevice(deviceId); 11 | var vclient = new CPolicyConfigVistaClient(); 12 | vclient.SetDefaultDevice(deviceId); 13 | return true; 14 | } 15 | 16 | public static bool SetDefaultInputDevice(string deviceId) 17 | { 18 | var result = setDefaultAudioDevice(deviceId); 19 | return result; 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Utils/Statistics.cs: -------------------------------------------------------------------------------- 1 | namespace RequestifyTF2.Utils 2 | { 3 | public static class Statisctics 4 | { 5 | public static uint LinesParsed { get; set; } 6 | public static uint CommandsParsed { get; set; } 7 | public static uint GameKills { get; set; } 8 | public static uint CritsKill { get; set; } 9 | public static uint Deaths { get; set; } 10 | public static uint YourDeaths { get; set; } 11 | public static uint YourKills { get; set; } 12 | public static uint YourCritsKill { get; set; } 13 | public static uint ConnectedPlayers { get; set; } 14 | public static uint Suicides { get; set; } 15 | public static uint YourSuicides { get; set; } 16 | public static uint IgnoreListStopped { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Commands/DefaultCommands/AboutCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading; 6 | using System.Threading.Tasks; 7 | using RequestifyTF2.API; 8 | 9 | namespace RequestifyTF2.Commands 10 | { 11 | class AboutCommand : IRequestifyCommand 12 | { 13 | public string Help => "About command"; 14 | public string Name => "about"; 15 | public bool OnlyAdmin => false; 16 | public List Alias => new List(); 17 | public void Execute(User executor, List arguments) 18 | { 19 | ConsoleSender.SendCommand("RequestifyTF2 by DllMain/nullptr/Weespin",ConsoleSender.Command.Chat); 20 | ConsoleSender.SendCommand("Download at: github.com/weespin/RequestifyTF2", ConsoleSender.Command.Chat); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 William N. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RequestifyTF2GUIOld.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Controls/YoutubeDialog.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Globalization; 2 | using System.Text.RegularExpressions; 3 | using System.Windows.Controls; 4 | 5 | namespace RequestifyTF2GUI.Controls 6 | { 7 | /// 8 | /// Interaction logic for YoutubeDialog.xaml 9 | /// 10 | public partial class YoutubeDialog : UserControl 11 | { 12 | public YoutubeDialog() 13 | { 14 | InitializeComponent(); 15 | } 16 | } 17 | 18 | 19 | public class NotEmptyValidationRule : ValidationRule 20 | { 21 | Regex youtube = new Regex(@"youtube\..+?/watch.*?v=(.*?)(?:&|/|$)"); 22 | Regex shortregex = new Regex(@"youtu\.be/(.*?)(?:\?|&|/|$)"); 23 | 24 | public override ValidationResult Validate(object value, CultureInfo cultureInfo) 25 | { 26 | if (value == null) 27 | { 28 | return new ValidationResult(false, "Field is required."); 29 | } 30 | 31 | var ret = false || youtube.Match(value.ToString()).Success || shortregex.Match(value.ToString()).Success; 32 | 33 | if (ret) 34 | return ValidationResult.ValidResult; 35 | else 36 | return new ValidationResult(false, "Field is required."); 37 | 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Utils/FakeUsers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace RequestifyTF2.Utils 8 | { 9 | 10 | public static class FakeUsers 11 | { 12 | static FakeUsers() 13 | { 14 | /* 15 | * hostname: Team Fortress 16 | version : 5097991/24 5097991 secure 17 | udp/ip : 169.254.15.182:27015 (public ip: 46.33.32.163) 18 | steamid : [A:1:2114265096:12570] (90125982400585736) 19 | map : itemtest at: 570 x, -468 y, -126 z 20 | account : not logged in (No account specified) 21 | tags : 22 | players : 1 humans, 0 bots (24 max) 23 | edicts : 132 used of 2048 max 24 | 25 | */ 26 | UserList = new List(); 27 | UserList.Add("hostname"); 28 | UserList.Add("version"); 29 | UserList.Add("udp/ip "); 30 | UserList.Add("steamid"); 31 | UserList.Add("account"); 32 | UserList.Add("map "); 33 | UserList.Add("tags"); 34 | UserList.Add("edicts "); 35 | UserList.Add("players"); 36 | } 37 | public static List UserList; 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/MessageBox.cs: -------------------------------------------------------------------------------- 1 | 2 | using RequestifyTF2GUIOld.Properties; 3 | 4 | namespace RequestifyTF2Forms 5 | { 6 | using System; 7 | using System.Drawing; 8 | 9 | using MaterialSkin.Controls; 10 | 11 | using RequestifyTF2GUIOld.Properties; 12 | 13 | public partial class MessageBox : MaterialForm 14 | { 15 | public MessageBox() 16 | { 17 | this.InitializeComponent(); 18 | this.lbl_text.Font = this.SkinManager.ROBOTO_REGULAR_11; 19 | this.Icon = Resources.Icon; 20 | } 21 | 22 | public string Color 23 | { 24 | set 25 | { 26 | // ReSharper disable once ArrangeThisQualifier 27 | // ReSharper disable once ArrangeAccessorOwnerBody 28 | this.lbl_text.ForeColor = ColorTranslator.FromHtml(value); 29 | } 30 | } 31 | 32 | public string MessageText 33 | { 34 | set 35 | { 36 | // ReSharper disable once ArrangeThisQualifier 37 | // ReSharper disable once ArrangeAccessorOwnerBody 38 | this.lbl_text.Text = value; 39 | } 40 | } 41 | 42 | private void materialRaisedButton1_Click(object sender, EventArgs e) 43 | { 44 | this.Close(); 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /src/Plugins/RequestPlugin/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/Plugins/TTSPlugin/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("TTSPlugin")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("TTSPlugin")] 12 | [assembly: AssemblyCopyright("Copyright © Weespin 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("5c383bcb-52e5-4d6f-bb86-a8beb86f43af")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // You can specify all the values or you can default the Build and Revision Numbers 30 | // by using the '*' as shown below: 31 | // [assembly: AssemblyVersion("1.0.*")] 32 | [assembly: AssemblyVersion("1.4.0.0")] 33 | [assembly: AssemblyFileVersion("1.4.0.0")] -------------------------------------------------------------------------------- /src/CLI/RequesifyCLI/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("RequesifyCLI")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("RequesifyCLI")] 12 | [assembly: AssemblyCopyright("Copyright © Weespin 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("43cbc27b-fdff-429a-97a6-e248f2c924db")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // You can specify all the values or you can default the Build and Revision Numbers 30 | // by using the '*' as shown below: 31 | // [assembly: AssemblyVersion("1.0.*")] 32 | [assembly: AssemblyVersion("1.4.0.0")] 33 | [assembly: AssemblyFileVersion("1.4.0.0")] -------------------------------------------------------------------------------- /src/Plugins/OofPlugin/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("OofPlugin")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("OofPlugin")] 12 | [assembly: AssemblyCopyright("Copyright © Weespin 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("5819e718-7a43-4d44-8899-50ef414cf4a7")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // You can specify all the values or you can default the Build and Revision Numbers 30 | // by using the '*' as shown below: 31 | // [assembly: AssemblyVersion("1.0.*")] 32 | [assembly: AssemblyVersion("1.4.0.0")] 33 | [assembly: AssemblyFileVersion("1.4.0.0")] -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("RequestifyTF2")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("RequestifyTF2")] 12 | [assembly: AssemblyCopyright("Copyright © Weespin 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | // Setting ComVisible to false makes the types in this assembly not visible 16 | // to COM components. If you need to access a type in this assembly from 17 | // COM, set the ComVisible attribute to true on that type. 18 | [assembly: ComVisible(false)] 19 | 20 | // The following GUID is for the ID of the typelib if this project is exposed to COM 21 | [assembly: Guid("131e76e7-d939-4fc0-a6a6-11af2e85e4b2")] 22 | 23 | // Version information for an assembly consists of the following four values: 24 | // Major Version 25 | // Minor Version 26 | // Build Number 27 | // Revision 28 | // You can specify all the values or you can default the Build and Revision Numbers 29 | // by using the '*' as shown below: 30 | // [assembly: AssemblyVersion("1.0.*")] 31 | [assembly: AssemblyVersion("1.1.2.0")] 32 | [assembly: AssemblyFileVersion("1.1.2.0")] -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("RequestifyTF2")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("RequestifyTF2")] 12 | [assembly: AssemblyCopyright("Copyright © Weespin 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("6a852064-d79a-457e-adc8-f6a3d34e51e2")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // You can specify all the values or you can default the Build and Revision Numbers 30 | // by using the '*' as shown below: 31 | // [assembly: AssemblyVersion("1.0.*")] 32 | [assembly: AssemblyVersion("1.4.0.0")] 33 | [assembly: AssemblyFileVersion("1.4.0.0")] -------------------------------------------------------------------------------- /src/Plugins/RequestPlugin/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("RequestPlugin")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("RequestPlugin")] 12 | [assembly: AssemblyCopyright("Copyright © Weespin 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("ae92c1cb-bd89-4a2c-8650-ff70f08d9794")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // You can specify all the values or you can default the Build and Revision Numbers 30 | // by using the '*' as shown below: 31 | // [assembly: AssemblyVersion("1.0.*")] 32 | [assembly: AssemblyVersion("1.4.0.0")] 33 | [assembly: AssemblyFileVersion("1.4.0.0")] -------------------------------------------------------------------------------- /src/ChatFunCommands/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ChatFunCommands")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ChatFunCommands")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("c8a60753-bc2e-43e2-9f32-faaf725a942c")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/Plugins/APIPlugin/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Общие сведения об этой сборке предоставляются следующим набором 6 | // набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения, 7 | // связанные со сборкой. 8 | [assembly: AssemblyTitle("APIPlugin")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("APIPlugin")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми 18 | // для компонентов COM. Если необходимо обратиться к типу в этой сборке через 19 | // COM, задайте атрибуту ComVisible значение TRUE для этого типа. 20 | [assembly: ComVisible(false)] 21 | 22 | // Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM 23 | [assembly: Guid("1eeebeb0-2387-4aab-aad2-d05e87fe0f06")] 24 | 25 | // Сведения о версии сборки состоят из следующих четырех значений: 26 | // 27 | // Основной номер версии 28 | // Дополнительный номер версии 29 | // Номер сборки 30 | // Редакция 31 | // 32 | // Можно задать все значения или принять номер сборки и номер редакции по умолчанию. 33 | // используя "*", как показано ниже: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/MessageBox/MessageBox.cs: -------------------------------------------------------------------------------- 1 | using System.Media; 2 | using RequestifyTF2Forms; 3 | 4 | namespace RequestifyTF2GUI.MessageBox 5 | { 6 | internal class MessageBox 7 | { 8 | public void Show(string message, string title, Sounds sound = Sounds.None) 9 | { 10 | var msgbox = new RequestifyTF2Forms.MessageBox {MessageText = message, Text = title, Color = "#F44336"}; 11 | msgbox.ShowDialog(Main.instance); 12 | msgbox.BringToFront(); 13 | msgbox.Activate(); 14 | msgbox.Focus(); 15 | switch (sound) 16 | { 17 | case Sounds.None: 18 | break; 19 | case Sounds.Asterik: 20 | SystemSounds.Asterisk.Play(); 21 | break; 22 | case Sounds.Beep: 23 | SystemSounds.Beep.Play(); 24 | break; 25 | case Sounds.Exclamation: 26 | SystemSounds.Exclamation.Play(); 27 | break; 28 | case Sounds.Hand: 29 | SystemSounds.Hand.Play(); 30 | break; 31 | case Sounds.Question: 32 | SystemSounds.Question.Play(); 33 | break; 34 | default: 35 | SystemSounds.Beep.Play(); 36 | break; 37 | } 38 | } 39 | 40 | internal enum Sounds 41 | { 42 | Asterik, 43 | 44 | Beep, 45 | 46 | Exclamation, 47 | 48 | Hand, 49 | 50 | Question, 51 | 52 | None 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RequestifyTF2GUI.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | 26 | [global::System.Configuration.UserScopedSettingAttribute()] 27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 28 | [global::System.Configuration.DefaultSettingValueAttribute("en-US")] 29 | public global::System.Globalization.CultureInfo DefaultLanguage { 30 | get { 31 | return ((global::System.Globalization.CultureInfo)(this["DefaultLanguage"])); 32 | } 33 | set { 34 | this["DefaultLanguage"] = value; 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Runner.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using RequestifyTF2.API; 4 | using RequestifyTF2.Threads; 5 | 6 | namespace RequestifyTF2 7 | { 8 | public static class Runner 9 | { 10 | public static bool Start() 11 | { 12 | if (Instance.Config.GameDir == string.Empty) 13 | { 14 | Logger.Write(Logger.Status.Error, Localization.Localization.CORE_SET_DIRECTORY); 15 | 16 | return false; 17 | } 18 | 19 | if (!Directory.Exists(Instance.Config.GameDir)) 20 | { 21 | Logger.Write(Logger.Status.Error, Localization.Localization.CORE_ERROR_CANT_FIND_DIR + Instance.Config.GameDir); 22 | 23 | return false; 24 | } 25 | 26 | if (!Instance.Load()) 27 | { 28 | Logger.Write( 29 | Logger.Status.Error, 30 | Localization.Localization.CORE_ERRORS_FOUND_CLOSE_PROGRAM, 31 | ConsoleColor.Red); 32 | return false; 33 | } 34 | 35 | //if (!File.Exists(Instance.Config.GameDir + "/console.log")) 36 | //{ 37 | // //try 38 | // //{ 39 | // // File.WriteAllText(Instance.Config.GameDir + "/console.log", string.Empty); 40 | // //} 41 | // //catch 42 | // //{ 43 | // // Logger.Write( 44 | // // Logger.Status.Error, 45 | // // Localization.Localization.CORE_ERROR_CANT_PREPARE_CONSOLE_LOG, 46 | // // ConsoleColor.Red); 47 | // // return false; 48 | // //} 49 | //} 50 | 51 | 52 | PlayerThread.StartThread(); 53 | ReaderThread.StartThread(); 54 | return true; 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /src/Tests/RequestifyTests/Tests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace RequestifyTF2.Tests 4 | 5 | { 6 | [TestFixture] 7 | public static class RequestifyTest 8 | { 9 | public static void TestKill() 10 | { 11 | var sut = ReaderThread.TextChecker("BoyPussi killed dat boi 28 with sniperrifle. (crit)"); 12 | Assert.That(sut, Is.EqualTo(ReaderThread.Result.KillCrit)); 13 | sut = ReaderThread.TextChecker( 14 | "[NCC] DllMain killed $20 users with tf_projectile_rocket."); 15 | Assert.That(sut, Is.EqualTo(ReaderThread.Result.Kill)); 16 | } 17 | 18 | [Test] 19 | public static void TestCommandExecute() 20 | { 21 | var sut = ReaderThread.TextChecker( 22 | "nickname test lyl:) : !request https://www.youtube.com/watch?v=DZV3Xtp-BK0"); 23 | Assert.That(sut, Is.EqualTo(ReaderThread.Result.CommandExecute)); 24 | } 25 | [Test] 26 | public static void TestChat() 27 | { 28 | var sut = ReaderThread.TextChecker( 29 | "*DEAD* Hey : ImJust a test lul"); 30 | Assert.That(sut, Is.EqualTo(ReaderThread.Result.Chatted)); 31 | } 32 | 33 | [Test] 34 | public static void TestConnect() 35 | { 36 | var sut = ReaderThread.TextChecker("[NCC]Effie connected"); 37 | Assert.That(sut, Is.EqualTo(ReaderThread.Result.Connected)); 38 | } 39 | 40 | [Test] 41 | public static void TestKillCrit() 42 | { 43 | var sut = ReaderThread.TextChecker( 44 | "[RLS]V952 killed Tom with sniperrifle. (crit)"); 45 | Assert.That(sut, Is.EqualTo(ReaderThread.Result.KillCrit)); 46 | } 47 | 48 | [Test] 49 | public static void TestSuicide() 50 | { 51 | var sut = ReaderThread.TextChecker("DurRud suicided."); 52 | Assert.That(sut, Is.EqualTo(ReaderThread.Result.Suicide)); 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /src/Plugins/RequestPlugin/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Logger/Logger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using RequestifyTF2.API; 4 | 5 | public class Logger 6 | { 7 | public enum Status 8 | { 9 | Code, 10 | 11 | Error, 12 | 13 | Info, 14 | 15 | STATUS 16 | } 17 | 18 | private static string _mExePath = string.Empty; 19 | 20 | public static void Log(IRequestifyPlugin plugin, string message) 21 | { 22 | Write(Status.Info, $"{plugin.Name} => {message}"); 23 | } 24 | 25 | public static void LogError(IRequestifyPlugin plugin, string message) 26 | { 27 | Write(Status.Error, $"{plugin.Name} => {message}"); 28 | } 29 | 30 | public static void Write(Status status, string text, ConsoleColor color = ConsoleColor.White) 31 | { 32 | Console.ForegroundColor = color; 33 | LogWrite("[" + status + "][" + DateTime.Now + "] " + text); 34 | Console.ForegroundColor = ConsoleColor.White; 35 | } 36 | 37 | public static void Write(Status status, string text) 38 | { 39 | LogWrite("[" + status + "][" + DateTime.Now + "] " + text); 40 | } 41 | 42 | public void Write(string text) 43 | { 44 | LogWrite("[" + DateTime.Now + "] " + text); 45 | } 46 | 47 | private static void Log(string logMessage, TextWriter txtWriter) 48 | { 49 | try 50 | { 51 | txtWriter.WriteLine($"{logMessage}"); 52 | Console.WriteLine(logMessage); 53 | } 54 | catch (Exception) 55 | { 56 | // ignored 57 | } 58 | } 59 | 60 | private static void LogWrite(string logMessage) 61 | { 62 | 63 | if (_mExePath == string.Empty) 64 | { 65 | _mExePath = AppDomain.CurrentDomain.BaseDirectory; 66 | } 67 | 68 | try 69 | { 70 | using (var w = File.AppendText(_mExePath + "\\" + "log.txt")) 71 | { 72 | Log(logMessage, w); 73 | } 74 | } 75 | catch (Exception) 76 | { 77 | // Never used 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/PluginLoader/Libraries.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Reflection; 4 | using System.Runtime.CompilerServices; 5 | using System.Windows.Forms; 6 | 7 | namespace RequestifyTF2.PluginLoader 8 | { 9 | public class Libraries 10 | { 11 | public static void Load(string path) 12 | { 13 | if (!Directory.Exists(path)) 14 | { 15 | Directory.CreateDirectory(path); 16 | } 17 | 18 | var dllFileNames = Directory.GetFiles(path, "*.dll"); 19 | foreach (var assembly in dllFileNames) 20 | { 21 | try 22 | { 23 | var proxy = new Proxy(); 24 | var assemblyz = proxy.GetAssembly(assembly); 25 | Logger.Write(Logger.Status.Info, string.Format(Localization.Localization.CORE_LOADED_PLUGIN, assemblyz.GetName())); 26 | 27 | 28 | } 29 | catch (Exception e) 30 | { 31 | Logger.Write(Logger.Status.Error, e.ToString()); 32 | } 33 | } 34 | } 35 | 36 | public static bool LoadFile(string path) 37 | { 38 | try 39 | { 40 | var pd = new Proxy(); 41 | var assembly = pd.GetAssembly(path); 42 | Logger.Write(Logger.Status.Info, string.Format(Localization.Localization.CORE_LOADED_PLUGIN, assembly.GetName())); 43 | return true; 44 | } 45 | catch (Exception e) 46 | { 47 | Logger.Write(Logger.Status.Error, e.ToString()); 48 | } 49 | 50 | return false; 51 | } 52 | 53 | public class Proxy : MarshalByRefObject 54 | { 55 | public Assembly GetAssembly(string assemblyPath) 56 | { 57 | try 58 | { 59 | return Assembly.LoadFrom(assemblyPath); 60 | } 61 | catch (Exception e) 62 | { 63 | return null; 64 | } 65 | } 66 | } 67 | } 68 | } -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Controls/MainTab.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls; 3 | using RequestifyTF2; 4 | using RequestifyTF2.API; 5 | 6 | namespace RequestifyTF2GUI.Controls 7 | { 8 | /// 9 | /// Логика взаимодействия для Main.xaml 10 | /// 11 | public partial class Main : UserControl 12 | { 13 | public string Version 14 | { 15 | get { return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); } 16 | } 17 | public static Main instance; 18 | public Main() 19 | { 20 | 21 | InitializeComponent(); 22 | instance = this; 23 | version.Text = Version; 24 | } 25 | private void AdminBoxFocusLost(object sender, RoutedEventArgs e) 26 | { 27 | //AppConfig.CurrentConfig.Admin = Main.instance.AdminBox.Text; 28 | AppConfig.Save(); 29 | } 30 | private void MutedCheckBox_OnChecked(object sender, RoutedEventArgs e) 31 | { 32 | Instance.IsMuted = true; 33 | } 34 | 35 | private void MutedCheckBox_OnUnchecked(object sender, RoutedEventArgs e) 36 | { 37 | Instance.IsMuted = false; 38 | } 39 | private void ButtonBase_OnClick(object sender, RoutedEventArgs e) 40 | { 41 | if (Instance.Config.GameDir == string.Empty) 42 | { 43 | MessageBox.Show( 44 | Application.Current.FindResource("cs_Set_Game_Dir").ToString(), 45 | Application.Current.FindResource("cs_Error").ToString()); 46 | 47 | return; 48 | } 49 | MainWindow.instance._started = Runner.Start(); 50 | if (MainWindow.instance._started) 51 | { 52 | //Its easy to catch events :) 53 | 54 | RequestifyTF2.API.Events.UndefinedMessage.OnUndefinedMessage += MainWindow.instance.UndefinedMessage_OnUndefinedMessage; 55 | Main.instance.StartButton.Content = Application.Current.FindResource("cs_Stop").ToString(); 56 | Main.instance.StatusLabel.Text = Application.Current.FindResource("cs_Status_Working").ToString(); 57 | } 58 | } 59 | 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | en-US 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Resources; 3 | using System.Runtime.InteropServices; 4 | using System.Windows; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("RequestifyTF2GUI2")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("RequestifyTF2GUI2")] 14 | [assembly: AssemblyCopyright("Copyright © Weespin 2018")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | 18 | // Setting ComVisible to false makes the types in this assembly not visible 19 | // to COM components. If you need to access a type in this assembly from 20 | // COM, set the ComVisible attribute to true on that type. 21 | [assembly: ComVisible(false)] 22 | 23 | //In order to begin building localizable applications, set 24 | //CultureYouAreCodingWith in your .csproj file 25 | //inside a . For example, if you are using US english 26 | //in your source files, set the to en-US. Then uncomment 27 | //the NeutralResourceLanguage attribute below. Update the "en-US" in 28 | //the line below to match the UICulture setting in the project file. 29 | 30 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] 31 | 32 | 33 | [assembly: ThemeInfo( 34 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 35 | //(used if a resource is not found in the page, 36 | // or application resource dictionaries) 37 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 38 | //(used if a resource is not found in the page, 39 | // app, or any theme specific resource dictionaries) 40 | )] 41 | 42 | 43 | // Version information for an assembly consists of the following four values: 44 | // 45 | // Major Version 46 | // Minor Version 47 | // Build Number 48 | // Revision 49 | // 50 | // You can specify all the values or you can default the Build and Revision Numbers 51 | // by using the '*' as shown below: 52 | // [assembly: AssemblyVersion("1.0.*")] 53 | [assembly: AssemblyVersion("1.0.0.0")] 54 | [assembly: AssemblyFileVersion("1.0.0.0")] 55 | [assembly: NeutralResourcesLanguage("en-US")] -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Controls/YoutubeDialog.xaml: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | Youtube Video 21 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | 41 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/CLI/RequesifyCLI/AppConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using Newtonsoft.Json; 4 | using RequestifyTF2.API; 5 | 6 | namespace RequesifyCLI 7 | { 8 | internal static class AppConfig 9 | { 10 | public static ConfigJsonData CurrentConfig { get; set; } = new ConfigJsonData(); 11 | 12 | public static void Load() 13 | { 14 | var emptyjson = JsonConvert.SerializeObject( 15 | new ConfigJsonData {GameDirectory = string.Empty, Admin = "null"}); 16 | if (Directory.Exists(Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/config/")) 17 | { 18 | if (File.Exists(Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/config/config.json")) 19 | { 20 | CurrentConfig = JsonConvert.DeserializeObject( 21 | File.ReadAllText( 22 | Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/config/config.json")); 23 | Instance.Config.Admin = CurrentConfig.Admin; 24 | } 25 | else 26 | { 27 | File.WriteAllText( 28 | Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "config/config.json", 29 | emptyjson); 30 | 31 | Logger.Write(Logger.Status.Info, "Type dir {directory} to set directory"); 32 | } 33 | } 34 | else 35 | { 36 | Directory.CreateDirectory(Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/config/"); 37 | File.WriteAllText( 38 | Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/config/config.json", 39 | emptyjson); 40 | Logger.Write(Logger.Status.Info, "Type dir {directory} to set directory"); 41 | } 42 | 43 | if (CurrentConfig.GameDirectory == string.Empty) 44 | { 45 | Logger.Write(Logger.Status.Info, "Type dir {directory} to set directory"); 46 | } 47 | 48 | Instance.Config.GameDir = CurrentConfig.GameDirectory; 49 | } 50 | 51 | public static void Save() 52 | { 53 | Instance.Config.GameDir = CurrentConfig.GameDirectory; 54 | var currentconfig = JsonConvert.SerializeObject(CurrentConfig); 55 | File.WriteAllText( 56 | Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/config/config.json", 57 | currentconfig); 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Commands/DefaultCommands/CommandsListCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using RequestifyTF2.API; 7 | using RequestifyTF2.Managers; 8 | 9 | namespace RequestifyTF2.Commands.DefaultCommands 10 | { 11 | class CommandsListCommand : IRequestifyCommand 12 | { 13 | public string Help => "A command to get all possible commands"; 14 | public string Name => "commands"; 15 | public bool OnlyAdmin => true; 16 | public List Alias => new List(); 17 | 18 | public void Execute(User executor, List arguments) 19 | { 20 | var possiblecommands = Instance.Commands.GetCommands().Where(n => n.Status == CommandManager.Status.Enabled) 21 | .ToList(); 22 | if (possiblecommands.Count > 0) 23 | { 24 | if (arguments.Count > 0) 25 | { 26 | ushort page; 27 | if (ushort.TryParse(arguments[0], out page)) 28 | { 29 | if (page <= possiblecommands.Count-1&&page!=0) 30 | { 31 | ConsoleSender.SendCommand($"-> !{possiblecommands[page-1].Name} | {possiblecommands[page-1].Help}",ConsoleSender.Command.Chat); 32 | ConsoleSender.SendCommand($"Page {page} / {possiblecommands.Count-1}",ConsoleSender.Command.Chat); 33 | } 34 | else 35 | { 36 | ConsoleSender.SendCommand($"Page is out of range", 37 | ConsoleSender.Command.Chat); 38 | } 39 | } 40 | else 41 | { 42 | ConsoleSender.SendCommand($"Can't parse page number", 43 | ConsoleSender.Command.Chat); 44 | } 45 | } 46 | else 47 | { 48 | ConsoleSender.SendCommand($"There are {possiblecommands.Count-1} possible commands to display", 49 | ConsoleSender.Command.Chat); 50 | ConsoleSender.SendCommand($"Use !{this.Name} {{page}} to display commands",ConsoleSender.Command.Chat); 51 | } 52 | 53 | 54 | } 55 | else 56 | { 57 | ConsoleSender.SendCommand("0 possible commands to display",ConsoleSender.Command.Chat); 58 | } 59 | 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/API/ConsoleSender.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Runtime.InteropServices; 5 | using System.Threading; 6 | using System.Threading.Tasks; 7 | 8 | namespace RequestifyTF2.API 9 | { 10 | public static class ConsoleSender 11 | { 12 | static ConsoleSender() 13 | { 14 | new Task(Reader).Start(); 15 | 16 | } 17 | public static Queue CommandQueue = new Queue(); 18 | private static DateTime lastsend = DateTime.Now; 19 | static void Reader() 20 | { 21 | while (true) 22 | { 23 | if (CommandQueue.Count > 0) 24 | { 25 | if ((DateTime.Now - lastsend).TotalMilliseconds > 800) 26 | { 27 | var cmnd = CommandQueue.Dequeue(); 28 | File.WriteAllText(Instance.Config.GameDir + "/cfg/requestify.cfg", cmnd); 29 | Task.Run( 30 | () => 31 | { 32 | keybd_event(0x2E, 0x53, 0, 0); 33 | Thread.Sleep(30); 34 | keybd_event(0x2E, 0x53, 0x2, 0); 35 | }); 36 | Thread.Sleep(100); 37 | File.WriteAllText(Instance.Config.GameDir + "/cfg/requestify.cfg", string.Empty); 38 | lastsend = DateTime.Now; 39 | } 40 | } 41 | Thread.Sleep(10); 42 | } 43 | } 44 | 45 | 46 | public enum Command 47 | { 48 | Chat, 49 | Echo, 50 | Raw 51 | } 52 | 53 | public static void SendCommand(string cmnd, Command cmd) 54 | { 55 | 56 | var text = string.Empty; 57 | switch (cmd) 58 | { 59 | case Command.Chat: 60 | if (!Instance.IsMuted) 61 | { 62 | text = "say " + cmnd; 63 | } 64 | 65 | break; 66 | case Command.Echo: 67 | text = "echo " + cmnd; 68 | break; 69 | case Command.Raw: 70 | text = cmnd; 71 | break; 72 | default: 73 | throw new InvalidOperationException(); 74 | 75 | } 76 | CommandQueue.Enqueue(text); 77 | 78 | 79 | } 80 | 81 | [DllImport("user32.dll")] 82 | private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo); 83 | } 84 | } -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Api/ConsoleSender.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Runtime.InteropServices; 5 | using System.Threading; 6 | using System.Threading.Tasks; 7 | 8 | namespace RequestifyTF2.API 9 | { 10 | public static class ConsoleSender 11 | { 12 | static ConsoleSender() 13 | { 14 | new Task(Reader).Start(); 15 | 16 | } 17 | public static Queue CommandQueue = new Queue(); 18 | private static DateTime lastsend = DateTime.Now; 19 | static void Reader() 20 | { 21 | while (true) 22 | { 23 | if (CommandQueue.Count > 0) 24 | { 25 | if ((DateTime.Now - lastsend).TotalMilliseconds > 800) 26 | { 27 | var cmnd = CommandQueue.Dequeue(); 28 | File.WriteAllText(Instance.Config.GameDir + "/cfg/requestify.cfg", cmnd); 29 | Task.Run( 30 | () => 31 | { 32 | keybd_event(0x2E, 0x53, 0, 0); 33 | Thread.Sleep(30); 34 | keybd_event(0x2E, 0x53, 0x2, 0); 35 | }); 36 | Thread.Sleep(100); 37 | File.WriteAllText(Instance.Config.GameDir + "/cfg/requestify.cfg", string.Empty); 38 | lastsend = DateTime.Now; 39 | } 40 | } 41 | Thread.Sleep(10); 42 | } 43 | } 44 | 45 | 46 | public enum Command 47 | { 48 | Chat, 49 | Echo, 50 | Raw 51 | } 52 | 53 | public static void SendCommand(string cmnd, Command cmd) 54 | { 55 | 56 | var text = string.Empty; 57 | switch (cmd) 58 | { 59 | case Command.Chat: 60 | if (!Instance.IsMuted) 61 | { 62 | text = "say " + cmnd; 63 | } 64 | 65 | break; 66 | case Command.Echo: 67 | text = "echo " + cmnd; 68 | break; 69 | case Command.Raw: 70 | text = cmnd; 71 | break; 72 | default: 73 | throw new InvalidOperationException(); 74 | 75 | } 76 | CommandQueue.Enqueue(text); 77 | 78 | 79 | } 80 | 81 | [DllImport("user32.dll")] 82 | private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo); 83 | } 84 | } -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Console.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace RequestifyTF2Forms 2 | { 3 | partial class Console 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.txt_console = new System.Windows.Forms.TextBox(); 32 | this.SuspendLayout(); 33 | // 34 | // txt_console 35 | // 36 | this.txt_console.BackColor = System.Drawing.SystemColors.InfoText; 37 | this.txt_console.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); 38 | this.txt_console.ForeColor = System.Drawing.SystemColors.MenuHighlight; 39 | this.txt_console.Location = new System.Drawing.Point(-1, 64); 40 | this.txt_console.Multiline = true; 41 | this.txt_console.Name = "txt_console"; 42 | this.txt_console.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; 43 | this.txt_console.Size = new System.Drawing.Size(351, 160); 44 | this.txt_console.TabIndex = 3; 45 | // 46 | // Console 47 | // 48 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 49 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 50 | this.ClientSize = new System.Drawing.Size(350, 225); 51 | this.ControlBox = false; 52 | this.Controls.Add(this.txt_console); 53 | this.MaximizeBox = false; 54 | this.MinimizeBox = false; 55 | this.Name = "Console"; 56 | this.Text = "Console"; 57 | this.Load += new System.EventHandler(this.Thanks_Load); 58 | this.ResumeLayout(false); 59 | this.PerformLayout(); 60 | 61 | } 62 | 63 | #endregion 64 | 65 | public System.Windows.Forms.TextBox txt_console; 66 | } 67 | } -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Config/Config.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Windows.Forms; 3 | using Newtonsoft.Json; 4 | using RequestifyTF2.API; 5 | using RequestifyTF2Forms.JsonDataClasses; 6 | 7 | namespace RequestifyTF2Forms.Config 8 | { 9 | internal static class AppConfig 10 | { 11 | public static ConfigJsonData CurrentConfig { get; set; } = new ConfigJsonData(); 12 | 13 | public static void Load() 14 | { 15 | var emptyjson = JsonConvert.SerializeObject( 16 | new ConfigJsonData {GameDirectory = string.Empty, Admin = string.Empty}); 17 | if (Directory.Exists(Path.GetDirectoryName(Application.ExecutablePath) + "/config/")) 18 | { 19 | if (File.Exists(Path.GetDirectoryName(Application.ExecutablePath) + "/config/config.json")) 20 | { 21 | CurrentConfig = JsonConvert.DeserializeObject( 22 | File.ReadAllText(Path.GetDirectoryName(Application.ExecutablePath) + "/config/config.json")); 23 | Instance.Config.Admin = CurrentConfig.Admin; 24 | } 25 | else 26 | { 27 | File.WriteAllText( 28 | Path.GetDirectoryName(Application.ExecutablePath) + "config/config.json", 29 | emptyjson); 30 | 31 | new RequestifyTF2GUI.MessageBox.MessageBox().Show("Please set the game directory", "Error", 32 | RequestifyTF2GUI.MessageBox.MessageBox.Sounds.Exclamation); 33 | } 34 | } 35 | else 36 | { 37 | Directory.CreateDirectory(Path.GetDirectoryName(Application.ExecutablePath) + "/config/"); 38 | File.WriteAllText(Path.GetDirectoryName(Application.ExecutablePath) + "/config/config.json", emptyjson); 39 | new RequestifyTF2GUI.MessageBox.MessageBox().Show("Please set the game directory", "Error", 40 | RequestifyTF2GUI.MessageBox.MessageBox.Sounds.Exclamation); 41 | } 42 | 43 | if (CurrentConfig.GameDirectory == string.Empty) 44 | { 45 | new RequestifyTF2GUI.MessageBox.MessageBox().Show("Please set the game directory", "Error", 46 | RequestifyTF2GUI.MessageBox.MessageBox.Sounds.Exclamation); 47 | } 48 | 49 | Instance.Config.GameDir = CurrentConfig.GameDirectory; 50 | } 51 | 52 | public static void Save() 53 | { 54 | Instance.Config.GameDir = CurrentConfig.GameDirectory; 55 | var currentconfig = JsonConvert.SerializeObject(CurrentConfig); 56 | CurrentConfig.Admin = Instance.Config.Admin; 57 | File.WriteAllText(Path.GetDirectoryName(Application.ExecutablePath) + "/config/config.json", currentconfig); 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RequestifyTF2GUI.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | public class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | public static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RequestifyTF2GUI.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | public static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Controls/BindsTab.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 20 | 21 | 25 | 26 | Enabled 27 | 28 | 29 | 30 | 31 | 36 | 37 | 40 | 41 | 42 | 43 | 44 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Configurator/Configurator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Dynamic; 5 | using System.Linq; 6 | using System.Reflection; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Xml; 10 | using System.Xml.Linq; 11 | using RequestifyTF2.Api; 12 | 13 | namespace RequestifyTF2.Configurator 14 | { 15 | public static class Configurator 16 | { 17 | public static void GenerateSchema(List plugins) 18 | { 19 | 20 | //LINQ to XML 21 | XDocument doc = new XDocument(new XElement("pluginconfigs")); 22 | 23 | foreach (var entry in plugins) 24 | { 25 | var parsed = GetSchema(entry); 26 | 27 | doc.Root.Add( 28 | new XElement(, entry.Value.ToString(), new XAttribute("level", entry.Key.ToString()))); 29 | } 30 | 31 | doc.Save(pathName); 32 | 33 | 34 | } 35 | 36 | public static Dictionary>[] GetSchema(IRequestifyPlugin plugin) 37 | { 38 | /* 39 | * Array schema 40 | * [0] = Config 41 | * [1] = Commands 42 | */ 43 | Dictionary>[] rett = new Dictionary>[2]; 44 | var assembly = Instance.Plugins.GetAssembly(plugin); 45 | Dictionary> ret = new Dictionary>(); 46 | var assamblies = RequestifyTF2.Managers.PluginManager.GetTypesFromInterface(assembly,"IRequestifyConfiguration"); 47 | var asssFieldInfos= assamblies[0].GetFields() 48 | .ToList(); 49 | foreach (var v in asssFieldInfos) 50 | { 51 | object val = null; 52 | if (v.CustomAttributes.Any()) 53 | { 54 | foreach (var s in v.CustomAttributes) 55 | { 56 | if (s.AttributeType==typeof(DefaultValueAttribute)) 57 | { 58 | if (s.ConstructorArguments[0].ArgumentType == v.FieldType) 59 | { 60 | val = s.ConstructorArguments[0].Value; 61 | } 62 | } 63 | } 64 | } 65 | ret.Add(v.Name,new Tuple(v.FieldType,val)); 66 | 67 | } 68 | 69 | rett[0] = ret; 70 | var cmnds = Instance.Commands.RegisteredCommand.Where(n => n.Father == assembly); 71 | var ret2 = new Dictionary>(); 72 | foreach (var command in cmnds) 73 | { 74 | ret2.Add(command.Name,new Tuple(typeof(bool),true)); 75 | } 76 | 77 | rett[1] = ret2; 78 | return rett; 79 | } 80 | 81 | 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.zh-TW.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 主要音源 5 | 插件 6 | 設置 7 | 進程忽略名单 8 | 主控臺 9 | 就緒 10 | 執行時間 11 | 12 | 欢迎来到RequestifyTF2,请按开始。 13 | 不要忘记指定的路径。 14 | 你应该按开始之前启动一个游戏了! 15 | 在这里复制你的蒸汽的名字 16 | 管理面板 17 | 阻絕 18 | 指令 19 | 插件 20 | 尖端:双击插件或命令将禁止他们 21 | UI 語言 22 | 核心 (遊戲) 語言 23 | 选择游戏游戏的浏览器 24 | 手动路径选择游戏 25 | 統計 26 | 行分析: 27 | 你的死亡人数: 28 | 命令分析: 29 | 游戏死亡: 30 | 游戏杀死: 31 | 死亡次數: 32 | 你杀死: 33 | 你自杀是: 34 | 殺敵總數: 35 | 你自杀是: 36 | 你的暴击杀死: 37 | 你自杀是: 38 | 你的暴击杀死: 39 | 你的暴击杀死: 40 | TF2只 41 | 名稱 42 | 新增 43 | 逆轉 44 | 移除 45 | 尝试使用RequestifyTF2阻止: 46 | 錯誤 47 | 請選擇儲存目錄 48 | 停止 49 | 地位:工作 50 | 選取資料夾 51 | 当前的游戏路径: 52 | 这不是一个源引擎的游戏 53 | 我找不到任何插件 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.zh-CN.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 主要输入 5 | 插件 6 | 设置 7 | Ignore List 8 | 控制台 9 | 就绪 10 | 执行时间 11 | 欢迎来到RequestifyTF2,请按开始。 12 | 不要忘记指定的路径。 13 | 你应该按开始之前启动一个游戏了! 14 | 在这里复制你的蒸汽的名字 15 | 管理员名称: 16 | Muted 17 | 指令 18 | 插件 19 | 尖端:双击插件或命令将禁止他们 20 | 用户界面语言 21 | 核心 (游戏) 语言 22 | 选择游戏游戏的浏览器 23 | 手动路径选择游戏 24 | 统计: 25 | 行分析: 26 | 你的死亡人数: 27 | 命令分析: 28 | 游戏死亡: 29 | 游戏杀死: 30 | 死亡次数: 31 | 你的击杀数: 32 | 你自杀是: 33 | 杀敌总数: 34 | 你自杀是: 35 | 你的暴击杀死: 36 | 你自杀是: 37 | 你的暴击杀死: 38 | 你的暴击杀死: 39 | TF2只 40 | 名称 41 | 添加 42 | 翻转 43 | 移除 44 | 尝试使用RequestifyTF2阻止: 45 | 出错 46 | 请选择保存目录 47 | 停止 48 | 地位:工作 49 | 选择文件夹 50 | 当前的游戏路径: 51 | 这不是一个源引擎的游戏 52 | 我找不到任何插件 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.ja-JP.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | プラグイン 6 | 設定 7 | 無視リスト 8 | コンソール 9 | 準備 10 | 開始 11 | ウRequestifyTF2を押します。 12 | 忘れずにパスを指定し、設定す! 13 | きプレス開始前に立ち上げ、ゲーム! 14 | コピーこちらの蒸名 15 | 管理者ユーザ名: 16 | 17 | コマンド 18 | プラグイン 19 | ヒント:ダブルクリックするプラグインまたはコマンドを無効にしてい 20 | UI言語 21 | コア(ゲーム)言語 22 | を選択しゲームのゲームのブラウザ 23 | 手動で選択しゲームのパス 24 | 統計 25 | ライン解析: 26 | お死者: 27 | コマンド構文解析: 28 | ゲームの死亡: 29 | ゲームを殺: 30 | 総死亡者: 31 | 自殺: 32 | ご自殺: 33 | 総死ぬ: 34 | ゲーム自殺: 35 | おCrits殺: 36 | 総合自殺: 37 | ゲームCrits殺: 38 | 総Crits殺: 39 | TF2み 40 | 名称 41 | 追加 42 | 43 | 削除 44 | 利用しようとしRequestifyTF2ッ 45 | エラー 46 | を設定してくださいゲームディレクトリ 47 | 停止 48 | 状況: 49 | を選択しゲームのフォルダ 50 | 現在のゲームパス: 51 | このソースエンジンゲーム 52 | において任意のプラグイン 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Controls/StatisticsTab.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.ko-KR.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 메인 5 | 플러그인 6 | 설정 7 | 목록 8 | 콘솔 9 | 준비 10 | 시작 11 | 환 RequestifyTF2,시작을 누릅니다. 12 | 을 잊지 않을 경로를 지정합니다. 13 | 으로 누구나 쉽게 시작 전에 시작 게임! 14 | 여기에 복사하는 증기는 이름 15 | 관리자 이름: 16 | 음소거 17 | 명령 18 | 플러그인 19 | 팁:더블 클릭하면 플러그인 또는 명령이 해제 20 | UI 언어 21 | Core(게임)언어 22 | 선택한 게임에서 게임은 브라우저 23 | 수동으로 선택한 게임 경로 24 | 통계: 25 | 라인 분석: 26 | 귀하의 죽음: 27 | 구문 분석된 명령: 28 | 게임 사망: 29 | 게임을 죽인: 30 | 마약은 전체 사망 원인: 31 | 귀하의 죽인: 32 | 당신의 자살: 33 | 총 킬: 34 | 게임 자살: 35 | 귀하의 상태를 죽인: 36 | 총 자살: 37 | 게임 상태를 죽인: 38 | 총 상태를 죽인: 39 | 팀포 2 만 40 | 이름 41 | 추가 42 | 반전 43 | 제거 44 | 를 사용하려고 시도하 RequestifyTF2 차단되: 45 | 46 | 을 설정하십시오 게임 디렉토리 47 | 48 | 상태: 49 | 선택 게임 폴더 50 | 현재 게임 경로: 51 | 이 소스 게임 엔진 52 | 를 찾을 수가 없어요 어떤 플러그인 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Api/LocalHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Globalization; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using RequestifyTF2.API; 8 | 9 | namespace RequestifyTF2.API 10 | { 11 | public static class LocalHelper 12 | { 13 | public static CultureInfo GetCoreLocalization() 14 | { 15 | switch (Instance.Language) 16 | { 17 | 18 | case Instance.ELanguage.BG: 19 | return new CultureInfo("bg"); 20 | case Instance.ELanguage.CS: 21 | return new CultureInfo("cs"); 22 | case Instance.ELanguage.DA: 23 | return new CultureInfo("da"); 24 | case Instance.ELanguage.DE: 25 | return new CultureInfo("de"); 26 | case Instance.ELanguage.EL: 27 | return new CultureInfo("el"); 28 | case Instance.ELanguage.ES: 29 | return new CultureInfo("es"); 30 | case Instance.ELanguage.FI: 31 | return new CultureInfo("fi"); 32 | case Instance.ELanguage.FR: 33 | return new CultureInfo("fr"); 34 | case Instance.ELanguage.HU: 35 | return new CultureInfo("hu"); 36 | case Instance.ELanguage.IT: 37 | return new CultureInfo("it"); 38 | case Instance.ELanguage.JA: 39 | return new CultureInfo("ja"); 40 | case Instance.ELanguage.KO: 41 | return new CultureInfo("ko"); 42 | case Instance.ELanguage.NL: 43 | return new CultureInfo("nl"); 44 | case Instance.ELanguage.NN: 45 | return new CultureInfo("nn"); 46 | case Instance.ELanguage.PL: 47 | return new CultureInfo("pl"); 48 | case Instance.ELanguage.BR: 49 | return new CultureInfo("pt-BR"); 50 | case Instance.ELanguage.PT: 51 | return new CultureInfo("pt"); 52 | case Instance.ELanguage.EN: 53 | return new CultureInfo("en"); 54 | case Instance.ELanguage.RO: 55 | return new CultureInfo("ro"); 56 | case Instance.ELanguage.RU: 57 | return new CultureInfo("ru"); 58 | case Instance.ELanguage.SV: 59 | return new CultureInfo("sv"); 60 | case Instance.ELanguage.TH: 61 | return new CultureInfo("th"); 62 | case Instance.ELanguage.TR: 63 | return new CultureInfo("tr"); 64 | case Instance.ELanguage.UK: 65 | return new CultureInfo("uk"); 66 | case Instance.ELanguage.TZN: 67 | return new CultureInfo("zh"); 68 | case Instance.ELanguage.SZN: 69 | return new CultureInfo("zh-CN"); 70 | default: 71 | return new CultureInfo("en-US"); 72 | } 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at wnmerukini@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Utils/Patcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Linq; 4 | using RequestifyTF2.API; 5 | 6 | namespace RequestifyTF2.Utils 7 | { 8 | public static class Patcher 9 | { 10 | public static string ResolveFolder(string a) 11 | { 12 | var dirs = Directory.GetDirectories(a); 13 | 14 | if (dirs.Any(n => n.Contains("cfg"))) 15 | { 16 | return a; 17 | } 18 | 19 | foreach (var dir in dirs) 20 | { 21 | var cdir = Directory.GetDirectories(dir); 22 | var bin = false; 23 | var cfg = false; 24 | foreach (var dirz in cdir) 25 | { 26 | var pal = dirz; 27 | var z = pal.Remove(0, dir.Length); 28 | 29 | if (z.Contains("cfg")) 30 | { 31 | cfg = true; 32 | } 33 | 34 | if (z.Contains("bin")) 35 | { 36 | bin = true; 37 | } 38 | 39 | if (bin && cfg) 40 | { 41 | return dir; 42 | } 43 | } 44 | } 45 | 46 | return ""; 47 | } 48 | 49 | public static void PatchAutoExec() 50 | { 51 | if (Instance.Config.GameDir == string.Empty || !Directory.Exists(Instance.Config.GameDir)) 52 | { 53 | Console.WriteLine(Localization.Localization.CORE_SET_DIRECTORY); 54 | return; 55 | } 56 | var cfgpath = Instance.Config.GameDir + "/cfg/autoexec.cfg"; 57 | WriteToCfg(cfgpath, "con_logfile \"console.log\""); 58 | WriteToCfg(cfgpath, "bind kp_del \"exec requestify\""); 59 | WriteToCfg(cfgpath, "bind kp_end \"echo NUMPAD1\""); 60 | WriteToCfg(cfgpath, "bind kp_downarrow \"echo NUMPAD2\""); 61 | WriteToCfg(cfgpath, "bind kp_pgdn \"echo NUMPAD3\""); 62 | WriteToCfg(cfgpath, "bind kp_leftarrow \"echo NUMPAD4\""); 63 | WriteToCfg(cfgpath, "bind kp_5 \"echo NUMPAD5\""); 64 | WriteToCfg(cfgpath, "bind kp_rightarrow \"echo NUMPAD6\""); 65 | WriteToCfg(cfgpath, "bind kp_home \"echo NUMPAD7\""); 66 | WriteToCfg(cfgpath, "bind kp_uparrow \"echo NUMPAD8\""); 67 | WriteToCfg(cfgpath, "bind kp_pgup \"echo NUMPAD9\""); 68 | WriteToCfg(cfgpath, "bind kp_ins \"echo NUMPAD0\""); 69 | } 70 | private static void WriteToCfg(string cfgfile ,string str) 71 | { 72 | if (!File.Exists(cfgfile)) 73 | { 74 | File.Create(cfgfile); 75 | } 76 | 77 | try 78 | { 79 | var lines = File.ReadAllLines(cfgfile); 80 | 81 | if (!lines.Contains(str)) 82 | { 83 | File.AppendAllText( 84 | cfgfile, Environment.NewLine + 85 | str); 86 | } 87 | } 88 | catch (Exception e) 89 | { 90 | Logger.Write(Logger.Status.Error,e.ToString()); 91 | } 92 | } 93 | } 94 | } -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RequestifyTF2GUIOld.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RequestifyTF2GUIOld.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). 65 | /// 66 | internal static System.Drawing.Icon Icon { 67 | get { 68 | object obj = ResourceManager.GetObject("Icon", resourceCulture); 69 | return ((System.Drawing.Icon)(obj)); 70 | } 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /src/ChatFunCommands/ChatFunPlugin.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {C8A60753-BC2E-43E2-9F32-FAAF725A942C} 8 | Library 9 | Properties 10 | ChatFunCommands 11 | ChatFunCommands 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | ..\packages\CSCore.1.2.1.2\lib\net35-client\CSCore.dll 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | {6a852064-d79a-457e-adc8-f6a3d34e51e2} 54 | RequestifyTF2 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | @echo off 63 | echo Copying all plugins with (debugging) pdb files for $(TargetName) 64 | MKDIR "$(SolutionDir)\GUI\RequestifyTF2GUI\bin\Debug\plugins" 65 | %25WINDIR%25\System32\ROBOCOPY "$(ProjectDir)\bin\$(ConfigurationName)" "$(SolutionDir)\GUI\RequestifyTF2GUI\bin\Debug\plugins" $(TargetFileName) /is /it 66 | %25WINDIR%25\System32\ROBOCOPY "$(ProjectDir)\bin\$(ConfigurationName)" "$(SolutionDir)\GUI\RequestifyTF2GUI\bin\Debug\plugins" $(TargetName).pdb /is /it 67 | exit 0 68 | 69 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | Main 6 | Plugins 7 | Settings 8 | Ignore List 9 | Console 10 | Ready 11 | Start 12 | Welcome to RequestifyTF2, press Start. 13 | Do not forget to specify the path in the settings! 14 | You should press Start before launching a game! 15 | Copy here your steam name 16 | Admin Name: 17 | Muted 18 | Commands 19 | Plugins 20 | Tip: Double-Clicking on Plugins or Commands will disable them 21 | UI Language 22 | Core (Game) Language 23 | Select Game from Game Browser 24 | Manually Select Game Path 25 | Statistics 26 | Lines Parsed: 27 | Your Deaths: 28 | Commands Parsed: 29 | Game Deaths: 30 | Game Kills: 31 | Total Deaths: 32 | Your Kills: 33 | Your Suicides: 34 | Total Kills: 35 | Game Suicides: 36 | Your Crits Kills: 37 | Total Suicides: 38 | Game Crits Kills: 39 | Total Crits Kills: 40 | TF2 only 41 | Name 42 | Add 43 | Reversed 44 | Remove 45 | Attempts to use RequestifyTF2 blocked: 46 | Error 47 | Please set the game directory 48 | Stop 49 | Status: Working 50 | Select game folder 51 | Current game path: 52 | This is not a Source Engine game 53 | I can't find any plugins 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUIOld/Properties/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 48 | 55 | 56 | 70 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.da-DK.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hoved 5 | Plugins 6 | Settings 7 | Ignorer liste 8 | Terminal 9 | Klar 10 | Start 11 | Velkommen til RequestifyTF2, skal du trykke på Start. 12 | Glem ikke at angive stien i indstillinger! 13 | Du skal trykke på Start før start af et spil! 14 | Kopi her din steam-navn 15 | Admin Panel: 16 | Ignoreret 17 | Kommandoer 18 | Plugins 19 | Tip: Dobbelt-Klikke på Plugins eller Kommandoer vil deaktivere dem 20 | UI Sprog 21 | Core (Spil) Sprog 22 | Vælg Spil fra spillet Browser 23 | Vælg Manuelt Spil Sti 24 | Statistik: 25 | Linjerne Analyseres: 26 | Din Dødsfald: 27 | Kommandoer Analyseres: 28 | Spil Dødsfald: 29 | Spil Drab: 30 | Dødsfald: 31 | Dine Drab: 32 | Din Selvmord: 33 | Total Drab: 34 | Din Selvmord: 35 | Din Kritiske Drab: 36 | Din Selvmord: 37 | Din Kritiske Drab: 38 | Samlede Kritiske Drab: 39 | TF2 kun 40 | Name 41 | Tilføj 42 | Omvendt 43 | Fjern 44 | Forsøg på at bruge RequestifyTF2 blokeret: 45 | Fejl 46 | Vælg lagringsmappe 47 | Stop 48 | Status: Arbejde 49 | Vælg folder 50 | Nuværende spil sti: 51 | Dette er ikke en Source-Engine spil 52 | Jeg kan ikke finde nogen plugins 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.et-EE.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Peamine 5 | Pluginad 6 | Seaded 7 | Ignoreeritute loend 8 | Konsool 9 | Valmis 10 | Algus 11 | Tere tulemast RequestifyTF2, vajutage nuppu Start. 12 | Ärge unustage, et täpsustada tee seaded! 13 | Sa peaksid vajutage nuppu Start enne mängu käivitamine! 14 | Kopeeri siia oma steam nimi 15 | Admini Nimi: 16 | Muted 17 | Käsud 18 | Pluginad 19 | Näpunäide: Topelt-Klõps Pluginad või Käsud ei keela neid 20 | UI Keel 21 | Core (Mängu) Keel 22 | Valige Mäng Mängu Brauser 23 | Käsitsi Valige Mäng Tee 24 | Statistika: 25 | Read Sõeluda: 26 | Teie Surmade: 27 | Käsud Sõeluda: 28 | Mäng Surmade: 29 | Mäng Tapab: 30 | Kokku Surmade: 31 | Teie Tapab: 32 | Teie Enesetapud: 33 | Kokku Tapab: 34 | Mäng On Enesetappude Arv: 35 | Teie Crits Tapab: 36 | Kokku On Enesetappude Arv: 37 | Mäng Crits Tapab: 38 | Kokku Crits Tapab: 39 | Ainult TF2 40 | Nimi 41 | Lisa 42 | Peegelpildis 43 | Eemalda 44 | Katsed kasutada RequestifyTF2 blokeeritud: 45 | Viga 46 | Palun määra mäng kataloog 47 | Stop 48 | Staatus: Töötab 49 | Valitud kataloog 50 | Praegune mäng teele: 51 | See ei ole Allikas Mootori mäng 52 | Ma ei leia ühtegi plugins 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.fi-FI.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tärkein 5 | Plugins 6 | Asetukset 7 | Ignore Lista 8 | Konsoli 9 | Valmis 10 | Aloittaa 11 | Tervetuloa RequestifyTF2, paina Start. 12 | Älä unohda määritä polku asetukset! 13 | Sinun pitäisi paina Start ennen kuin käynnistää peli! 14 | Kopioi tänne steam nimi 15 | Admin Nimi: 16 | Mykistetty 17 | Komennot 18 | Plugins 19 | Vinkki: Double-Klikkaamalla Plugins tai Komentoja poistaa niitä 20 | UI Language 21 | Core (Peli) Kieli 22 | Valitse Peli, Selain Peli 23 | Manuaalisesti Valitse Peli Polku 24 | Tilastot: 25 | Linjat Jäsentää: 26 | Teidän Kuolemia: 27 | Komennot Jäsentää: 28 | Peli Kuolemia: 29 | Peli Tappaa: 30 | Yhteensä Kuolemia: 31 | Tappaa: 32 | Sinun Itsemurhia: 33 | Yhteensä Tappaa: 34 | Peli Itsemurhia: 35 | Sinun Crits Tappaa: 36 | Yhteensä Itsemurhat: 37 | Peli Crits Tappaa: 38 | Yhteensä Crits Tappaa: 39 | TF2 vain 40 | Nimi 41 | Lisää 42 | Päinvastainen 43 | Poista 44 | Yrittää käyttää RequestifyTF2 estetty: 45 | Virhe 46 | Aseta pelin hakemistoon 47 | Lopeta 48 | Tila: Toimi 49 | Valitse pelin kansioon 50 | Nykyinen peli path: 51 | Tämä ei ole Source Engine peli 52 | En löydä mitään lisäosia 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.tr-TR.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ana 5 | Eklentileri 6 | Ayarları 7 | Liste Yoksay 8 | Konsol 9 | Hazır 10 | Başlat 11 | RequestifyTF2, Başlat tuşuna basın Hoşgeldiniz. 12 | Ayarları yolunu belirtmek için unutmayın! 13 | Oyunu başlatmadan önce Başlat tuşuna basmalısınız. 14 | Burada buhar adınızı kopyalayın 15 | Yönetici Adı: 16 | Sessiz 17 | Komutları 18 | Eklentileri 19 | İpucu: Çift Eklentileri veya Komutları Tıklatarak devre dışı bırakır onları 20 | UI Dil 21 | Çekirdek (Oyun) Dil 22 | Oyun Tarayıcı seçin Oyun 23 | El İle Seç Oyun Yolu 24 | İstatistikler: 25 | Çizgiler Ayrıştırılır: 26 | Ölümler: 27 | Komutlar Çözümlenir: 28 | Oyun Ölüm: 29 | Oyun Öldürür: 30 | Toplam Ölümler: 31 | Öldürür: 32 | İntihar: 33 | Toplam Öldürür: 34 | Oyun İntiharlar: 35 | Hematokrit Öldürür: 36 | Toplam İntiharlar: 37 | Oyun Hematokrit Öldürür: 38 | Toplam Hematokrit Öldürür: 39 | SIRASINDA sadece 40 | Adı 41 | Ekle 42 | Ters 43 | Kaldır 44 | RequestifyTF2 bloke kullanmaya çalışır: 45 | Hata 46 | Lütfen oyun dizinini ayarlayın 47 | Dur 48 | Durum: Çalışıyor 49 | Oyun klasörü seçin 50 | Geçerli oyun yolu: 51 | Bu Kaynak Motoru bir oyun değil 52 | Herhangi bir eklenti bulamadım 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.nn-NO.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Main 5 | Plugins 6 | Innstillinger 7 | Ignorer Liste 8 | - Konsollen 9 | Klar 10 | Start 11 | Velkommen til RequestifyTF2, trykker du på Start. 12 | Ikke glem å angi banen under innstillinger! 13 | Du skal trykke Start før du starter et spill! 14 | Kopier hit din steam-navn 15 | Admin Navn: 16 | Dempet 17 | Kommandoer 18 | Plugins 19 | Tips: Dobbeltklikk på Plugins eller Kommandoer vil deaktivere dem 20 | UI Språk 21 | Core (Spill) Språk 22 | Velg spill fra Spillet Nettleser 23 | Velg Manuelt Spillet Banen 24 | Statistikk: 25 | Linjer Analyseres: 26 | Din Dødsfall: 27 | Kommandoer Analyseres: 28 | Spillet Dødsfall: 29 | Spillet Dreper: 30 | Antall Døde: 31 | Din Dreper: 32 | Din Selvmord: 33 | Totalt Dreper: 34 | Spillet Selvmord: 35 | Din Crits Dreper: 36 | Totalt Selvmord: 37 | Spillet Crits Dreper: 38 | Totalt Crits Dreper: 39 | TF2 bare 40 | Navn 41 | Legg til 42 | Reversert 43 | Fjern 44 | Forsøk på å bruke RequestifyTF2 blokkert: 45 | Feil 46 | Vennligst angi spill katalogen 47 | Stopp 48 | Status: Arbeidet 49 | Velger du spill-mappen 50 | Nåværende spill banen: 51 | Dette er ikke en Kilde Engine spill 52 | Jeg kan ikke finne noen plugins 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.nl-NL.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hoofd 5 | Plug-ins 6 | Instellingen 7 | Negeerlijst 8 | Console 9 | Klaar 10 | Start 11 | Welkom bij RequestifyTF2, druk op Start. 12 | Vergeet niet om het pad opgeven in de instellingen! 13 | U moet druk op Start voor de lancering van een game! 14 | Kopieer hier je steam naam 15 | Beheernaam: 16 | Gedempt 17 | Commando‘s 18 | Plug-ins 19 | Tip: dubbelklik op plug-ins of Commando ' s uit te schakelen 20 | 用户界面语言 21 | Kern (Spel) Taal 22 | Selecteer spel van Spel-Browser 23 | Handmatig Selecteert U Game Pad 24 | Statistieken: 25 | Lijnen Geparseerd: 26 | Uw Doden: 27 | Commando ' S Geanalyseerd: 28 | Spel Doden: 29 | Spel Kills: 30 | Totaal Aantal Doden: 31 | Spelers gedood: 32 | Uw Zelfmoorden: 33 | Aantal Gedood: 34 | Uw Zelfmoorden: 35 | Uw Voltreffers Kills: 36 | Uw Zelfmoorden: 37 | Uw Voltreffers Kills: 38 | Uw Voltreffers Kills: 39 | TF2 alleen 40 | Naam 41 | Toevoegen 42 | Omgekeerd 43 | Verwijderen 44 | Pogingen om het gebruik van RequestifyTF2 geblokkeerd: 45 | Fout 46 | Kies de opslagmap 47 | Stop 48 | Status: Werken 49 | Map selecteren 50 | Huidige spel pad: 51 | Dit is niet een Source-Engine-spel 52 | Ik kan het niet vinden ook niet alle plugins 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.sv-SE.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Viktigaste 5 | Plugins 6 | Inställningar 7 | Ignorera-Listan 8 | Konsolen 9 | Redo 10 | Start 11 | Välkommen till RequestifyTF2, tryck på Start. 12 | Glöm inte att ange sökvägen i inställningar! 13 | Du ska trycka på Starta innan du startar spelet! 14 | Kopiera här ditt steam namn 15 | Admin Namn: 16 | Avstängd 17 | Kommandon 18 | Plugins 19 | Tips: Dubbelklicka på Plugins eller Kommandon kommer att inaktivera dem 20 | UI Språk 21 | Core (Spel) Språk 22 | Välja Spel från Spel Webbläsare 23 | Manuellt Välj Spel Väg 24 | Statistik: 25 | Linjer Tolkas: 26 | Din Dödsfall: 27 | Kommandon Tolkas: 28 | Spelet Dödsfall: 29 | Spelet Dödar: 30 | Det Totala Antalet Dödsfall: 31 | Din Dödar: 32 | Din Självmord: 33 | Totalt Dödar: 34 | Spelet Självmord: 35 | Dina Kritiska Träffar Dödar: 36 | Totalt Självmord: 37 | Spelet Kritiska Dödar: 38 | Totalt Kritiska Dödar: 39 | TF2 bara 40 | Namn 41 | Lägg till 42 | Omvänd 43 | Ta bort 44 | Försök att använda RequestifyTF2 blockerade: 45 | Fel 46 | Vänligen ange spelet katalog 47 | Sluta 48 | Status: Jobbar 49 | Välj spel mapp 50 | Nuvarande spel sökväg: 51 | Detta är inte en Källa Motorn spel 52 | Jag kan inte hitta några plugins 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.cs-CZ.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hlavní 5 | Pluginy 6 | Nastavení 7 | Seznam ignorovaných 8 | Konzole 9 | Připraven 10 | Přejít na začátek 11 | Vítejte RequestifyTF2, stiskněte tlačítko Start. 12 | Nezapomeňte zadat cestu v nastavení! 13 | Měli byste stisknout Spustit před spuštěním hry! 14 | Kopírovat sem svůj steam jméno 15 | Jméno správce: 16 | Ztišeno 17 | Příkazy 18 | Pluginy 19 | Tip: Dvojitým Kliknutím na Pluginy nebo Příkazy bude zakázat jim 20 | Jazyk uživatelského rozhraní 21 | Jádro (Game) Jazyková 22 | Vyberte Hru z Game Browser 23 | Ručně Vybrat Hru Cesta 24 | Statistiky: 25 | Linky Analyzovat: 26 | Vaše Smrt: 27 | Příkazy Analyzovat: 28 | Hra Úmrtí: 29 | Hra Zabije: 30 | Celkový Počet Úmrtí: 31 | Vaše Zabití: 32 | Vaše Sebevraždy: 33 | Celkem Zabíjí: 34 | Vaše Sebevraždy: 35 | Vaše Kritické Zásahy Zabije: 36 | Vaše Sebevraždy: 37 | Vaše Kritické Zásahy Zabije: 38 | Vaše Kritické Zásahy Zabije: 39 | TF2 pouze 40 | Název 41 | Přidat 42 | Reverzní 43 | Odstranit 44 | Pokusy o použití RequestifyTF2 blokován: 45 | Chyba 46 | Vyberte prosím adresář pro uložení 47 | Stop 48 | Stav: Pracovní 49 | Vybrat složku 50 | Aktuální hra path: 51 | Není to Source Engine hra 52 | Nemůžu najít žádné pluginy 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.ru-RU.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Главная 5 | Плагины 6 | Настройки 7 | Игнор-лист 8 | Консоль 9 | Готов 10 | Запуск 11 | Добро пожаловать на RequestifyTF2, нажмите кнопку Старт. 12 | Не забудьте указать путь в настройках! 13 | Вам нужно нажать старт перед запуском игры! 14 | Скопируйте сюда никнейм Steam 15 | Имя администратора: 16 | Заглушен 17 | Команды 18 | Плагины 19 | Совет: Двойной щелчок на плагины или команды отключит их 20 | Язык интерфейса 21 | Язык ядра (игры) 22 | Выберите игру из игры мини браузера 23 | Вручную выбрать путь игры 24 | Статистика: 25 | Парснуто строк: 26 | Смерти: 27 | Парснуто команд: 28 | Смертей в игре: 29 | Убийств в игре: 30 | Всего смертей: 31 | Ваши убийства: 32 | Ваши самоубийства: 33 | Всего убийств: 34 | Ваши самоубийства: 35 | Ваших убийств с критом: 36 | Ваши самоубийства: 37 | Всего убийств с критом: 38 | Всего убийств с критом: 39 | TF2 только 40 | Имя 41 | Добавить 42 | В обратном порядке 43 | Удалить 44 | Попытки использовать RequestifyTF2 заблокированы: 45 | Ошибка 46 | Пожалуйста, установите директорию игры 47 | Стоп 48 | Статус: Работаю 49 | Выберите папку игры 50 | Текущий путь к игре: 51 | Эта игра не на движке Source 52 | Я не могу найти любые плагины 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/Core/RequestifyTF2/Utils/IPolicy.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by SharpDevelop. 3 | * User: aifdsc 4 | * Date: 07/31/2011 5 | * Time: 08:09 6 | * 7 | * To change this template use Tools | Options | Coding | Edit Standard Headers. 8 | */ 9 | // Code From https://github.com/aifdsc/AudioChanger 10 | // Thanks Stephan for your work 11 | 12 | using System.Runtime.InteropServices; 13 | 14 | public enum ERole 15 | { 16 | eConsole, 17 | eMultimedia, 18 | eCommunications, 19 | ERole_enum_count 20 | } 21 | 22 | [Guid("f8679f50-850a-41cf-9c72-430f290290c8")] 23 | [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 24 | internal interface IPolicyConfig 25 | { 26 | [PreserveSig] 27 | int GetMixFormat(); 28 | 29 | [PreserveSig] 30 | int GetDeviceFormat(); 31 | 32 | [PreserveSig] 33 | int SetDeviceFormat(); 34 | 35 | [PreserveSig] 36 | int GetProcessingPeriod(); 37 | 38 | [PreserveSig] 39 | int SetProcessingPeriod(); 40 | 41 | [PreserveSig] 42 | int GetShareMode(); 43 | 44 | [PreserveSig] 45 | int SetShareMode(); 46 | 47 | [PreserveSig] 48 | int GetPropertyValue(); 49 | 50 | [PreserveSig] 51 | int SetPropertyValue(); 52 | 53 | [PreserveSig] 54 | int SetDefaultEndpoint([MarshalAs(UnmanagedType.LPWStr)] string wszDeviceId, ERole eRole); 55 | 56 | [PreserveSig] 57 | int SetEndpointVisibility(); 58 | } 59 | 60 | [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 61 | [Guid("568b9108-44bf-40b4-9006-86afe5b5a620")] 62 | internal interface IPolicyConfigVista 63 | { 64 | [PreserveSig] 65 | int GetMixFormat(); 66 | 67 | [PreserveSig] 68 | int GetDeviceFormat(); 69 | 70 | [PreserveSig] 71 | int SetDeviceFormat(); 72 | 73 | [PreserveSig] 74 | int GetProcessingPeriod(); 75 | 76 | [PreserveSig] 77 | int SetProcessingPeriod(); 78 | 79 | [PreserveSig] 80 | int GetShareMode(); 81 | 82 | [PreserveSig] 83 | int SetShareMode(); 84 | 85 | [PreserveSig] 86 | int GetPropertyValue(); 87 | 88 | [PreserveSig] 89 | int SetPropertyValue(); 90 | 91 | [PreserveSig] 92 | int SetDefaultEndpoint([MarshalAs(UnmanagedType.LPWStr)] string wszDeviceId, ERole eRole); 93 | 94 | [PreserveSig] 95 | int SetEndpointVisibility(); 96 | } 97 | 98 | [ComImport] 99 | [Guid("870af99c-171d-4f9e-af0d-e63df40c2bc9")] 100 | internal class _CPolicyConfigClient 101 | { 102 | } 103 | 104 | [ComImport] 105 | [Guid("294935CE-F637-4E7C-A41B-AB255460B862")] 106 | internal class _CPolicyConfigVistaClient 107 | { 108 | } 109 | 110 | public class CPolicyConfigClient 111 | { 112 | private readonly IPolicyConfig _policyConfigClient = new _CPolicyConfigClient() as IPolicyConfig; 113 | 114 | public int SetDefaultDevice(string deviceID) 115 | { 116 | _policyConfigClient.SetDefaultEndpoint(deviceID, ERole.eConsole); 117 | _policyConfigClient.SetDefaultEndpoint(deviceID, ERole.eMultimedia); 118 | _policyConfigClient.SetDefaultEndpoint(deviceID, ERole.eCommunications); 119 | return 0; 120 | } 121 | } 122 | 123 | public class CPolicyConfigVistaClient 124 | { 125 | private readonly IPolicyConfigVista 126 | _policyConfigVistaClient = new _CPolicyConfigVistaClient() as IPolicyConfigVista; 127 | 128 | public int SetDefaultDevice(string deviceID) 129 | { 130 | _policyConfigVistaClient.SetDefaultEndpoint(deviceID, ERole.eConsole); 131 | _policyConfigVistaClient.SetDefaultEndpoint(deviceID, ERole.eMultimedia); 132 | _policyConfigVistaClient.SetDefaultEndpoint(deviceID, ERole.eCommunications); 133 | return 0; 134 | } 135 | } -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.th-TH.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | หลัก 5 | โปรแกรมเสริม 6 | การตั้งค่า 7 | ไม่สนใจรายการ 8 | คอนโซล 9 | พร้อม 10 | เริ่มต้น 11 | ยินดีต้อนรับสู่ RequestifyTF2,กดปุ่มสตาร์ทเครื่องยนต์ 12 | อะไร?อะไรที่ทำให้คุณคิดว่าคุณสำหรับกำหนดเส้นทางในการตั้งค่า! 13 | คุณควรจะสื่อเริ่มก่อนที่เริ่มการทำงานเป็นเกม! 14 | คัดลอกไว้ที่นี่@title:menu ของคุณปล่อชื่อ 15 | แอดมินชื่อ: 16 | ตัดเสียง 17 | คำสั่งของ 18 | โปรแกรมเสริม 19 | เคล็ดลับ:ดับเบิลคลิกบนโปรแกรมเสริมหรือคำสั่งจะปิดการใช้งานพวกเขา 20 | ส่วนติดต่อผู้ใช้ภาษา 21 | แกนกลาง(เกม)ภาษา 22 | เลือกเกมออกจากเกมส์เบราว์เซอร์ 23 | ด้วยตนเองเลือกเกมเส้นทาง 24 | สถิติ: 25 | บรรทัดต่างๆที่วิเคราะห์: 26 | ของคุณตาย: 27 | คำสั่งของต่างๆที่วิเคราะห์: 28 | เกมตาย: 29 | เกมฆ่า: 30 | ทั้งหมดตาย: 31 | คุณฆ่า: 32 | คุณครับ\N การฆ่าตัวตายมี: 33 | ทั้งหมดจะฆ่า: 34 | เกมการฆ่าตัวตาย: 35 | ของคุณ Crits ฆ่า: 36 | ทั้งหมดรฆ่าตัวตาย: 37 | เกม Crits ฆ่า: 38 | ทั้งหมด Crits ฆ่า: 39 | TF2 เดียว 40 | ชื่อ 41 | เพิ่ม 42 | กลับคืนมาเหมือนเดิม 43 | ลบ 44 | พยายามที่จะใช้ RequestifyTF2 ถูกบล็อค: 45 | เกิดข้อผิดพลาด 46 | ได้โปรดตั้งค่าเกมส์ไดเรกทอรี 47 | หยุด 48 | สถานะ:ทำงาน 49 | เลือกเกมองโฟลเดอร์ 50 | เกมปัจจุบันแหน่งจัดเก็บเอกสาร: 51 | นี่ไม่ใช่แหล่งข่าวเครื่องยนต์เกม 52 | ฉันไม่สามารถค้นหาโปรแกรมเสริม 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.ro-RO.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Principalele 5 | Plugin-uri 6 | Setări 7 | Lista De Ignore 8 | Consola 9 | Gata 10 | Începe 11 | Bine ati venit la RequestifyTF2, apăsați Start. 12 | Nu uitați să specificați calea în setările! 13 | Ar trebui să apăsați Start înainte de a lansa un joc! 14 | Copia aici steam numele 15 | Admin Nume: 16 | Dezactivat 17 | Comenzi 18 | Plugin-uri 19 | Sfat: faceți Dublu-Clic pe Plugin-uri sau Comenzi va dezactivați-le 20 | UI Language 21 | De Bază (Joc) Limba 22 | Selectați Joc de Joc de Browser 23 | Manual Selectați Jocul Calea 24 | Statistici: 25 | Linii De Analizat: 26 | Moartea Voastră: 27 | Comenzi Analizat: 28 | Joc Decese: 29 | Joc Ucide: 30 | Numărul Total De Decese: 31 | Ucide: 32 | Ta Sinucideri: 33 | Total Ucide: 34 | Joc De Sinucideri: 35 | Ta Criticale Ucide: 36 | Total De Sinucideri: 37 | Joc Criticale Ucide: 38 | Total Criticale Ucide: 39 | TF2 numai 40 | Numele 41 | Adauga 42 | Inversat 43 | Elimina 44 | Încercările de a folosi RequestifyTF2 blocat: 45 | Eroare 46 | Vă rugăm să setați directorul de joc 47 | Stop 48 | Status: De Lucru 49 | Selectați folderul de joc 50 | Jocul curent cale: 51 | Acest lucru nu este o Sursă joc de Motor 52 | Eu nu pot găsi nici un plugin-uri 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.bg-BG.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Основни 5 | Плъгини 6 | Настройки 7 | Списък На Игнорираните 8 | Конзола 9 | Готов 10 | Старт 11 | Добре дошли в RequestifyTF2, натиснете Старт. 12 | Не забравяйте да зададете пътя в настройките! 13 | Трябва да натиснете Старт преди стартирането на игра! 14 | Копирам тук своя Steam име 15 | Админ име: 16 | Заглушен 17 | Команди 18 | Плъгини 19 | Съвет: Щракнете двукратно върху плъгини или командите ще ги забраните 20 | Език на интерфейса 21 | Ядро (игра) език 22 | Изберете игра от браузър игра 23 | Изберете ръчно пътя за играта 24 | Статистики: 25 | Линии се анализира: 26 | Вашите смъртни случаи: 27 | Команди разбор: 28 | Смъртта На Играта: 29 | Играта убива: 30 | Общо смъртни случаи: 31 | Вашият Убива: 32 | Играта Самоубийства: 33 | Общо убива: 34 | Играта Самоубийства: 35 | Вашите Криты Убива: 36 | Общи Самоубийства: 37 | Играта Криты Убива: 38 | Общи Криты Убива: 39 | TF2 само 40 | Име 41 | Добави 42 | Обратно 43 | Изтриете 44 | Опитите да се използва RequestifyTF2 блокирани: 45 | Грешка 46 | Моля, инсталирайте в директория на играта 47 | Спирка 48 | Статус: Работи 49 | Изберете папката с играта 50 | Текущи пътя за играта: 51 | Това не е игра на двигателя Source 52 | Не мога да намеря някакви плъгини 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.de-DE.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Haupt - 5 | Plugins 6 | Einstellungen 7 | Ignorieren-Liste 8 | Konsole 9 | Bereit 10 | Starten 11 | Willkommen zu RequestifyTF2, drücken Sie Start. 12 | Vergessen Sie nicht, geben Sie den Pfad in den Einstellungen! 13 | Drücken Sie den Start vor dem Start eines Spiels! 14 | Kopieren Sie hier Ihren steam Namen 15 | Admin Name: 16 | Stumm 17 | Befehle 18 | Plugins 19 | Tipp: mit einem Doppelklick auf Plugins oder Befehle zu deaktivieren 20 | UI-Sprache 21 | Kern (Spiel) Sprache 22 | Wählen Sie Spiel von Spiel-Browser 23 | Wählen Sie Manuell-Spiel Weg 24 | Statistik: 25 | Linien Analysiert: 26 | Ihre Todesfälle: 27 | Befehle Analysiert: 28 | Spiel Todesfälle: 29 | Spiel Tötet: 30 | Die Gesamtzahl Der Todesfälle: 31 | Ihr Tötet: 32 | Ihre Selbstmorde: 33 | Gesamt Kills: 34 | Spiel Selbstmorde: 35 | Ihre Crits Tötet: 36 | Insgesamt Selbstmorde: 37 | Spiel-Treffer-Kills: 38 | Gesamt-Treffer-Kills: 39 | TF2 nur 40 | Name 41 | Hinzufügen 42 | Umgekehrt 43 | Entfernen 44 | Versuche, die RequestifyTF2 blockiert: 45 | Fehler 46 | Bitte legen Sie das Spiel-Verzeichnis 47 | Stoppen 48 | Status: In Betrieb 49 | Wählen Sie Spiel-Ordner 50 | Aktuelle game Pfad: 51 | Dies ist nicht ein Source-Engine Spiel 52 | Ich finde keine plugins 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.pl-PL.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Strona główna 5 | Wtyczki 6 | Parametry 7 | Lista Ignorowanych 8 | Konsola 9 | Gotowy 10 | Zacząć 11 | Witamy w RequestifyTF2, naciśnij przycisk Start. 12 | Nie zapomnij podać ścieżkę w ustawieniach! 13 | Musisz kliknąć Start do uruchomienia gry! 14 | To skopiuję tutaj swój Steam nazwę 15 | Nazwa Administratora: 16 | Wyciszony 17 | Drużyny 18 | Wtyczki 19 | Wskazówka: podwójne kliknięcie na wtyczki lub polecenia je wyłączyć 20 | Język interfejsu 21 | Jądra (Gry) Język 22 | Wybierz gry z gra przeglądarkowa 23 | Ręcznie Wybrać Ścieżkę Do Gry 24 | Statystyki: 25 | Wierszy Przetworzone: 26 | Twoja Śmierć: 27 | Drużyny Rozebrane: 28 | Śmierci Gry: 29 | Gra Zabija: 30 | Całkowita Liczba Przypadków Śmierci: 31 | Twój Zabija: 32 | Rozdzielczy Jogging: 33 | Łączna Liczba Zabójstw: 34 | Gra Samobójstw: 35 | Swoje Krytyczne Zabija: 36 | Wspólna Samobójstw: 37 | Gra Krytyczne Zabija: 38 | Wspólna Krytyczne Zabija: 39 | Tylko ТФ2 40 | Nazwa 41 | Dodać 42 | Odwrócić 43 | Usunąć 44 | Próby wykorzystania RequestifyTF2 jest zablokowany: 45 | Błąd 46 | Proszę zainstalować w katalogu gry 47 | Przystanek 48 | Status: Działa 49 | Wybierz folder z grą 50 | Bieżącą grę ścieżka: 51 | To nie jest Źródło silnik gry 52 | Nie mogę znaleźć jakieś moduły 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.pt-PT.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Principal 5 | Plugins 6 | Definições 7 | Lista De Ignorados. 8 | Console 9 | Pronto 10 | Iniciar 11 | Bem-vindo ao RequestifyTF2, prima Iniciar. 12 | Não se esqueça de especificar o caminho nas configurações! 13 | Você deve pressionar Iniciar antes de iniciar um jogo! 14 | Copie aqui o seu nome de vapor 15 | Nome Do Admin: 16 | Mudo 17 | Comandos 18 | Plugins 19 | Dica: clique duas vezes em Plugins ou Comandos irá desativá-los 20 | Idioma de INTERFACE do usuário 21 | Núcleo (Jogo) Língua 22 | Seleccione um Jogo de Browser Jogo 23 | Selecione Manualmente O Caminho De Jogo 24 | Estatísticas: 25 | Linhas Analisado: 26 | A Sua Morte: 27 | Comandos Analisado: 28 | Jogo De Mortes: 29 | Jogo Mata: 30 | Total De Mortes: 31 | Sua Mata: 32 | Seu Suicídios: 33 | Total De Mortes: 34 | Jogo De Suicídios: 35 | Seus Críticos Mata: 36 | Total De Suicídios: 37 | Jogo De Críticos De Kills: 38 | Total Críticos Mata: 39 | TF2 só 40 | Nome 41 | Adicionar 42 | Revertida 43 | Remover 44 | Tenta usar RequestifyTF2 bloqueado: 45 | Erro 46 | Por favor, defina o diretório de jogos 47 | Parar 48 | Status: Funcionando 49 | Seleccione a pasta do jogo 50 | Jogo atual caminho: 51 | Este não é um jogo do Motor Source 52 | Eu não posso encontrar qualquer plugins 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.hu-HU.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Dugó 6 | Beállítások 7 | Ignore Lista 8 | Konzol 9 | Kész 10 | Start 11 | Üdv RequestifyTF2, nyomja meg a Start gombot. 12 | Ne felejtsd el, hogy adja meg az elérési utat a beállításokat! 13 | Meg kell nyomni a Start indítása előtt egy játék! 14 | Másolja ide a steam név 15 | Admin Neve: 16 | Némítva 17 | Parancsok 18 | Dugó 19 | Tipp: Dupla Kattintás Plugin vagy Parancsok letiltja őket 20 | UI Nyelv 21 | Core (Játék) Nyelv 22 | Válassza ki a Játék, a Játék Böngészőben 23 | Kézzel Válassza Ki A Játék Út 24 | Statisztikák: 25 | Vonalak Értelmezi: 26 | A Halálesetek: 27 | Parancsok Értelmezi: 28 | Játék Haláleset: 29 | Játék Megöl: 30 | Összesen Haláleset: 31 | A Öli Meg: 32 | Az Öngyilkosságok: 33 | Teljes Megöli: 34 | Játék Öngyilkosságok: 35 | Az Ad Kritikus Találatokat Megöli: 36 | Teljes Öngyilkosságok: 37 | A Játék Ad Kritikus Találatokat Megöli: 38 | Összesen Ad Kritikus Találatokat Megöli: 39 | Csak a TF2 40 | Név 41 | Add 42 | Fordított 43 | Eltávolítani 44 | Megpróbálja használni RequestifyTF2 letiltott: 45 | Hiba 46 | Kérjük, állítsa be a játék könyvtárába 47 | Stop 48 | Állapot: Működő 49 | Válassza ki a játék mappáját 50 | Aktuális játék útvonal: 51 | Ez nem egy Forrás Motor játék 52 | Nem találok semmilyen plugin 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.pt-BR.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Principal 5 | Plugins 6 | Configurações 7 | Lista de Ignorados 8 | Console 9 | Pronto 10 | Início 11 | Bem-vindo ao RequestifyTF2, prima Iniciar. 12 | Não se esqueça de especificar o caminho nas configurações! 13 | Você deve pressionar Iniciar antes de iniciar um jogo! 14 | Copie aqui o seu nome de vapor 15 | Nome do administrador: 16 | Silencioso 17 | Comandos 18 | Plugins 19 | Dica: clique duas vezes em Plugins ou Comandos irá desativá-los 20 | Linguagem da Interface 21 | Núcleo (Jogo) Língua 22 | Seleccione um Jogo de Browser Jogo 23 | Selecione Manualmente O Caminho De Jogo 24 | Estatística: 25 | Linhas Analisado: 26 | A Sua Morte: 27 | Comandos Analisado: 28 | Jogo De Mortes: 29 | Jogo Mata: 30 | Total de Mortes: 31 | Suas Kills: 32 | Seu Suicídios: 33 | Total de Assassinatos: 34 | Seu Suicídios: 35 | Seus Críticos Mata: 36 | Seu Suicídios: 37 | Seus Críticos Mata: 38 | Total Críticos Mata: 39 | TF2 só 40 | Name 41 | Adicionar 42 | Invertido 43 | Remover 44 | Tenta usar RequestifyTF2 bloqueado: 45 | Erro 46 | Por favor, escolha o diretório para salvar 47 | Interromper 48 | Status: Funcionando 49 | Selecione uma pasta 50 | Jogo atual caminho: 51 | Este não é um jogo do Motor Source 52 | Eu não posso encontrar qualquer plugins 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.uk-UA.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Головна 5 | Плагіни 6 | Параметри 7 | Чорний список 8 | Консоль 9 | Готовий 10 | Почати 11 | Ласкаво просимо в RequestifyTF2, натисніть кнопку Старт. 12 | Не забудьте вказати шлях у налаштуваннях! 13 | Ви повинні натиснути Старт до запуску гри! 14 | Введiть сюди свій Steam нiкнейм 15 | Ім'я Адміністратора: 16 | Тиша 17 | Команди 18 | Плагіни 19 | Порада: Подвійне клацання на Плагіни або Команди буде їх відключити 20 | Мова інтерфейсу 21 | Ядро (Ігри) Мови 22 | Виберіть ігри з браузерна гра 23 | Вручну Вибрати Шлях До Гри 24 | Статистика: 25 | Рядків Опрацьовано: 26 | Ваших Загибель: 27 | Команди Розібрані: 28 | Смертей у грі: 29 | Вбивств У Грі: 30 | Загальна Кількість Смертей: 31 | Ваших Вбивств: 32 | Ваших Самогубств: 33 | Загальна Кількість Вбивств: 34 | Ігрових Самогубств: 35 | Ваших Вбивств Критом: 36 | Загальна Кількість Самогубств: 37 | Вбивств Критом: 38 | Загальна Кількість Вбивств Критом: 39 | Тільки ТФ2 40 | Ім’я 41 | Додати 42 | У зворотньому порядку 43 | Видалити 44 | Спроби використовувати RequestifyTF2 заблоковані: 45 | Помилка 46 | Будь ласка, оберіть ігровий каталог 47 | Зупинити 48 | Статус: Працює 49 | Виберіть папку з грою 50 | Шлях до поточної гри: 51 | Це не гра на движку Source 52 | Я не можу знайти будь-яких плагінів 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.it-IT.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Principale 5 | Plugin 6 | Impostazioni 7 | Lista Ignorati 8 | Console 9 | Pronto 10 | Inizio 11 | Benvenuti a RequestifyTF2, premere il tasto Start. 12 | Non dimenticare di specificare il percorso nelle impostazioni! 13 | È necessario premere il tasto di Avvio prima di avviare un gioco! 14 | Copia qui il tuo nome steam 15 | Admin Name: 16 | Silenziato 17 | Comandi 18 | Plugin 19 | Suggerimento: fare Doppio Clic sul plug-in o i Comandi di disattivarli 20 | Lingua dell'interfaccia utente 21 | Core (Gioco) Lingua 22 | Selezionare il Gioco dal Browser Game 23 | Selezionare Manualmente Il Percorso Di Gioco 24 | Statistiche: 25 | Linee Analizzato: 26 | Il Tuo Morti: 27 | Comandi Analizzato: 28 | Gioco Di Morti: 29 | Gioco Uccide: 30 | Totale Morti: 31 | Il Vostro Uccide: 32 | Il Tuo Suicidi: 33 | Totale Di Uccisioni: 34 | Gioco Suicidi: 35 | Il Tuo Critici Uccide: 36 | Totale Suicidi: 37 | Gioco Critici Uccide: 38 | Totale Critici Uccide: 39 | TF2 solo 40 | Nome 41 | Aggiungere 42 | Invertito 43 | Rimuovere 44 | I tentativi di utilizzare RequestifyTF2 bloccato: 45 | Errore 46 | Si prega di impostare il gioco directory 47 | Stop 48 | Status: Lavoro 49 | Selezionare cartella di gioco 50 | Attuale percorso di gioco: 51 | Questa non è una Fonte del Motore di gioco 52 | Non riesco a trovare un plugin 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Resources/lang.fr-FR.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Principal 5 | Les Plugins 6 | Paramètres 7 | La Liste Des Ignorés 8 | Console 9 | Prêt 10 | Démarrer 11 | Bienvenue à RequestifyTF2, appuyez sur Start. 12 | Ne pas oublier de spécifier le chemin d'accès dans les paramètres! 13 | Vous devez appuyer sur Start avant de lancer un jeu! 14 | Copie ici votre nom steam 15 | Admin Nom: 16 | En sourdine 17 | Les commandes 18 | Les Plugins 19 | Astuce: Double-Cliquant sur les Plugins ou les Commandes de les désactiver 20 | Langue de l'INTERFACE utilisateur 21 | De Base (Jeu) Langue 22 | Sélectionnez le Jeu de Jeu de Navigateur 23 | Sélectionner Manuellement Le Jeu Chemin 24 | Statistiques: 25 | Lignes Analysée: 26 | Votre Nombre De Décès: 27 | Les Commandes Analysée: 28 | Jeu De Décès: 29 | Jeu Tue: 30 | Le Nombre Total De Décès: 31 | Votre Tue: 32 | Votre Suicides: 33 | Total Tue: 34 | Jeu De Suicides: 35 | Votre Crits Tue: 36 | Total Des Suicides: 37 | Jeu Crits Tue: 38 | Total Crits Tue: 39 | TF2 seulement 40 | Nom 41 | Ajouter 42 | Inversé 43 | Supprimer 44 | Les tentatives d'utilisation de RequestifyTF2 bloqué: 45 | Erreur 46 | Veuillez définir le répertoire du jeu 47 | Arrêter 48 | Statut: Travail 49 | Sélectionnez le dossier de jeu 50 | Jeu en cours de chemin d'accès: 51 | Ce n'est pas une Source du Moteur de jeu 52 | Je ne peux pas trouver les tous les plugins 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/GUI/RequestifyTF2GUI/Controls/MainTab.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 15 | 17 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 35 | 36 | 37 | 39 | 41 | 42 | 43 | 47 | 48 | 49 | 53 | 54 | 55 | 59 | 60 | 61 | 63 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 |