Cypher Source!

This commit is contained in:
Bitl 2018-09-22 07:21:02 -07:00
parent 96da58b83e
commit 6d4f355322
32 changed files with 8898 additions and 0 deletions

View File

@ -0,0 +1,67 @@
; Script generated by the Inno Script Studio Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Cypher"
#define MyAppVersion "1.0.0.0"
#define MyAppPublisher "Bitl"
#define MyAppURL ""
#define MyAppExeName "Cypher_Installer.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{65E21311-941A-44E6-904F-168BE26A11DB}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=.
OutputBaseFilename=Cypher_setup
SetupIconFile=icon.ico
Compression=lzma2/ultra64
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "Create a icon on your Desktop"; GroupDescription: "Icons"
[Files]
Source: "client\AppSettings.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\copyrights.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\fmodex.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Client.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Server.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Installer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Customizer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_DedicatedServer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_PlaySolo.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Launcher.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\ReflectionMetadata.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\rgmain.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\rgpar.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\SciLexer.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Microsoft.VC90.MFC\*"; DestDir: "{app}\Microsoft.VC90.MFC"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\Microsoft.VC90.CRT\*"; DestDir: "{app}\Microsoft.VC90.CRT"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\content\*"; DestDir: "{app}\content"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\Styles\*"; DestDir: "{app}\Styles"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\maps\*"; DestDir: "{app}\maps"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\cache\*"; DestDir: "{app}\cache"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Origins07 - Customize Character"; Filename: "{app}\Origins07_Customizer.exe"; Tasks: desktopicon
Name: "{commondesktop}\Origins07 - Play Solo"; Filename: "{app}\Origins07_PlaySolo.exe"; Tasks: desktopicon
Name: "{commondesktop}\Origins07"; Filename: "http://origins07.epizy.com/index.php"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "Install URI (Required for Games)"; Flags: nowait postinstall skipifsilent

View File

@ -0,0 +1,15 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
# SharpDevelop 4.4
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cypher_Launcher", "Cypher_Launcher\Cypher_Launcher.csproj", "{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Launcher|Any CPU = Launcher|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}.Launcher|Any CPU.Build.0 = Release|Any CPU
{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}.Launcher|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@ -0,0 +1 @@
<OpenCoverSettings />

View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectGuid>{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType>
<RootNamespace>Cypher_Launcher</RootNamespace>
<AssemblyName>Cypher_Launcher</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<AppDesignerFolder>Properties</AppDesignerFolder>
<ApplicationIcon>Resources\icon.ico</ApplicationIcon>
<NoWin32Manifest>False</NoWin32Manifest>
<SignAssembly>False</SignAssembly>
<DelaySign>False</DelaySign>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<WarningLevel>4</WarningLevel>
<RunCodeAnalysis>False</RunCodeAnalysis>
<SourceAnalysisOverrideSettingsFile>C:\Users\BITL\AppData\Roaming\ICSharpCode/SharpDevelop4\Settings.SourceAnalysis</SourceAnalysisOverrideSettingsFile>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
<BaseAddress>4194304</BaseAddress>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<FileAlignment>4096</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
<DebugSymbols>True</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DefineConstants>TRACE</DefineConstants>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<StartAction>Project</StartAction>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="HelperFuncs.cs" />
<Compile Include="SoloForm.cs" />
<Compile Include="SoloForm.Designer.cs">
<DependentUpon>SoloForm.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SoloForm.resx">
<DependentUpon>SoloForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,435 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/6/2017
* Time: 11:12 AM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Reflection;
namespace Cypher_Launcher
{
public static class GlobalVars
{
public static string SharedArgs;
public static string Name = "Player";
public static string HatName = "NoHat.rbxm";
public static int HeadColor = 24;
public static int TorsoColor = 23;
public static int LeftArmColor = 24;
public static int RightArmColor = 24;
public static int LeftLegColor = 119;
public static int RightLegColor = 119;
public static string ColorMenu_HeadColor = "Color [A=255, R=245, G=205, B=47]";
public static string ColorMenu_TorsoColor = "Color [A=255, R=13, G=105, B=172]";
public static string ColorMenu_LeftArmColor = "Color [A=255, R=245, G=205, B=47]";
public static string ColorMenu_RightArmColor = "Color [A=255, R=245, G=205, B=47]";
public static string ColorMenu_LeftLegColor = "Color [A=255, R=164, G=189, B=71]";
public static string ColorMenu_RightLegColor = "Color [A=255, R=164, G=189, B=71]";
public static string ScriptLuaFile = "\\game.dat";
public static string Config = "config.dat";
public static int UserID = 0;
public static int AASamples = 0;
public static bool Shadows = false;
public static int BotCount = 16;
}
public class SecurityFuncs
{
public SecurityFuncs()
{
}
public static void WriteConfigValues()
{
string[] lines = {
GlobalVars.Name.ToString(),
GlobalVars.UserID.ToString(),
GlobalVars.HatName.ToString(),
GlobalVars.HeadColor.ToString(),
GlobalVars.TorsoColor.ToString(),
GlobalVars.LeftArmColor.ToString(),
GlobalVars.RightArmColor.ToString(),
GlobalVars.LeftLegColor.ToString(),
GlobalVars.RightLegColor.ToString(),
GlobalVars.ColorMenu_HeadColor.ToString(),
GlobalVars.ColorMenu_TorsoColor.ToString(),
GlobalVars.ColorMenu_LeftArmColor.ToString(),
GlobalVars.ColorMenu_RightArmColor.ToString(),
GlobalVars.ColorMenu_LeftLegColor.ToString(),
GlobalVars.ColorMenu_RightLegColor.ToString(),
GlobalVars.BotCount.ToString(),
GlobalVars.AASamples.ToString(),
GlobalVars.Shadows.ToString()
};
File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config, Base64Encode(string.Join("|",lines)));
}
public static void ReadConfigValues()
{
string line1;
using(StreamReader reader = new StreamReader(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config))
{
line1 = reader.ReadLine();
}
string ConvertedLine = Base64Decode(line1);
string[] result = ConvertedLine.Split('|');
GlobalVars.Name = result[0];
GlobalVars.UserID = Convert.ToInt32(result[1]);
GlobalVars.HatName = result[2];
GlobalVars.HeadColor = Convert.ToInt32(result[3]);
GlobalVars.TorsoColor = Convert.ToInt32(result[4]);
GlobalVars.LeftArmColor = Convert.ToInt32(result[5]);
GlobalVars.RightArmColor = Convert.ToInt32(result[6]);
GlobalVars.LeftLegColor = Convert.ToInt32(result[7]);
GlobalVars.RightLegColor = Convert.ToInt32(result[8]);
GlobalVars.ColorMenu_HeadColor = result[9];
GlobalVars.ColorMenu_TorsoColor = result[10];
GlobalVars.ColorMenu_LeftArmColor = result[11];
GlobalVars.ColorMenu_RightArmColor = result[12];
GlobalVars.ColorMenu_LeftLegColor = result[13];
GlobalVars.ColorMenu_RightLegColor = result[14];
GlobalVars.BotCount = Convert.ToInt32(result[15]);
GlobalVars.AASamples = Convert.ToInt32(result[16]);
GlobalVars.Shadows = Convert.ToBoolean(result[17]);
if (GlobalVars.UserID == 0)
{
GeneratePlayerID();
WriteConfigValues();
}
}
public static void GeneratePlayerID()
{
CryptoRandom random = new CryptoRandom();
int randomID = 0;
int randIDmode = random.Next(0,7);
if (randIDmode == 0)
{
randomID = random.Next(0, 99);
}
else if (randIDmode == 1)
{
randomID = random.Next(0, 999);
}
else if (randIDmode == 2)
{
randomID = random.Next(0, 9999);
}
else if (randIDmode == 3)
{
randomID = random.Next(0, 99999);
}
else if (randIDmode == 4)
{
randomID = random.Next(0, 999999);
}
else if (randIDmode == 5)
{
randomID = random.Next(0, 9999999);
}
else if (randIDmode == 6)
{
randomID = random.Next(0, 99999999);
}
else if (randIDmode == 7)
{
randomID = random.Next();
}
//2147483647 is max id.
GlobalVars.UserID = randomID;
}
public static string Base64Decode(string base64EncodedData)
{
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
}
public static string Base64Encode(string plainText)
{
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
}
}
public class ScriptGenerator
{
public ScriptGenerator()
{
}
public static void GenerateScriptForClient()
{
//next, generate the header functions.
SecurityFuncs.ReadConfigValues();
int aasamples = GlobalVars.AASamples.Equals(0) ? 1 : GlobalVars.AASamples.Equals(1) ? 4 : GlobalVars.AASamples.Equals(2) ? 8 : 1;
string header = MultiLine(
"function newWaitForChild(newParent,name)",
"local returnable = nil",
"if newParent:FindFirstChild(name) then",
"returnable = newParent:FindFirstChild(name)",
"else",
"repeat wait() returnable = newParent:FindFirstChild(name) until returnable ~= nil",
"end",
"return returnable",
"end",
"settings().Rendering.Shadows = " + GlobalVars.Shadows.ToString().ToLower(),
"settings().Rendering.AASamples = " + aasamples
);
string playersettings = MultiLine(
"UserID = " + GlobalVars.UserID,
"PlayerName = '" + GlobalVars.Name + "'",
"Hat1ID = '" + GlobalVars.HatName + "'",
"HeadColorID = " + GlobalVars.HeadColor,
"TorsoColorID = " + GlobalVars.TorsoColor,
"LeftArmColorID = " + GlobalVars.LeftArmColor,
"RightArmColorID = " + GlobalVars.RightArmColor,
"LeftLegColorID = " + GlobalVars.LeftLegColor,
"RightLegColorID = " + GlobalVars.RightLegColor,
"BotCount = " + GlobalVars.BotCount,
);
//add customization funcs
string customizationgen = MultiLine(
"function InitalizeClientAppearance(Player,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,HatID)",
"local newCharApp = Instance.new('IntValue',Player)",
"newCharApp.Name = 'Appearance'",
"for i=1,6,1 do",
"local BodyColor = Instance.new('BrickColorValue',newCharApp)",
"if (i == 1) then",
"if (HeadColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(HeadColorID)",
"BodyColor.Name = 'HeadColor (ID: '..HeadColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'HeadColor (ID: 1)'",
"end",
"elseif (i == 2) then",
"if (TorsoColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(TorsoColorID)",
"BodyColor.Name = 'TorsoColor (ID: '..TorsoColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'TorsoColor (ID: 1)'",
"end",
"elseif (i == 3) then",
"if (LeftArmColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(LeftArmColorID)",
"BodyColor.Name = 'LeftArmColor (ID: '..LeftArmColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'LeftArmColor (ID: 1)'",
"end",
"elseif (i == 4) then",
"if (RightArmColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(RightArmColorID)",
"BodyColor.Name = 'RightArmColor (ID: '..RightArmColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'RightArmColor (ID: 1)'",
"end",
"elseif (i == 5) then",
"if (LeftLegColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(LeftLegColorID)",
"BodyColor.Name = 'LeftLegColor (ID: '..LeftLegColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'LeftLegColor (ID: 1)'",
"end",
"elseif (i == 6) then",
"if (RightLegColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(RightLegColorID)",
"BodyColor.Name = 'RightLegColor (ID: '..RightLegColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'RightLegColor (ID: 1)'",
"end",
"end",
"local typeValue = Instance.new('NumberValue')",
"typeValue.Name = 'CustomizationType'",
"typeValue.Parent = BodyColor",
"typeValue.Value = 1",
"local indexValue = Instance.new('NumberValue')",
"indexValue.Name = 'ColorIndex'",
"indexValue.Parent = BodyColor",
"indexValue.Value = i",
"end",
"local newHat = Instance.new('StringValue',newCharApp)",
"if (HatID ~= nil) then",
"newHat.Value = HatID",
"newHat.Name = HatID",
"else",
"newHat.Value = 'NoHat.rbxm'",
"newHat.Name = 'NoHat.rbxm'",
"end",
"local typeValue = Instance.new('NumberValue')",
"typeValue.Name = 'CustomizationType'",
"typeValue.Parent = newHat",
"typeValue.Value = 2",
"end",
"function LoadCharacterNew(playerApp,newChar)",
"local charparts = {[1] = newWaitForChild(newChar,'Head'),[2] = newWaitForChild(newChar,'Torso'),[3] = newWaitForChild(newChar,'Left Arm'),[4] = newWaitForChild(newChar,'Right Arm'),[5] = newWaitForChild(newChar,'Left Leg'),[6] = newWaitForChild(newChar,'Right Leg')}",
"for _,newVal in pairs(playerApp:GetChildren()) do",
"newWaitForChild(newVal,'CustomizationType')",
"local customtype = newVal:FindFirstChild('CustomizationType')",
"if (customtype.Value == 1) then ",
"pcall(function()",
"newWaitForChild(newVal,'ColorIndex')",
"local colorindex = newVal:FindFirstChild('ColorIndex')",
"charparts[colorindex.Value].BrickColor = newVal.Value ",
"end)",
"elseif (customtype.Value == 2) then",
"pcall(function()",
"local newHat = game.Workspace:InsertContent('rbxasset://hats/'..newVal.Value)",
"if newHat[1] then ",
"if newHat[1].className == 'Hat' then",
"newHat[1].Parent = newChar",
"else",
"newHat[1]:remove()",
"end",
"end",
"end)",
"end",
"end",
"end"
);
//string botcode = MultiLine(
// );
//finally, we generate the actual script code.
string code = MultiLine(
"game:GetService('RunService'):run()",
"local plr = game.Players:CreateLocalPlayer(UserID)",
"plr.Name = PlayerName",
"plr:LoadCharacter()",
"pcall(function() plr:SetUnder13(false) end)",
"pcall(function() plr:SetAccountAge(365) end)",
"InitalizeClientAppearance(plr,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,Hat1ID)",
"LoadCharacterNew(newWaitForChild(plr,'Appearance'),plr.Character)",
"game:GetService('Visit')",
"while true do",
"wait(0.001)",
"if (plr.Character ~= nil) then",
"if (plr.Character.Humanoid.Health == 0) then",
"wait(5)",
"plr:LoadCharacter()",
"LoadCharacterNew(newWaitForChild(plr,'Appearance'),plr.Character,plr.Backpack)",
"elseif (plr.Character.Parent == nil) then ",
"wait(5)",
"plr:LoadCharacter()",
"LoadCharacterNew(newWaitForChild(plr,'Appearance'),plr.Character,plr.Backpack)",
"end",
"end",
"end"
);
string scriptfile = MultiLine(
header,
playersettings,
customizationgen,
code
);
List<string> list = new List<string>(Regex.Split(scriptfile, Environment.NewLine));
string[] convertedList = list.ToArray();
File.WriteAllLines(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + GlobalVars.ScriptLuaFile, convertedList);
}
static string MultiLine(params string[] args)
{
return string.Join(Environment.NewLine, args);
}
}
///<summary>
/// Represents a pseudo-random number generator, a device that produces random data.
///</summary>
class CryptoRandom : RandomNumberGenerator
{
private static RandomNumberGenerator r;
///<summary>
/// Creates an instance of the default implementation of a cryptographic random number generator that can be used to generate random data.
///</summary>
public CryptoRandom()
{
r = RandomNumberGenerator.Create();
}
///<summary>
/// Fills the elements of a specified array of bytes with random numbers.
///</summary>
///<param name=”buffer”>An array of bytes to contain random numbers.</param>
public override void GetBytes(byte[] buffer)
{
r.GetBytes(buffer);
}
///
/// Fills an array of bytes with a cryptographically strong random sequence of nonzero values.
///
/// The array to fill with cryptographically strong random nonzero bytes
public override void GetNonZeroBytes(byte[] data)
{
r.GetNonZeroBytes(data);
}
///<summary>
/// Returns a random number between 0.0 and 1.0.
///</summary>
public double NextDouble()
{
byte[] b = new byte[4];
r.GetBytes(b);
return (double)BitConverter.ToUInt32(b, 0) / UInt32.MaxValue;
}
///<summary>
/// Returns a random number within the specified range.
///</summary>
///<param name=”minValue”>The inclusive lower bound of the random number returned.</param>
///<param name=”maxValue”>The exclusive upper bound of the random number returned. maxValue must be greater than or equal to minValue.</param>
public int Next(int minValue, int maxValue)
{
return (int)Math.Round(NextDouble() * (maxValue - minValue - 1)) + minValue;
}
///<summary>
/// Returns a nonnegative random number.
///</summary>
public int Next()
{
return Next(0, Int32.MaxValue);
}
///<summary>
/// Returns a nonnegative random number less than the specified maximum
///</summary>
///<param name=”maxValue”>The inclusive upper bound of the random number returned. maxValue must be greater than or equal 0</param>
public int Next(int maxValue)
{
return Next(0, maxValue);
}
}
}

View File

@ -0,0 +1,35 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 5/21/2017
* Time: 4:36 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows.Forms;
namespace Cypher_Launcher
{
/// <summary>
/// Class with program entry point.
/// </summary>
internal sealed class Program
{
static string ProcessInput(string s)
{
return s;
}
/// <summary>
/// Program entry point.
/// </summary>
[STAThread]
private static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new SoloForm());
}
}
}

View File

@ -0,0 +1,31 @@
#region Using directives
using System;
using System.Reflection;
using System.Runtime.InteropServices;
#endregion
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Cypher_Launcher")]
[assembly: AssemblyDescription("Cypher Launcher")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Bitl")]
[assembly: AssemblyProduct("Cypher_Launcher")]
[assembly: AssemblyCopyright("Copyright 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// This sets the default COM visibility of types in the assembly to invisible.
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
[assembly: ComVisible(false)]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all the values or you can use the default the Revision and
// Build Numbers by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

View File

@ -0,0 +1,876 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/4/2017
* Time: 5:24 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace Cypher_Launcher
{
partial class SoloForm
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SoloForm));
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.listBox1 = new System.Windows.Forms.ListBox();
this.label2 = new System.Windows.Forms.Label();
this.ColorButton25 = new System.Windows.Forms.Button();
this.ColorButton16 = new System.Windows.Forms.Button();
this.ColorButton7 = new System.Windows.Forms.Button();
this.ColorButton32 = new System.Windows.Forms.Button();
this.ColorButton33 = new System.Windows.Forms.Button();
this.ColorButton17 = new System.Windows.Forms.Button();
this.ColorButton28 = new System.Windows.Forms.Button();
this.ColorButton15 = new System.Windows.Forms.Button();
this.ColorButton9 = new System.Windows.Forms.Button();
this.ColorButton31 = new System.Windows.Forms.Button();
this.ColorButton24 = new System.Windows.Forms.Button();
this.ColorButton34 = new System.Windows.Forms.Button();
this.ColorButton8 = new System.Windows.Forms.Button();
this.ColorButton18 = new System.Windows.Forms.Button();
this.ColorButton22 = new System.Windows.Forms.Button();
this.ColorButton10 = new System.Windows.Forms.Button();
this.ColorButton38 = new System.Windows.Forms.Button();
this.ColorButton23 = new System.Windows.Forms.Button();
this.ColorButton27 = new System.Windows.Forms.Button();
this.ColorButton14 = new System.Windows.Forms.Button();
this.ColorButton11 = new System.Windows.Forms.Button();
this.ColorButton26 = new System.Windows.Forms.Button();
this.ColorButton21 = new System.Windows.Forms.Button();
this.ColorButton35 = new System.Windows.Forms.Button();
this.ColorButton37 = new System.Windows.Forms.Button();
this.ColorButton30 = new System.Windows.Forms.Button();
this.ColorButton20 = new System.Windows.Forms.Button();
this.ColorButton13 = new System.Windows.Forms.Button();
this.ColorButton12 = new System.Windows.Forms.Button();
this.ColorButton19 = new System.Windows.Forms.Button();
this.ColorButton29 = new System.Windows.Forms.Button();
this.ColorButton36 = new System.Windows.Forms.Button();
this.LLegButton6 = new System.Windows.Forms.Button();
this.RLegButton5 = new System.Windows.Forms.Button();
this.LArmButton4 = new System.Windows.Forms.Button();
this.RArmButton3 = new System.Windows.Forms.Button();
this.TorsoButton2 = new System.Windows.Forms.Button();
this.HeadButton1 = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.PartSelectionLabel2 = new System.Windows.Forms.Label();
this.PartLabel1 = new System.Windows.Forms.Label();
this.ResetColorsButton40 = new System.Windows.Forms.Button();
this.RandColorsButton39 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button8 = new System.Windows.Forms.Button();
this.label6 = new System.Windows.Forms.Label();
this.listBox2 = new System.Windows.Forms.ListBox();
this.label7 = new System.Windows.Forms.Label();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label9 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label11 = new System.Windows.Forms.Label();
this.checkBox1 = new System.Windows.Forms.CheckBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(273, 94);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(130, 20);
this.textBox1.TabIndex = 0;
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged);
//
// label1
//
this.label1.Location = new System.Drawing.Point(189, 94);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(77, 20);
this.label1.TabIndex = 1;
this.label1.Text = "Username";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// button1
//
this.button1.Location = new System.Drawing.Point(4, 396);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(561, 23);
this.button1.TabIndex = 2;
this.button1.Text = "Launch!";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(292, 144);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(128, 104);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 3;
this.pictureBox1.TabStop = false;
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.IntegralHeight = false;
this.listBox1.Location = new System.Drawing.Point(426, 144);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(136, 104);
this.listBox1.TabIndex = 4;
this.listBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1SelectedIndexChanged);
//
// label2
//
this.label2.Location = new System.Drawing.Point(288, 120);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(274, 21);
this.label2.TabIndex = 5;
this.label2.Text = "Hat";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// ColorButton25
//
this.ColorButton25.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(39)))), ((int)(((byte)(126)))), ((int)(((byte)(71)))));
this.ColorButton25.Location = new System.Drawing.Point(122, 189);
this.ColorButton25.Name = "ColorButton25";
this.ColorButton25.Size = new System.Drawing.Size(16, 18);
this.ColorButton25.TabIndex = 100;
this.ColorButton25.UseVisualStyleBackColor = false;
this.ColorButton25.Click += new System.EventHandler(this.ColorButton25Click);
//
// ColorButton16
//
this.ColorButton16.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(153)))), ((int)(((byte)(201)))));
this.ColorButton16.Location = new System.Drawing.Point(144, 165);
this.ColorButton16.Name = "ColorButton16";
this.ColorButton16.Size = new System.Drawing.Size(16, 18);
this.ColorButton16.TabIndex = 93;
this.ColorButton16.UseVisualStyleBackColor = false;
this.ColorButton16.Click += new System.EventHandler(this.ColorButton16Click);
//
// ColorButton7
//
this.ColorButton7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(243)))), ((int)(((byte)(243)))));
this.ColorButton7.Location = new System.Drawing.Point(99, 141);
this.ColorButton7.Name = "ColorButton7";
this.ColorButton7.Size = new System.Drawing.Size(17, 18);
this.ColorButton7.TabIndex = 83;
this.ColorButton7.UseVisualStyleBackColor = false;
this.ColorButton7.Click += new System.EventHandler(this.ColorButton7Click);
//
// ColorButton32
//
this.ColorButton32.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(135)))), ((int)(((byte)(121)))));
this.ColorButton32.Location = new System.Drawing.Point(144, 213);
this.ColorButton32.Name = "ColorButton32";
this.ColorButton32.Size = new System.Drawing.Size(16, 18);
this.ColorButton32.TabIndex = 109;
this.ColorButton32.UseVisualStyleBackColor = false;
this.ColorButton32.Click += new System.EventHandler(this.ColorButton32Click);
//
// ColorButton33
//
this.ColorButton33.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(186)))), ((int)(((byte)(199)))));
this.ColorButton33.Location = new System.Drawing.Point(122, 213);
this.ColorButton33.Name = "ColorButton33";
this.ColorButton33.Size = new System.Drawing.Size(16, 18);
this.ColorButton33.TabIndex = 108;
this.ColorButton33.UseVisualStyleBackColor = false;
this.ColorButton33.Click += new System.EventHandler(this.ColorButton33Click);
//
// ColorButton17
//
this.ColorButton17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(143)))), ((int)(((byte)(155)))));
this.ColorButton17.Location = new System.Drawing.Point(122, 165);
this.ColorButton17.Name = "ColorButton17";
this.ColorButton17.Size = new System.Drawing.Size(16, 18);
this.ColorButton17.TabIndex = 92;
this.ColorButton17.UseVisualStyleBackColor = false;
this.ColorButton17.Click += new System.EventHandler(this.ColorButton17Click);
//
// ColorButton28
//
this.ColorButton28.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(160)))), ((int)(((byte)(95)))), ((int)(((byte)(55)))));
this.ColorButton28.Location = new System.Drawing.Point(234, 189);
this.ColorButton28.Name = "ColorButton28";
this.ColorButton28.Size = new System.Drawing.Size(16, 18);
this.ColorButton28.TabIndex = 105;
this.ColorButton28.UseVisualStyleBackColor = false;
this.ColorButton28.Click += new System.EventHandler(this.ColorButton28Click);
//
// ColorButton15
//
this.ColorButton15.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(130)))), ((int)(((byte)(186)))), ((int)(((byte)(219)))));
this.ColorButton15.Location = new System.Drawing.Point(166, 165);
this.ColorButton15.Name = "ColorButton15";
this.ColorButton15.Size = new System.Drawing.Size(16, 18);
this.ColorButton15.TabIndex = 94;
this.ColorButton15.UseVisualStyleBackColor = false;
this.ColorButton15.Click += new System.EventHandler(this.ColorButton15Click);
//
// ColorButton9
//
this.ColorButton9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(163)))), ((int)(((byte)(163)))), ((int)(((byte)(165)))));
this.ColorButton9.Location = new System.Drawing.Point(144, 141);
this.ColorButton9.Name = "ColorButton9";
this.ColorButton9.Size = new System.Drawing.Size(16, 18);
this.ColorButton9.TabIndex = 85;
this.ColorButton9.UseVisualStyleBackColor = false;
this.ColorButton9.Click += new System.EventHandler(this.ColorButton9Click);
//
// ColorButton31
//
this.ColorButton31.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(196)))), ((int)(((byte)(153)))));
this.ColorButton31.Location = new System.Drawing.Point(167, 213);
this.ColorButton31.Name = "ColorButton31";
this.ColorButton31.Size = new System.Drawing.Size(16, 18);
this.ColorButton31.TabIndex = 110;
this.ColorButton31.UseVisualStyleBackColor = false;
this.ColorButton31.Click += new System.EventHandler(this.ColorButton31Click);
//
// ColorButton24
//
this.ColorButton24.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(76)))), ((int)(((byte)(150)))), ((int)(((byte)(73)))));
this.ColorButton24.Location = new System.Drawing.Point(144, 189);
this.ColorButton24.Name = "ColorButton24";
this.ColorButton24.Size = new System.Drawing.Size(16, 18);
this.ColorButton24.TabIndex = 101;
this.ColorButton24.UseVisualStyleBackColor = false;
this.ColorButton24.Click += new System.EventHandler(this.ColorButton24Click);
//
// ColorButton34
//
this.ColorButton34.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(106)))), ((int)(((byte)(50)))), ((int)(((byte)(123)))));
this.ColorButton34.Location = new System.Drawing.Point(99, 213);
this.ColorButton34.Name = "ColorButton34";
this.ColorButton34.Size = new System.Drawing.Size(17, 18);
this.ColorButton34.TabIndex = 107;
this.ColorButton34.UseVisualStyleBackColor = false;
this.ColorButton34.Click += new System.EventHandler(this.ColorButton34Click);
//
// ColorButton8
//
this.ColorButton8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(228)))), ((int)(((byte)(229)))), ((int)(((byte)(224)))));
this.ColorButton8.Location = new System.Drawing.Point(122, 141);
this.ColorButton8.Name = "ColorButton8";
this.ColorButton8.Size = new System.Drawing.Size(16, 18);
this.ColorButton8.TabIndex = 84;
this.ColorButton8.UseVisualStyleBackColor = false;
this.ColorButton8.Click += new System.EventHandler(this.ColorButton8Click);
//
// ColorButton18
//
this.ColorButton18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(105)))), ((int)(((byte)(172)))));
this.ColorButton18.Location = new System.Drawing.Point(99, 165);
this.ColorButton18.Name = "ColorButton18";
this.ColorButton18.Size = new System.Drawing.Size(17, 18);
this.ColorButton18.TabIndex = 91;
this.ColorButton18.UseVisualStyleBackColor = false;
this.ColorButton18.Click += new System.EventHandler(this.ColorButton18Click);
//
// ColorButton22
//
this.ColorButton22.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(181)))), ((int)(((byte)(210)))), ((int)(((byte)(228)))));
this.ColorButton22.Location = new System.Drawing.Point(189, 165);
this.ColorButton22.Name = "ColorButton22";
this.ColorButton22.Size = new System.Drawing.Size(17, 18);
this.ColorButton22.TabIndex = 95;
this.ColorButton22.UseVisualStyleBackColor = false;
this.ColorButton22.Click += new System.EventHandler(this.ColorButton22Click);
//
// ColorButton10
//
this.ColorButton10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(99)))), ((int)(((byte)(95)))), ((int)(((byte)(96)))));
this.ColorButton10.Location = new System.Drawing.Point(167, 141);
this.ColorButton10.Name = "ColorButton10";
this.ColorButton10.Size = new System.Drawing.Size(16, 18);
this.ColorButton10.TabIndex = 86;
this.ColorButton10.UseVisualStyleBackColor = false;
this.ColorButton10.Click += new System.EventHandler(this.ColorButton10Click);
//
// ColorButton38
//
this.ColorButton38.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(147)))), ((int)(((byte)(122)))), ((int)(((byte)(118)))));
this.ColorButton38.Location = new System.Drawing.Point(189, 213);
this.ColorButton38.Name = "ColorButton38";
this.ColorButton38.Size = new System.Drawing.Size(17, 18);
this.ColorButton38.TabIndex = 111;
this.ColorButton38.UseVisualStyleBackColor = false;
this.ColorButton38.Click += new System.EventHandler(this.ColorButton38Click);
//
// ColorButton23
//
this.ColorButton23.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(189)))), ((int)(((byte)(71)))));
this.ColorButton23.Location = new System.Drawing.Point(167, 189);
this.ColorButton23.Name = "ColorButton23";
this.ColorButton23.Size = new System.Drawing.Size(16, 18);
this.ColorButton23.TabIndex = 102;
this.ColorButton23.UseVisualStyleBackColor = false;
this.ColorButton23.Click += new System.EventHandler(this.ColorButton23Click);
//
// ColorButton27
//
this.ColorButton27.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(105)))), ((int)(((byte)(63)))), ((int)(((byte)(39)))));
this.ColorButton27.Location = new System.Drawing.Point(256, 189);
this.ColorButton27.Name = "ColorButton27";
this.ColorButton27.Size = new System.Drawing.Size(16, 18);
this.ColorButton27.TabIndex = 106;
this.ColorButton27.UseVisualStyleBackColor = false;
this.ColorButton27.Click += new System.EventHandler(this.ColorButton27Click);
//
// ColorButton14
//
this.ColorButton14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(42)))), ((int)(((byte)(53)))));
this.ColorButton14.Location = new System.Drawing.Point(189, 141);
this.ColorButton14.Name = "ColorButton14";
this.ColorButton14.Size = new System.Drawing.Size(17, 18);
this.ColorButton14.TabIndex = 87;
this.ColorButton14.UseVisualStyleBackColor = false;
this.ColorButton14.Click += new System.EventHandler(this.ColorButton14Click);
//
// ColorButton11
//
this.ColorButton11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(234)))), ((int)(((byte)(142)))));
this.ColorButton11.Location = new System.Drawing.Point(256, 141);
this.ColorButton11.Name = "ColorButton11";
this.ColorButton11.Size = new System.Drawing.Size(16, 18);
this.ColorButton11.TabIndex = 90;
this.ColorButton11.UseVisualStyleBackColor = false;
this.ColorButton11.Click += new System.EventHandler(this.ColorButton11Click);
//
// ColorButton26
//
this.ColorButton26.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(70)))), ((int)(((byte)(43)))));
this.ColorButton26.Location = new System.Drawing.Point(99, 189);
this.ColorButton26.Name = "ColorButton26";
this.ColorButton26.Size = new System.Drawing.Size(17, 18);
this.ColorButton26.TabIndex = 99;
this.ColorButton26.UseVisualStyleBackColor = false;
this.ColorButton26.Click += new System.EventHandler(this.ColorButton26Click);
//
// ColorButton21
//
this.ColorButton21.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(116)))), ((int)(((byte)(134)))), ((int)(((byte)(156)))));
this.ColorButton21.Location = new System.Drawing.Point(212, 165);
this.ColorButton21.Name = "ColorButton21";
this.ColorButton21.Size = new System.Drawing.Size(16, 18);
this.ColorButton21.TabIndex = 96;
this.ColorButton21.UseVisualStyleBackColor = false;
this.ColorButton21.Click += new System.EventHandler(this.ColorButton21Click);
//
// ColorButton35
//
this.ColorButton35.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(234)))), ((int)(((byte)(185)))), ((int)(((byte)(145)))));
this.ColorButton35.Location = new System.Drawing.Point(256, 213);
this.ColorButton35.Name = "ColorButton35";
this.ColorButton35.Size = new System.Drawing.Size(16, 18);
this.ColorButton35.TabIndex = 114;
this.ColorButton35.UseVisualStyleBackColor = false;
this.ColorButton35.Click += new System.EventHandler(this.ColorButton35Click);
//
// ColorButton37
//
this.ColorButton37.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(124)))), ((int)(((byte)(92)))), ((int)(((byte)(69)))));
this.ColorButton37.Location = new System.Drawing.Point(212, 213);
this.ColorButton37.Name = "ColorButton37";
this.ColorButton37.Size = new System.Drawing.Size(16, 18);
this.ColorButton37.TabIndex = 112;
this.ColorButton37.UseVisualStyleBackColor = false;
this.ColorButton37.Click += new System.EventHandler(this.ColorButton37Click);
//
// ColorButton30
//
this.ColorButton30.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(161)))), ((int)(((byte)(196)))), ((int)(((byte)(140)))));
this.ColorButton30.Location = new System.Drawing.Point(189, 189);
this.ColorButton30.Name = "ColorButton30";
this.ColorButton30.Size = new System.Drawing.Size(17, 18);
this.ColorButton30.TabIndex = 103;
this.ColorButton30.UseVisualStyleBackColor = false;
this.ColorButton30.Click += new System.EventHandler(this.ColorButton30Click);
//
// ColorButton20
//
this.ColorButton20.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(134)))), ((int)(((byte)(64)))));
this.ColorButton20.Location = new System.Drawing.Point(234, 165);
this.ColorButton20.Name = "ColorButton20";
this.ColorButton20.Size = new System.Drawing.Size(16, 18);
this.ColorButton20.TabIndex = 97;
this.ColorButton20.UseVisualStyleBackColor = false;
this.ColorButton20.Click += new System.EventHandler(this.ColorButton20Click);
//
// ColorButton13
//
this.ColorButton13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(40)))), ((int)(((byte)(27)))));
this.ColorButton13.Location = new System.Drawing.Point(212, 141);
this.ColorButton13.Name = "ColorButton13";
this.ColorButton13.Size = new System.Drawing.Size(16, 18);
this.ColorButton13.TabIndex = 88;
this.ColorButton13.UseVisualStyleBackColor = false;
this.ColorButton13.Click += new System.EventHandler(this.ColorButton13Click);
//
// ColorButton12
//
this.ColorButton12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.ColorButton12.Location = new System.Drawing.Point(234, 141);
this.ColorButton12.Name = "ColorButton12";
this.ColorButton12.Size = new System.Drawing.Size(16, 18);
this.ColorButton12.TabIndex = 89;
this.ColorButton12.UseVisualStyleBackColor = false;
this.ColorButton12.Click += new System.EventHandler(this.ColorButton12Click);
//
// ColorButton19
//
this.ColorButton19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(155)))), ((int)(((byte)(63)))));
this.ColorButton19.Location = new System.Drawing.Point(256, 165);
this.ColorButton19.Name = "ColorButton19";
this.ColorButton19.Size = new System.Drawing.Size(16, 18);
this.ColorButton19.TabIndex = 98;
this.ColorButton19.UseVisualStyleBackColor = false;
this.ColorButton19.Click += new System.EventHandler(this.ColorButton19Click);
//
// ColorButton29
//
this.ColorButton29.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(144)))), ((int)(((byte)(130)))));
this.ColorButton29.Location = new System.Drawing.Point(212, 189);
this.ColorButton29.Name = "ColorButton29";
this.ColorButton29.Size = new System.Drawing.Size(16, 18);
this.ColorButton29.TabIndex = 104;
this.ColorButton29.UseVisualStyleBackColor = false;
this.ColorButton29.Click += new System.EventHandler(this.ColorButton29Click);
//
// ColorButton36
//
this.ColorButton36.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(142)))), ((int)(((byte)(105)))));
this.ColorButton36.Location = new System.Drawing.Point(234, 213);
this.ColorButton36.Name = "ColorButton36";
this.ColorButton36.Size = new System.Drawing.Size(16, 18);
this.ColorButton36.TabIndex = 113;
this.ColorButton36.UseVisualStyleBackColor = false;
this.ColorButton36.Click += new System.EventHandler(this.ColorButton36Click);
//
// LLegButton6
//
this.LLegButton6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(189)))), ((int)(((byte)(71)))));
this.LLegButton6.Location = new System.Drawing.Point(44, 208);
this.LLegButton6.Name = "LLegButton6";
this.LLegButton6.Size = new System.Drawing.Size(18, 40);
this.LLegButton6.TabIndex = 120;
this.LLegButton6.UseVisualStyleBackColor = false;
this.LLegButton6.Click += new System.EventHandler(this.LLegButton6Click);
//
// RLegButton5
//
this.RLegButton5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(189)))), ((int)(((byte)(71)))));
this.RLegButton5.Location = new System.Drawing.Point(23, 208);
this.RLegButton5.Name = "RLegButton5";
this.RLegButton5.Size = new System.Drawing.Size(18, 40);
this.RLegButton5.TabIndex = 119;
this.RLegButton5.UseVisualStyleBackColor = false;
this.RLegButton5.Click += new System.EventHandler(this.RLegButton5Click);
//
// LArmButton4
//
this.LArmButton4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.LArmButton4.Location = new System.Drawing.Point(64, 165);
this.LArmButton4.Name = "LArmButton4";
this.LArmButton4.Size = new System.Drawing.Size(18, 42);
this.LArmButton4.TabIndex = 118;
this.LArmButton4.UseVisualStyleBackColor = false;
this.LArmButton4.Click += new System.EventHandler(this.LArmButton4Click);
//
// RArmButton3
//
this.RArmButton3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.RArmButton3.Location = new System.Drawing.Point(4, 165);
this.RArmButton3.Name = "RArmButton3";
this.RArmButton3.Size = new System.Drawing.Size(18, 42);
this.RArmButton3.TabIndex = 117;
this.RArmButton3.UseVisualStyleBackColor = false;
this.RArmButton3.Click += new System.EventHandler(this.RArmButton3Click);
//
// TorsoButton2
//
this.TorsoButton2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(105)))), ((int)(((byte)(172)))));
this.TorsoButton2.Location = new System.Drawing.Point(23, 165);
this.TorsoButton2.Name = "TorsoButton2";
this.TorsoButton2.Size = new System.Drawing.Size(40, 42);
this.TorsoButton2.TabIndex = 116;
this.TorsoButton2.UseVisualStyleBackColor = false;
this.TorsoButton2.Click += new System.EventHandler(this.TorsoButton2Click);
//
// HeadButton1
//
this.HeadButton1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.HeadButton1.Location = new System.Drawing.Point(31, 142);
this.HeadButton1.Name = "HeadButton1";
this.HeadButton1.Size = new System.Drawing.Size(22, 22);
this.HeadButton1.TabIndex = 115;
this.HeadButton1.UseVisualStyleBackColor = false;
this.HeadButton1.Click += new System.EventHandler(this.HeadButton1Click);
//
// label3
//
this.label3.Location = new System.Drawing.Point(4, 120);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(274, 18);
this.label3.TabIndex = 121;
this.label3.Text = "Body Colors";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
this.label4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label4.Location = new System.Drawing.Point(7, 120);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(550, 2);
this.label4.TabIndex = 122;
//
// pictureBox2
//
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
this.pictureBox2.Location = new System.Drawing.Point(144, 12);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(290, 76);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox2.TabIndex = 124;
this.pictureBox2.TabStop = false;
//
// PartSelectionLabel2
//
this.PartSelectionLabel2.Location = new System.Drawing.Point(194, 234);
this.PartSelectionLabel2.Name = "PartSelectionLabel2";
this.PartSelectionLabel2.Size = new System.Drawing.Size(80, 16);
this.PartSelectionLabel2.TabIndex = 126;
//
// PartLabel1
//
this.PartLabel1.Location = new System.Drawing.Point(99, 234);
this.PartLabel1.Name = "PartLabel1";
this.PartLabel1.Size = new System.Drawing.Size(105, 16);
this.PartLabel1.TabIndex = 125;
this.PartLabel1.Text = "SELECTED PART:";
//
// ResetColorsButton40
//
this.ResetColorsButton40.Location = new System.Drawing.Point(141, 253);
this.ResetColorsButton40.Name = "ResetColorsButton40";
this.ResetColorsButton40.Size = new System.Drawing.Size(137, 27);
this.ResetColorsButton40.TabIndex = 127;
this.ResetColorsButton40.Text = "Reset Colors";
this.ResetColorsButton40.UseVisualStyleBackColor = true;
this.ResetColorsButton40.Click += new System.EventHandler(this.ResetColorsButton40Click);
//
// RandColorsButton39
//
this.RandColorsButton39.Location = new System.Drawing.Point(5, 253);
this.RandColorsButton39.Name = "RandColorsButton39";
this.RandColorsButton39.Size = new System.Drawing.Size(131, 27);
this.RandColorsButton39.TabIndex = 128;
this.RandColorsButton39.Text = "Randomize Colors";
this.RandColorsButton39.UseVisualStyleBackColor = true;
this.RandColorsButton39.Click += new System.EventHandler(this.RandColorsButton39Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(426, 253);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(136, 27);
this.button2.TabIndex = 130;
this.button2.Text = "Reset Hats";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.Button2Click);
//
// button8
//
this.button8.Location = new System.Drawing.Point(290, 253);
this.button8.Name = "button8";
this.button8.Size = new System.Drawing.Size(130, 27);
this.button8.TabIndex = 129;
this.button8.Text = "Randomize Hats";
this.button8.UseVisualStyleBackColor = true;
this.button8.Click += new System.EventHandler(this.Button8Click);
//
// label6
//
this.label6.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label6.Location = new System.Drawing.Point(7, 295);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(550, 2);
this.label6.TabIndex = 136;
//
// listBox2
//
this.listBox2.FormattingEnabled = true;
this.listBox2.Location = new System.Drawing.Point(12, 317);
this.listBox2.Name = "listBox2";
this.listBox2.Size = new System.Drawing.Size(260, 69);
this.listBox2.TabIndex = 135;
//
// label7
//
this.label7.Location = new System.Drawing.Point(12, 297);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(260, 17);
this.label7.TabIndex = 134;
this.label7.Text = "Maps";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(420, 317);
this.numericUpDown1.Maximum = new decimal(new int[] {
128,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(119, 20);
this.numericUpDown1.TabIndex = 138;
this.numericUpDown1.ValueChanged += new System.EventHandler(this.NumericUpDown1ValueChanged);
//
// label9
//
this.label9.Location = new System.Drawing.Point(355, 319);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(59, 18);
this.label9.TabIndex = 139;
this.label9.Text = "Bot Count";
//
// label5
//
this.label5.Location = new System.Drawing.Point(278, 298);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(279, 16);
this.label5.TabIndex = 140;
this.label5.Text = "Game Options";
this.label5.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label8
//
this.label8.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label8.Location = new System.Drawing.Point(284, 120);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(2, 176);
this.label8.TabIndex = 141;
//
// label10
//
this.label10.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label10.Location = new System.Drawing.Point(284, 295);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(2, 98);
this.label10.TabIndex = 142;
//
// comboBox1
//
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"None",
"4",
"8"});
this.comboBox1.Location = new System.Drawing.Point(420, 343);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(119, 21);
this.comboBox1.TabIndex = 143;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.ComboBox1SelectedIndexChanged);
//
// label11
//
this.label11.Location = new System.Drawing.Point(348, 346);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(66, 21);
this.label11.TabIndex = 144;
this.label11.Text = "AA Samples";
//
// checkBox1
//
this.checkBox1.Location = new System.Drawing.Point(398, 366);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(73, 24);
this.checkBox1.TabIndex = 145;
this.checkBox1.Text = "Shadows";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged);
//
// SoloForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control;
this.ClientSize = new System.Drawing.Size(574, 426);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.label11);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.label10);
this.Controls.Add(this.label8);
this.Controls.Add(this.label5);
this.Controls.Add(this.label9);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.label6);
this.Controls.Add(this.listBox2);
this.Controls.Add(this.label7);
this.Controls.Add(this.button2);
this.Controls.Add(this.button8);
this.Controls.Add(this.ResetColorsButton40);
this.Controls.Add(this.RandColorsButton39);
this.Controls.Add(this.PartSelectionLabel2);
this.Controls.Add(this.PartLabel1);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.LLegButton6);
this.Controls.Add(this.RLegButton5);
this.Controls.Add(this.LArmButton4);
this.Controls.Add(this.RArmButton3);
this.Controls.Add(this.TorsoButton2);
this.Controls.Add(this.HeadButton1);
this.Controls.Add(this.ColorButton25);
this.Controls.Add(this.ColorButton16);
this.Controls.Add(this.ColorButton7);
this.Controls.Add(this.ColorButton32);
this.Controls.Add(this.ColorButton33);
this.Controls.Add(this.ColorButton17);
this.Controls.Add(this.ColorButton28);
this.Controls.Add(this.ColorButton15);
this.Controls.Add(this.ColorButton9);
this.Controls.Add(this.ColorButton31);
this.Controls.Add(this.ColorButton24);
this.Controls.Add(this.ColorButton34);
this.Controls.Add(this.ColorButton8);
this.Controls.Add(this.ColorButton18);
this.Controls.Add(this.ColorButton22);
this.Controls.Add(this.ColorButton10);
this.Controls.Add(this.ColorButton38);
this.Controls.Add(this.ColorButton23);
this.Controls.Add(this.ColorButton27);
this.Controls.Add(this.ColorButton14);
this.Controls.Add(this.ColorButton11);
this.Controls.Add(this.ColorButton26);
this.Controls.Add(this.ColorButton21);
this.Controls.Add(this.ColorButton35);
this.Controls.Add(this.ColorButton37);
this.Controls.Add(this.ColorButton30);
this.Controls.Add(this.ColorButton20);
this.Controls.Add(this.ColorButton13);
this.Controls.Add(this.ColorButton12);
this.Controls.Add(this.ColorButton19);
this.Controls.Add(this.ColorButton29);
this.Controls.Add(this.ColorButton36);
this.Controls.Add(this.label2);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "SoloForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Cypher";
this.Load += new System.EventHandler(this.NameFormLoad);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.ListBox listBox2;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Button button8;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button RandColorsButton39;
private System.Windows.Forms.Button ResetColorsButton40;
private System.Windows.Forms.Label PartLabel1;
private System.Windows.Forms.Label PartSelectionLabel2;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button HeadButton1;
private System.Windows.Forms.Button TorsoButton2;
private System.Windows.Forms.Button RArmButton3;
private System.Windows.Forms.Button LArmButton4;
private System.Windows.Forms.Button RLegButton5;
private System.Windows.Forms.Button LLegButton6;
private System.Windows.Forms.Button ColorButton36;
private System.Windows.Forms.Button ColorButton29;
private System.Windows.Forms.Button ColorButton19;
private System.Windows.Forms.Button ColorButton12;
private System.Windows.Forms.Button ColorButton13;
private System.Windows.Forms.Button ColorButton20;
private System.Windows.Forms.Button ColorButton30;
private System.Windows.Forms.Button ColorButton37;
private System.Windows.Forms.Button ColorButton35;
private System.Windows.Forms.Button ColorButton21;
private System.Windows.Forms.Button ColorButton26;
private System.Windows.Forms.Button ColorButton11;
private System.Windows.Forms.Button ColorButton14;
private System.Windows.Forms.Button ColorButton27;
private System.Windows.Forms.Button ColorButton23;
private System.Windows.Forms.Button ColorButton38;
private System.Windows.Forms.Button ColorButton10;
private System.Windows.Forms.Button ColorButton22;
private System.Windows.Forms.Button ColorButton18;
private System.Windows.Forms.Button ColorButton8;
private System.Windows.Forms.Button ColorButton34;
private System.Windows.Forms.Button ColorButton24;
private System.Windows.Forms.Button ColorButton31;
private System.Windows.Forms.Button ColorButton9;
private System.Windows.Forms.Button ColorButton15;
private System.Windows.Forms.Button ColorButton28;
private System.Windows.Forms.Button ColorButton17;
private System.Windows.Forms.Button ColorButton33;
private System.Windows.Forms.Button ColorButton32;
private System.Windows.Forms.Button ColorButton7;
private System.Windows.Forms.Button ColorButton16;
private System.Windows.Forms.Button ColorButton25;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
}
}

View File

@ -0,0 +1,594 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/4/2017
* Time: 5:24 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Reflection;
using System.Diagnostics;
namespace Cypher_Launcher
{
/// <summary>
/// Description of SoloForm.
/// </summary>
public partial class SoloForm : Form
{
public static string SelectedPart = "Head";
public string[,] ColorArray;
public SoloForm()
{
InitializeComponent();
ColorArray = new string[32, 2] {
{ "1", ColorButton7.BackColor.ToString() },
{ "208", ColorButton8.BackColor.ToString() },
{ "194", ColorButton9.BackColor.ToString() },
{ "199", ColorButton10.BackColor.ToString() },
{ "26", ColorButton14.BackColor.ToString() },
{ "21", ColorButton13.BackColor.ToString() },
{ "24", ColorButton12.BackColor.ToString() },
{ "226", ColorButton11.BackColor.ToString() },
{ "23", ColorButton18.BackColor.ToString() },
{ "107", ColorButton17.BackColor.ToString() },
{ "102", ColorButton16.BackColor.ToString() },
{ "11", ColorButton15.BackColor.ToString() },
{ "45", ColorButton22.BackColor.ToString() },
{ "135", ColorButton21.BackColor.ToString() },
{ "106", ColorButton20.BackColor.ToString() },
{ "105", ColorButton19.BackColor.ToString() },
{ "141", ColorButton26.BackColor.ToString() },
{ "28", ColorButton25.BackColor.ToString() },
{ "37", ColorButton24.BackColor.ToString() },
{ "119", ColorButton23.BackColor.ToString() },
{ "29", ColorButton30.BackColor.ToString() },
{ "151", ColorButton29.BackColor.ToString() },
{ "38", ColorButton28.BackColor.ToString() },
{ "192", ColorButton27.BackColor.ToString() },
{ "104", ColorButton34.BackColor.ToString() },
{ "9", ColorButton33.BackColor.ToString() },
{ "101", ColorButton32.BackColor.ToString() },
{ "5", ColorButton31.BackColor.ToString() },
{ "153", ColorButton38.BackColor.ToString() },
{ "217", ColorButton37.BackColor.ToString() },
{ "18", ColorButton36.BackColor.ToString() },
{ "125", ColorButton35.BackColor.ToString() }
};
}
void TextBox1TextChanged(object sender, EventArgs e)
{
GlobalVars.Name = textBox1.Text;
}
void NameFormLoad(object sender, EventArgs e)
{
if (!File.Exists(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config))
{
SecurityFuncs.GeneratePlayerID();
SecurityFuncs.WriteConfigValues();
SecurityFuncs.ReadConfigValues();
}
else
{
SecurityFuncs.ReadConfigValues();
}
textBox1.Text = GlobalVars.Name;
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
DirectoryInfo dinfo = new DirectoryInfo(hatdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxm");
foreach( FileInfo file in Files )
{
if (file.Name.Equals(String.Empty))
{
continue;
}
listBox1.Items.Add(file.Name);
}
listBox1.SelectedItem = GlobalVars.HatName;
Image icon1 = Image.FromFile(hatdir + @"\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
string mapdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\maps";
if (Directory.Exists(mapdir))
{
DirectoryInfo dinfo = new DirectoryInfo(mapdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxl");
foreach( FileInfo file in Files )
{
listBox2.Items.Add(file.Name);
}
listBox2.SelectedItem = "Baseplate.rbxl";
}
PartSelectionLabel2.Text = SelectedPart;
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
comboBox1.SelectedIndex = GlobalVars.AASamples;
numericUpDown1.Text = GlobalVars.BotCount.ToString();
checkBox1.Checked = GlobalVars.Shadows;
}
Color ConvertStringtoColor(string CString)
{
var p = CString.Split(new char[]{',',']'});
int A = Convert.ToInt32(p[0].Substring(p[0].IndexOf('=') + 1));
int R = Convert.ToInt32(p[1].Substring(p[1].IndexOf('=') + 1));
int G = Convert.ToInt32(p[2].Substring(p[2].IndexOf('=') + 1));
int B = Convert.ToInt32(p[3].Substring(p[3].IndexOf('=') + 1));
return Color.FromArgb(A,R,G,B);
}
void ChangeColorOfPart(int ColorID, Color ButtonColor)
{
if (SelectedPart == "Head")
{
GlobalVars.HeadColor = ColorID;
GlobalVars.ColorMenu_HeadColor = ButtonColor.ToString();
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
}
else if (SelectedPart == "Torso")
{
GlobalVars.TorsoColor = ColorID;
GlobalVars.ColorMenu_TorsoColor = ButtonColor.ToString();
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
}
else if (SelectedPart == "Right Arm")
{
GlobalVars.RightArmColor = ColorID;
GlobalVars.ColorMenu_RightArmColor = ButtonColor.ToString();
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
}
else if (SelectedPart == "Left Arm")
{
GlobalVars.LeftArmColor = ColorID;
GlobalVars.ColorMenu_LeftArmColor = ButtonColor.ToString();
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
}
else if (SelectedPart == "Right Leg")
{
GlobalVars.RightLegColor = ColorID;
GlobalVars.ColorMenu_RightLegColor = ButtonColor.ToString();
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
}
else if (SelectedPart == "Left Leg")
{
GlobalVars.LeftLegColor = ColorID;
GlobalVars.ColorMenu_LeftLegColor = ButtonColor.ToString();
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
}
void Button1Click(object sender, EventArgs e)
{
SecurityFuncs.WriteConfigValues();
ScriptGenerator.GenerateScriptForClient();
//temp domain
string exefile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Cypher.exe";
string quote = "\"";
string args = "-script " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + GlobalVars.ScriptLuaFile + quote + " " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\maps\\" + listBox2.SelectedItem.ToString() + quote;
Process.Start(exefile, args);
this.Close();
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
SecurityFuncs.WriteConfigValues();
}
void ListBox1SelectedIndexChanged(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void HeadButton1Click(object sender, EventArgs e)
{
SelectedPart = "Head";
PartSelectionLabel2.Text = SelectedPart;
}
void TorsoButton2Click(object sender, EventArgs e)
{
SelectedPart = "Torso";
PartSelectionLabel2.Text = SelectedPart;
}
void RArmButton3Click(object sender, EventArgs e)
{
SelectedPart = "Right Arm";
PartSelectionLabel2.Text = SelectedPart;
}
void LArmButton4Click(object sender, EventArgs e)
{
SelectedPart = "Left Arm";
PartSelectionLabel2.Text = SelectedPart;
}
void RLegButton5Click(object sender, EventArgs e)
{
SelectedPart = "Right Leg";
PartSelectionLabel2.Text = SelectedPart;
}
void LLegButton6Click(object sender, EventArgs e)
{
SelectedPart = "Left Leg";
PartSelectionLabel2.Text = SelectedPart;
}
void ColorButton7Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton7.BackColor;
int colorID = 1;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton8Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton8.BackColor;
int colorID = 208;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton9Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton9.BackColor;
int colorID = 194;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton10Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton10.BackColor;
int colorID = 199;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton14Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton14.BackColor;
int colorID = 26;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton13Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton13.BackColor;
int colorID = 21;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton12Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton12.BackColor;
int colorID = 24;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton11Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton11.BackColor;
int colorID = 226;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton18Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton18.BackColor;
int colorID = 23;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton17Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton17.BackColor;
int colorID = 107;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton16Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton16.BackColor;
int colorID = 102;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton15Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton15.BackColor;
int colorID = 11;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton22Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton22.BackColor;
int colorID = 45;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton21Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton21.BackColor;
int colorID = 135;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton20Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton20.BackColor;
int colorID = 106;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton19Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton19.BackColor;
int colorID = 105;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton26Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton26.BackColor;
int colorID = 141;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton25Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton25.BackColor;
int colorID = 28;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton24Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton24.BackColor;
int colorID = 37;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton23Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton23.BackColor;
int colorID = 119;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton30Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton30.BackColor;
int colorID = 29;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton29Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton29.BackColor;
int colorID = 151;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton28Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton28.BackColor;
int colorID = 38;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton27Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton27.BackColor;
int colorID = 192;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton34Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton34.BackColor;
int colorID = 104;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton33Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton33.BackColor;
int colorID = 9;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton32Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton32.BackColor;
int colorID = 101;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton31Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton31.BackColor;
int colorID = 5;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton38Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton38.BackColor;
int colorID = 153;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton37Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton37.BackColor;
int colorID = 217;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton36Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton36.BackColor;
int colorID = 18;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton35Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton35.BackColor;
int colorID = 125;
ChangeColorOfPart(colorID, ButtonColor);
}
void RandColorsButton39Click(object sender, EventArgs e)
{
Random rand = new Random();
int RandomColor;
for (int i=1; i <= 6; i++)
{
RandomColor = rand.Next(ColorArray.GetLength(0));
if (i == 1)
{
GlobalVars.HeadColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_HeadColor = ColorArray[RandomColor, 1];
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
}
else if (i == 2)
{
GlobalVars.TorsoColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_TorsoColor = ColorArray[RandomColor, 1];
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
}
else if (i == 3)
{
GlobalVars.RightArmColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_RightArmColor = ColorArray[RandomColor, 1];
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
}
else if (i == 4)
{
GlobalVars.LeftArmColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_LeftArmColor = ColorArray[RandomColor, 1];
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
}
else if (i == 5)
{
GlobalVars.RightLegColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_RightLegColor = ColorArray[RandomColor, 1];
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
}
else if (i == 6)
{
GlobalVars.LeftLegColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_LeftLegColor = ColorArray[RandomColor, 1];
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
}
}
void ResetColorsButton40Click(object sender, EventArgs e)
{
GlobalVars.HeadColor = 24;
GlobalVars.TorsoColor = 23;
GlobalVars.LeftArmColor = 24;
GlobalVars.RightArmColor = 24;
GlobalVars.LeftLegColor = 119;
GlobalVars.RightLegColor = 119;
GlobalVars.ColorMenu_HeadColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_TorsoColor = "Color [A=255, R=13, G=105, B=172]";
GlobalVars.ColorMenu_LeftArmColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_RightArmColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_LeftLegColor = "Color [A=255, R=164, G=189, B=71]";
GlobalVars.ColorMenu_RightLegColor = "Color [A=255, R=164, G=189, B=71]";
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
void Button8Click(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
Random random = new Random();
int randomHat1 = random.Next(listBox1.Items.Count);
listBox1.SelectedItem = listBox1.Items[randomHat1];
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void Button2Click(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
listBox1.SelectedItem = "NoHat.rbxm";
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void NumericUpDown1ValueChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(numericUpDown1.Text, out parsedValue))
{
if (numericUpDown1.Text.Equals(""))
{
//set it to the normal port, 53640. it wouldn't make any sense if we set it to 0.
GlobalVars.BotCount = 16;
}
else
{
GlobalVars.BotCount = Convert.ToInt32(numericUpDown1.Text);
}
}
else
{
GlobalVars.BotCount = 16;
}
}
void ComboBox1SelectedIndexChanged(object sender, EventArgs e)
{
GlobalVars.AASamples = comboBox1.SelectedIndex;
}
void CheckBox1CheckedChanged(object sender, EventArgs e)
{
GlobalVars.Shadows = checkBox1.Checked;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>

BIN
Cypher/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

BIN
Cypher/press/CypherIcon.pdn Normal file

Binary file not shown.

BIN
Cypher/press/CypherIcon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
Cypher/press/CypherLogo.pdn Normal file

Binary file not shown.

BIN
Cypher/press/CypherLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -0,0 +1,15 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
# SharpDevelop 4.4
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RBX2007_Launcher", "RBX2007_Launcher\RBX2007_Launcher.csproj", "{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Launcher|Any CPU = Launcher|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}.Launcher|Any CPU.Build.0 = Release|Any CPU
{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}.Launcher|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,722 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/6/2017
* Time: 11:12 AM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Reflection;
namespace RBX2007_Launcher
{
public static class GlobalVars
{
public static string SharedArgs;
public static string Name = "Player";
public static string HatName = "NoHat.rbxm";
public static int HeadColor = 24;
public static int TorsoColor = 23;
public static int LeftArmColor = 24;
public static int RightArmColor = 24;
public static int LeftLegColor = 119;
public static int RightLegColor = 119;
public static string ColorMenu_HeadColor = "Color [A=255, R=245, G=205, B=47]";
public static string ColorMenu_TorsoColor = "Color [A=255, R=13, G=105, B=172]";
public static string ColorMenu_LeftArmColor = "Color [A=255, R=245, G=205, B=47]";
public static string ColorMenu_RightArmColor = "Color [A=255, R=245, G=205, B=47]";
public static string ColorMenu_LeftLegColor = "Color [A=255, R=164, G=189, B=71]";
public static string ColorMenu_RightLegColor = "Color [A=255, R=164, G=189, B=71]";
public static string ScriptLuaFile = "\\game.rbx";
public static string Config = "config.rbx";
public static int UserID = 0;
public static int AASamples = 0;
public static bool Shadows = false;
public static bool AnimatedCharacter = true;
public static bool UseRandomColors = false;
public static int PlayerColorPreset = 1;
public static string EXEName = "RobloxDefault.exe";
}
public class SecurityFuncs
{
public SecurityFuncs()
{
}
public static void WriteConfigValues()
{
string[] lines = {
GlobalVars.Name.ToString(),
GlobalVars.UserID.ToString(),
GlobalVars.HatName.ToString(),
GlobalVars.HeadColor.ToString(),
GlobalVars.TorsoColor.ToString(),
GlobalVars.LeftArmColor.ToString(),
GlobalVars.RightArmColor.ToString(),
GlobalVars.LeftLegColor.ToString(),
GlobalVars.RightLegColor.ToString(),
GlobalVars.ColorMenu_HeadColor.ToString(),
GlobalVars.ColorMenu_TorsoColor.ToString(),
GlobalVars.ColorMenu_LeftArmColor.ToString(),
GlobalVars.ColorMenu_RightArmColor.ToString(),
GlobalVars.ColorMenu_LeftLegColor.ToString(),
GlobalVars.ColorMenu_RightLegColor.ToString(),
GlobalVars.EXEName.ToString(),
GlobalVars.AASamples.ToString(),
GlobalVars.Shadows.ToString(),
GlobalVars.AnimatedCharacter.ToString(),
GlobalVars.UseRandomColors.ToString(),
GlobalVars.PlayerColorPreset.ToString()
};
File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config, Base64Encode(string.Join("|",lines)));
}
public static void ReadConfigValues()
{
string line1;
using(StreamReader reader = new StreamReader(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config))
{
line1 = reader.ReadLine();
}
string ConvertedLine = Base64Decode(line1);
string[] result = ConvertedLine.Split('|');
GlobalVars.Name = result[0];
GlobalVars.UserID = Convert.ToInt32(result[1]);
GlobalVars.HatName = result[2];
GlobalVars.HeadColor = Convert.ToInt32(result[3]);
GlobalVars.TorsoColor = Convert.ToInt32(result[4]);
GlobalVars.LeftArmColor = Convert.ToInt32(result[5]);
GlobalVars.RightArmColor = Convert.ToInt32(result[6]);
GlobalVars.LeftLegColor = Convert.ToInt32(result[7]);
GlobalVars.RightLegColor = Convert.ToInt32(result[8]);
GlobalVars.ColorMenu_HeadColor = result[9];
GlobalVars.ColorMenu_TorsoColor = result[10];
GlobalVars.ColorMenu_LeftArmColor = result[11];
GlobalVars.ColorMenu_RightArmColor = result[12];
GlobalVars.ColorMenu_LeftLegColor = result[13];
GlobalVars.ColorMenu_RightLegColor = result[14];
GlobalVars.EXEName = result[15];
GlobalVars.AASamples = Convert.ToInt32(result[16]);
GlobalVars.Shadows = Convert.ToBoolean(result[17]);
GlobalVars.AnimatedCharacter = Convert.ToBoolean(result[18]);
GlobalVars.UseRandomColors = Convert.ToBoolean(result[19]);
GlobalVars.PlayerColorPreset = Convert.ToInt32(result[20]);
if (GlobalVars.UserID == 0)
{
GeneratePlayerID();
WriteConfigValues();
}
}
public static void GeneratePlayerID()
{
CryptoRandom random = new CryptoRandom();
int randomID = 0;
int randIDmode = random.Next(0,7);
if (randIDmode == 0)
{
randomID = random.Next(0, 99);
}
else if (randIDmode == 1)
{
randomID = random.Next(0, 999);
}
else if (randIDmode == 2)
{
randomID = random.Next(0, 9999);
}
else if (randIDmode == 3)
{
randomID = random.Next(0, 99999);
}
else if (randIDmode == 4)
{
randomID = random.Next(0, 999999);
}
else if (randIDmode == 5)
{
randomID = random.Next(0, 9999999);
}
else if (randIDmode == 6)
{
randomID = random.Next(0, 99999999);
}
else if (randIDmode == 7)
{
randomID = random.Next();
}
//2147483647 is max id.
GlobalVars.UserID = randomID;
}
public static string Base64Decode(string base64EncodedData)
{
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
}
public static string Base64Encode(string plainText)
{
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
}
}
public class ScriptGenerator
{
public ScriptGenerator()
{
}
public static void GenerateScriptForClient()
{
//next, generate the header functions.
SecurityFuncs.ReadConfigValues();
int aasamples = GlobalVars.AASamples.Equals(0) ? 1 : GlobalVars.AASamples.Equals(1) ? 4 : GlobalVars.AASamples.Equals(2) ? 8 : 1;
string header = MultiLine(
"--Header",
"function newWaitForChild(newParent,name)",
"local returnable = nil",
"if newParent:FindFirstChild(name) then",
"returnable = newParent:FindFirstChild(name)",
"else",
"repeat wait() returnable = newParent:FindFirstChild(name) until returnable ~= nil",
"end",
"return returnable",
"end",
"settings().Rendering.Shadows = " + GlobalVars.Shadows.ToString().ToLower(),
"settings().Rendering.AASamples = " + aasamples,
"AnimatedCharacter = " + GlobalVars.AnimatedCharacter.ToString().ToLower()
);
string playersettings = MultiLine(
"--Player Settings",
"UserID = " + GlobalVars.UserID,
"PlayerName = '" + GlobalVars.Name + "'"
);
string customizationsettings = "";
if (GlobalVars.AnimatedCharacter == false)
{
customizationsettings = MultiLine(
"--Customization Settings",
"Hat1ID = 'NoHat.rbxm'"
);
}
else
{
customizationsettings = MultiLine(
"--Customization Settings",
"Hat1ID = '" + GlobalVars.HatName + "'"
);
}
string colorsettings = "";
if (GlobalVars.AnimatedCharacter == false)
{
if (GlobalVars.UseRandomColors)
{
colorsettings = GeneratePlayerColorString();
}
else
{
colorsettings = GeneratePlayerColorPresetString(GlobalVars.PlayerColorPreset);
}
}
else
{
colorsettings = MultiLine(
"--Color Settings",
"HeadColorID = " + GlobalVars.HeadColor,
"TorsoColorID = " + GlobalVars.TorsoColor,
"LeftArmColorID = " + GlobalVars.LeftArmColor,
"RightArmColorID = " + GlobalVars.RightArmColor,
"LeftLegColorID = " + GlobalVars.LeftLegColor,
"RightLegColorID = " + GlobalVars.RightLegColor
);
}
//add customization funcs
string customizationgen = MultiLine(
"--Customization Code",
"function InitalizeClientAppearance(Player,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,HatID)",
"local newCharApp = Instance.new('IntValue',Player)",
"newCharApp.Name = 'Appearance'",
"for i=1,6,1 do",
"local BodyColor = Instance.new('BrickColorValue',newCharApp)",
"if (i == 1) then",
"if (HeadColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(HeadColorID)",
"BodyColor.Name = 'HeadColor (ID: '..HeadColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'HeadColor (ID: 1)'",
"end",
"elseif (i == 2) then",
"if (TorsoColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(TorsoColorID)",
"BodyColor.Name = 'TorsoColor (ID: '..TorsoColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'TorsoColor (ID: 1)'",
"end",
"elseif (i == 3) then",
"if (LeftArmColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(LeftArmColorID)",
"BodyColor.Name = 'LeftArmColor (ID: '..LeftArmColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'LeftArmColor (ID: 1)'",
"end",
"elseif (i == 4) then",
"if (RightArmColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(RightArmColorID)",
"BodyColor.Name = 'RightArmColor (ID: '..RightArmColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'RightArmColor (ID: 1)'",
"end",
"elseif (i == 5) then",
"if (LeftLegColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(LeftLegColorID)",
"BodyColor.Name = 'LeftLegColor (ID: '..LeftLegColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'LeftLegColor (ID: 1)'",
"end",
"elseif (i == 6) then",
"if (RightLegColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(RightLegColorID)",
"BodyColor.Name = 'RightLegColor (ID: '..RightLegColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'RightLegColor (ID: 1)'",
"end",
"end",
"local typeValue = Instance.new('NumberValue')",
"typeValue.Name = 'CustomizationType'",
"typeValue.Parent = BodyColor",
"typeValue.Value = 1",
"local indexValue = Instance.new('NumberValue')",
"indexValue.Name = 'ColorIndex'",
"indexValue.Parent = BodyColor",
"indexValue.Value = i",
"end",
"local newHat = Instance.new('StringValue',newCharApp)",
"if (HatID ~= nil) then",
"newHat.Value = HatID",
"newHat.Name = HatID",
"else",
"newHat.Value = 'NoHat.rbxm'",
"newHat.Name = 'NoHat.rbxm'",
"end",
"local typeValue = Instance.new('NumberValue')",
"typeValue.Name = 'CustomizationType'",
"typeValue.Parent = newHat",
"typeValue.Value = 2",
"end",
"function LoadCharacterNew(playerApp,newChar)",
"local charparts = {[1] = newWaitForChild(newChar,'Head'),[2] = newWaitForChild(newChar,'Torso'),[3] = newWaitForChild(newChar,'Left Arm'),[4] = newWaitForChild(newChar,'Right Arm'),[5] = newWaitForChild(newChar,'Left Leg'),[6] = newWaitForChild(newChar,'Right Leg')}",
"for _,newVal in pairs(playerApp:GetChildren()) do",
"newWaitForChild(newVal,'CustomizationType')",
"local customtype = newVal:FindFirstChild('CustomizationType')",
"if (customtype.Value == 1) then ",
"pcall(function()",
"newWaitForChild(newVal,'ColorIndex')",
"local colorindex = newVal:FindFirstChild('ColorIndex')",
"charparts[colorindex.Value].BrickColor = newVal.Value ",
"end)",
"elseif (customtype.Value == 2) then",
"pcall(function()",
"local newHat = game.Workspace:InsertContent('rbxasset://hats/'..newVal.Value)",
"if newHat[1] then ",
"if newHat[1].className == 'Hat' then",
"newHat[1].Parent = newChar",
"else",
"newHat[1]:remove()",
"end",
"end",
"end)",
"end",
"end",
"end"
);
//finally, we generate the actual script code.
string code = MultiLine(
"--Game Code",
"game:GetService('RunService'):run()",
"local plr = game.Players:CreateLocalPlayer(UserID)",
"plr.Name = PlayerName",
"plr:LoadCharacter()",
"pcall(function() plr:SetUnder13(false) end)",
"pcall(function() plr:SetAccountAge(365) end)",
"if (AnimatedCharacter == false) then",
"if plr.Character:FindFirstChild('Animate') then",
"plr.Character.Animate:Remove()",
"end",
"end",
"InitalizeClientAppearance(plr,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,Hat1ID)",
"LoadCharacterNew(newWaitForChild(plr,'Appearance'),plr.Character)",
"game:GetService('Visit')",
"while true do",
"wait(0.001)",
"if (plr.Character ~= nil) then",
"if (plr.Character.Humanoid.Health == 0) then",
"wait(5)",
"plr:LoadCharacter()",
"LoadCharacterNew(newWaitForChild(plr,'Appearance'),plr.Character,plr.Backpack)",
"if (AnimatedCharacter == false) then",
"if plr.Character:FindFirstChild('Animate') then",
"plr.Character.Animate:Remove()",
"end",
"end",
"elseif (plr.Character.Parent == nil) then",
"wait(5)",
"plr:LoadCharacter()",
"LoadCharacterNew(newWaitForChild(plr,'Appearance'),plr.Character,plr.Backpack)",
"if (AnimatedCharacter == false) then",
"if plr.Character:FindFirstChild('Animate') then",
"plr.Character.Animate:Remove()",
"end",
"end",
"end",
"end",
"end"
);
string scriptfile = MultiLine(
header,
playersettings,
customizationsettings,
colorsettings,
customizationgen,
code
);
List<string> list = new List<string>(Regex.Split(scriptfile, Environment.NewLine));
string[] convertedList = list.ToArray();
File.WriteAllLines(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + GlobalVars.ScriptLuaFile, convertedList);
}
public static string GeneratePlayerColorString()
{
CryptoRandom random = new CryptoRandom();
int SkinPattern = random.Next(1,7);
int LegsPattern = random.Next(1,5);
int TorsoPattern = random.Next(1,8);
int HeadColor = 0;
int TorsoColor= 0;
int LArmColor = 0;
int RArmColor = 0;
int LLegColor = 0;
int RLegColor = 0;
if (SkinPattern == 1)
{
HeadColor = 24;
LArmColor = 24;
RArmColor = 24;
}
else if (SkinPattern == 2)
{
HeadColor = 226;
LArmColor = 226;
RArmColor = 226;
}
else if (SkinPattern == 3)
{
HeadColor = 101;
LArmColor = 101;
RArmColor = 101;
}
else if (SkinPattern == 4)
{
HeadColor = 9;
LArmColor = 9;
RArmColor = 9;
}
else if (SkinPattern == 5)
{
HeadColor = 38;
LArmColor = 38;
RArmColor = 38;
}
else if (SkinPattern == 6)
{
HeadColor = 18;
LArmColor = 18;
RArmColor = 18;
}
else if (SkinPattern == 7)
{
HeadColor = 128;
LArmColor = 128;
RArmColor = 128;
}
if (LegsPattern == 1)
{
RLegColor = 119;
LLegColor = 119;
}
else if (LegsPattern == 2)
{
LLegColor = 11;
RLegColor = 11;
}
else if (LegsPattern == 3)
{
LLegColor = 23;
RLegColor = 23;
}
else if (LegsPattern == 4)
{
LLegColor = 1;
RLegColor = 1;
}
else if (LegsPattern == 5)
{
LLegColor = 45;
RLegColor = 45;
}
if (TorsoPattern == 1)
{
TorsoColor = 194;
}
else if (TorsoPattern == 2)
{
TorsoColor = 199;
}
else if (TorsoPattern == 3)
{
TorsoColor = 1;
}
else if (TorsoPattern == 4)
{
TorsoColor = 21;
}
else if (TorsoPattern == 5)
{
TorsoColor = 37;
}
else if (TorsoPattern == 6)
{
TorsoColor = 23;
}
else if (TorsoPattern == 7)
{
TorsoColor = 45;
}
else if (TorsoPattern == 8)
{
TorsoColor = 11;
}
string output = MultiLine(
"--Color Settings",
"HeadColorID = " + HeadColor,
"TorsoColorID = " + TorsoColor,
"LeftArmColorID = " + LArmColor,
"RightArmColorID = " + RArmColor,
"LeftLegColorID = " + LLegColor,
"RightLegColorID = " + RLegColor
);
return output;
}
public static string GeneratePlayerColorPresetString(int preset)
{
int HeadColor = 0;
int TorsoColor = 0;
int LArmColor = 0;
int RArmColor = 0;
int LLegColor = 0;
int RLegColor = 0;
if (preset == 1)
{
HeadColor = 24;
TorsoColor = 194;
LArmColor = 24;
RArmColor = 24;
LLegColor = 119;
RLegColor = 119;
}
else if (preset == 2)
{
HeadColor = 24;
TorsoColor = 22;
LArmColor = 24;
RArmColor = 24;
LLegColor = 9;
RLegColor = 9;
}
else if (preset == 3)
{
HeadColor = 24;
TorsoColor = 23;
LArmColor = 24;
RArmColor = 24;
LLegColor = 119;
RLegColor = 119;
}
else if (preset == 4)
{
HeadColor = 24;
TorsoColor = 22;
LArmColor = 24;
RArmColor = 24;
LLegColor = 119;
RLegColor = 119;
}
else if (preset == 5)
{
HeadColor = 24;
TorsoColor = 11;
LArmColor = 24;
RArmColor = 24;
LLegColor = 119;
RLegColor = 119;
}
else if (preset == 6)
{
HeadColor = 38;
TorsoColor = 194;
LArmColor = 38;
RArmColor = 38;
LLegColor = 119;
RLegColor = 119;
}
else if (preset == 7)
{
HeadColor = 128;
TorsoColor = 119;
LArmColor = 128;
RArmColor = 128;
LLegColor = 119;
RLegColor = 119;
}
else if (preset == 8)
{
HeadColor = 9;
TorsoColor = 194;
LArmColor = 9;
RArmColor = 9;
LLegColor = 119;
RLegColor = 119;
}
string output = MultiLine(
"--Color Settings",
"HeadColorID = " + HeadColor,
"TorsoColorID = " + TorsoColor,
"LeftArmColorID = " + LArmColor,
"RightArmColorID = " + RArmColor,
"LeftLegColorID = " + LLegColor,
"RightLegColorID = " + RLegColor
);
return output;
}
public static string MultiLine(params string[] args)
{
return string.Join(Environment.NewLine, args);
}
}
///<summary>
/// Represents a pseudo-random number generator, a device that produces random data.
///</summary>
class CryptoRandom : RandomNumberGenerator
{
private static RandomNumberGenerator r;
///<summary>
/// Creates an instance of the default implementation of a cryptographic random number generator that can be used to generate random data.
///</summary>
public CryptoRandom()
{
r = RandomNumberGenerator.Create();
}
///<summary>
/// Fills the elements of a specified array of bytes with random numbers.
///</summary>
///<param name=”buffer”>An array of bytes to contain random numbers.</param>
public override void GetBytes(byte[] buffer)
{
r.GetBytes(buffer);
}
///
/// Fills an array of bytes with a cryptographically strong random sequence of nonzero values.
///
/// The array to fill with cryptographically strong random nonzero bytes
public override void GetNonZeroBytes(byte[] data)
{
r.GetNonZeroBytes(data);
}
///<summary>
/// Returns a random number between 0.0 and 1.0.
///</summary>
public double NextDouble()
{
byte[] b = new byte[4];
r.GetBytes(b);
return (double)BitConverter.ToUInt32(b, 0) / UInt32.MaxValue;
}
///<summary>
/// Returns a random number within the specified range.
///</summary>
///<param name=”minValue”>The inclusive lower bound of the random number returned.</param>
///<param name=”maxValue”>The exclusive upper bound of the random number returned. maxValue must be greater than or equal to minValue.</param>
public int Next(int minValue, int maxValue)
{
return (int)Math.Round(NextDouble() * (maxValue - minValue - 1)) + minValue;
}
///<summary>
/// Returns a nonnegative random number.
///</summary>
public int Next()
{
return Next(0, Int32.MaxValue);
}
///<summary>
/// Returns a nonnegative random number less than the specified maximum
///</summary>
///<param name=”maxValue”>The inclusive upper bound of the random number returned. maxValue must be greater than or equal 0</param>
public int Next(int maxValue)
{
return Next(0, maxValue);
}
}
}

View File

@ -0,0 +1,35 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 5/21/2017
* Time: 4:36 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows.Forms;
namespace RBX2007_Launcher
{
/// <summary>
/// Class with program entry point.
/// </summary>
internal sealed class Program
{
static string ProcessInput(string s)
{
return s;
}
/// <summary>
/// Program entry point.
/// </summary>
[STAThread]
private static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new SoloForm());
}
}
}

View File

@ -0,0 +1,31 @@
#region Using directives
using System;
using System.Reflection;
using System.Runtime.InteropServices;
#endregion
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("RBX2007_Launcher")]
[assembly: AssemblyDescription("RBX2007 Launcher")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Bitl")]
[assembly: AssemblyProduct("RBX2007_Launcher")]
[assembly: AssemblyCopyright("Copyright 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// This sets the default COM visibility of types in the assembly to invisible.
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
[assembly: ComVisible(false)]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all the values or you can use the default the Revision and
// Build Numbers by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]

View File

@ -0,0 +1 @@
<OpenCoverSettings />

View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectGuid>{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType>
<RootNamespace>RBX2007_Launcher</RootNamespace>
<AssemblyName>RBX2007_Launcher</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<AppDesignerFolder>Properties</AppDesignerFolder>
<ApplicationIcon>Resources\129.ico</ApplicationIcon>
<NoWin32Manifest>False</NoWin32Manifest>
<SignAssembly>False</SignAssembly>
<DelaySign>False</DelaySign>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<WarningLevel>4</WarningLevel>
<RunCodeAnalysis>False</RunCodeAnalysis>
<SourceAnalysisOverrideSettingsFile>C:\Users\BITL\AppData\Roaming\ICSharpCode/SharpDevelop4\Settings.SourceAnalysis</SourceAnalysisOverrideSettingsFile>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
<BaseAddress>4194304</BaseAddress>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<FileAlignment>4096</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
<DebugSymbols>True</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DefineConstants>TRACE</DefineConstants>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<StartAction>Project</StartAction>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Management" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="HelperFuncs.cs" />
<Compile Include="SoloForm.cs" />
<Compile Include="SoloForm.Designer.cs">
<DependentUpon>SoloForm.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SoloForm.resx">
<DependentUpon>SoloForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,896 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/4/2017
* Time: 5:24 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Reflection;
using System.Diagnostics;
namespace RBX2007_Launcher
{
/// <summary>
/// Description of SoloForm.
/// </summary>
public partial class SoloForm : Form
{
public static string SelectedPart = "Head";
public string[,] ColorArray;
public SoloForm()
{
InitializeComponent();
ColorArray = new string[32, 2] {
{ "1", ColorButton7.BackColor.ToString() },
{ "208", ColorButton8.BackColor.ToString() },
{ "194", ColorButton9.BackColor.ToString() },
{ "199", ColorButton10.BackColor.ToString() },
{ "26", ColorButton14.BackColor.ToString() },
{ "21", ColorButton13.BackColor.ToString() },
{ "24", ColorButton12.BackColor.ToString() },
{ "226", ColorButton11.BackColor.ToString() },
{ "23", ColorButton18.BackColor.ToString() },
{ "107", ColorButton17.BackColor.ToString() },
{ "102", ColorButton16.BackColor.ToString() },
{ "11", ColorButton15.BackColor.ToString() },
{ "45", ColorButton22.BackColor.ToString() },
{ "135", ColorButton21.BackColor.ToString() },
{ "106", ColorButton20.BackColor.ToString() },
{ "105", ColorButton19.BackColor.ToString() },
{ "141", ColorButton26.BackColor.ToString() },
{ "28", ColorButton25.BackColor.ToString() },
{ "37", ColorButton24.BackColor.ToString() },
{ "119", ColorButton23.BackColor.ToString() },
{ "29", ColorButton30.BackColor.ToString() },
{ "151", ColorButton29.BackColor.ToString() },
{ "38", ColorButton28.BackColor.ToString() },
{ "192", ColorButton27.BackColor.ToString() },
{ "104", ColorButton34.BackColor.ToString() },
{ "9", ColorButton33.BackColor.ToString() },
{ "101", ColorButton32.BackColor.ToString() },
{ "5", ColorButton31.BackColor.ToString() },
{ "153", ColorButton38.BackColor.ToString() },
{ "217", ColorButton37.BackColor.ToString() },
{ "18", ColorButton36.BackColor.ToString() },
{ "125", ColorButton35.BackColor.ToString() }
};
}
void TextBox1TextChanged(object sender, EventArgs e)
{
GlobalVars.Name = textBox1.Text;
}
void NameFormLoad(object sender, EventArgs e)
{
if (!File.Exists(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config))
{
SecurityFuncs.GeneratePlayerID();
SecurityFuncs.WriteConfigValues();
SecurityFuncs.ReadConfigValues();
}
else
{
SecurityFuncs.ReadConfigValues();
}
textBox1.Text = GlobalVars.Name;
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
DirectoryInfo dinfo = new DirectoryInfo(hatdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxm");
foreach( FileInfo file in Files )
{
if (file.Name.Equals(String.Empty))
{
continue;
}
listBox1.Items.Add(file.Name);
}
listBox1.SelectedItem = GlobalVars.HatName;
Image icon1 = Image.FromFile(hatdir + @"\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
string mapdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\maps";
if (Directory.Exists(mapdir))
{
DirectoryInfo dinfo = new DirectoryInfo(mapdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxl");
foreach( FileInfo file in Files )
{
listBox2.Items.Add(file.Name);
}
listBox2.SelectedItem = "Baseplate.rbxl";
}
PartSelectionLabel2.Text = SelectedPart;
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
comboBox1.SelectedIndex = GlobalVars.AASamples;
checkBox1.Checked = GlobalVars.Shadows;
if (GlobalVars.EXEName == "RobloxShaders.exe")
{
checkBox2.Checked = true;
}
else
{
checkBox2.Checked = false;
}
if (GlobalVars.AnimatedCharacter == false)
{
groupBox1.Enabled = true;
if (GlobalVars.UseRandomColors == true)
{
label9.Enabled = false;
button3.Enabled = false;
button4.Enabled = false;
button5.Enabled = false;
button6.Enabled = false;
button7.Enabled = false;
button9.Enabled = false;
button10.Enabled = false;
button11.Enabled = false;
panel1Head.Enabled = false;
panel2Torso.Enabled = false;
panel3LLeg.Enabled = false;
panel4LArm.Enabled = false;
panel5RLeg.Enabled = false;
panel6RArm.Enabled = false;
checkBox4.Checked = true;
SetColorsToPreset(1);
GlobalVars.PlayerColorPreset = 1;
}
else
{
label9.Enabled = true;
button3.Enabled = true;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button7.Enabled = true;
button9.Enabled = true;
button10.Enabled = true;
button11.Enabled = true;
panel1Head.Enabled = true;
panel2Torso.Enabled = true;
panel3LLeg.Enabled = true;
panel4LArm.Enabled = true;
panel5RLeg.Enabled = true;
panel6RArm.Enabled = true;
checkBox4.Checked = false;
}
ToggleCustomization(false);
checkBox3.Checked = true;
}
else
{
groupBox1.Enabled = false;
if (GlobalVars.UseRandomColors == true)
{
checkBox4.Checked = true;
}
ToggleCustomization(true);
checkBox3.Checked = false;
}
SetColorsToPreset(GlobalVars.PlayerColorPreset);
}
void ToggleCustomization(bool toggleval)
{
label3.Enabled = toggleval;
PartLabel1.Enabled = toggleval;
PartSelectionLabel2.Enabled = toggleval;
HeadButton1.Enabled = toggleval;
TorsoButton2.Enabled = toggleval;
RArmButton3.Enabled = toggleval;
LArmButton4.Enabled = toggleval;
RLegButton5.Enabled = toggleval;
LLegButton6.Enabled = toggleval;
ColorButton7.Enabled = toggleval;
ColorButton8.Enabled = toggleval;
ColorButton9.Enabled = toggleval;
ColorButton10.Enabled = toggleval;
ColorButton14.Enabled = toggleval;
ColorButton13.Enabled = toggleval;
ColorButton12.Enabled = toggleval;
ColorButton11.Enabled = toggleval;
ColorButton18.Enabled = toggleval;
ColorButton17.Enabled = toggleval;
ColorButton16.Enabled = toggleval;
ColorButton15.Enabled = toggleval;
ColorButton22.Enabled = toggleval;
ColorButton21.Enabled = toggleval;
ColorButton20.Enabled = toggleval;
ColorButton19.Enabled = toggleval;
ColorButton26.Enabled = toggleval;
ColorButton25.Enabled = toggleval;
ColorButton24.Enabled = toggleval;
ColorButton23.Enabled = toggleval;
ColorButton30.Enabled = toggleval;
ColorButton29.Enabled = toggleval;
ColorButton28.Enabled = toggleval;
ColorButton27.Enabled = toggleval;
ColorButton34.Enabled = toggleval;
ColorButton33.Enabled = toggleval;
ColorButton32.Enabled = toggleval;
ColorButton31.Enabled = toggleval;
ColorButton38.Enabled = toggleval;
ColorButton37.Enabled = toggleval;
ColorButton36.Enabled = toggleval;
ColorButton35.Enabled = toggleval;
RandColorsButton39.Enabled = toggleval;
ResetColorsButton40.Enabled = toggleval;
label2.Enabled = toggleval;
listBox1.Enabled = toggleval;
pictureBox1.Enabled = toggleval;
button8.Enabled = toggleval;
button2.Enabled = toggleval;
}
Color ConvertStringtoColor(string CString)
{
var p = CString.Split(new char[]{',',']'});
int A = Convert.ToInt32(p[0].Substring(p[0].IndexOf('=') + 1));
int R = Convert.ToInt32(p[1].Substring(p[1].IndexOf('=') + 1));
int G = Convert.ToInt32(p[2].Substring(p[2].IndexOf('=') + 1));
int B = Convert.ToInt32(p[3].Substring(p[3].IndexOf('=') + 1));
return Color.FromArgb(A,R,G,B);
}
void ChangeColorOfPart(int ColorID, Color ButtonColor)
{
if (SelectedPart == "Head")
{
GlobalVars.HeadColor = ColorID;
GlobalVars.ColorMenu_HeadColor = ButtonColor.ToString();
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
}
else if (SelectedPart == "Torso")
{
GlobalVars.TorsoColor = ColorID;
GlobalVars.ColorMenu_TorsoColor = ButtonColor.ToString();
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
}
else if (SelectedPart == "Right Arm")
{
GlobalVars.RightArmColor = ColorID;
GlobalVars.ColorMenu_RightArmColor = ButtonColor.ToString();
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
}
else if (SelectedPart == "Left Arm")
{
GlobalVars.LeftArmColor = ColorID;
GlobalVars.ColorMenu_LeftArmColor = ButtonColor.ToString();
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
}
else if (SelectedPart == "Right Leg")
{
GlobalVars.RightLegColor = ColorID;
GlobalVars.ColorMenu_RightLegColor = ButtonColor.ToString();
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
}
else if (SelectedPart == "Left Leg")
{
GlobalVars.LeftLegColor = ColorID;
GlobalVars.ColorMenu_LeftLegColor = ButtonColor.ToString();
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
}
void Button1Click(object sender, EventArgs e)
{
SecurityFuncs.WriteConfigValues();
ScriptGenerator.GenerateScriptForClient();
//temp domain
string exefile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.EXEName;
string quote = "\"";
string args = "-script " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + GlobalVars.ScriptLuaFile + quote + " " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\maps\\" + listBox2.SelectedItem.ToString() + quote;
Process.Start(exefile, args);
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
SecurityFuncs.WriteConfigValues();
}
void ListBox1SelectedIndexChanged(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void HeadButton1Click(object sender, EventArgs e)
{
SelectedPart = "Head";
PartSelectionLabel2.Text = SelectedPart;
}
void TorsoButton2Click(object sender, EventArgs e)
{
SelectedPart = "Torso";
PartSelectionLabel2.Text = SelectedPart;
}
void RArmButton3Click(object sender, EventArgs e)
{
SelectedPart = "Right Arm";
PartSelectionLabel2.Text = SelectedPart;
}
void LArmButton4Click(object sender, EventArgs e)
{
SelectedPart = "Left Arm";
PartSelectionLabel2.Text = SelectedPart;
}
void RLegButton5Click(object sender, EventArgs e)
{
SelectedPart = "Right Leg";
PartSelectionLabel2.Text = SelectedPart;
}
void LLegButton6Click(object sender, EventArgs e)
{
SelectedPart = "Left Leg";
PartSelectionLabel2.Text = SelectedPart;
}
void ColorButton7Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton7.BackColor;
int colorID = 1;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton8Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton8.BackColor;
int colorID = 208;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton9Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton9.BackColor;
int colorID = 194;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton10Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton10.BackColor;
int colorID = 199;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton14Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton14.BackColor;
int colorID = 26;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton13Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton13.BackColor;
int colorID = 21;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton12Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton12.BackColor;
int colorID = 24;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton11Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton11.BackColor;
int colorID = 226;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton18Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton18.BackColor;
int colorID = 23;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton17Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton17.BackColor;
int colorID = 107;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton16Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton16.BackColor;
int colorID = 102;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton15Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton15.BackColor;
int colorID = 11;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton22Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton22.BackColor;
int colorID = 45;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton21Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton21.BackColor;
int colorID = 135;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton20Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton20.BackColor;
int colorID = 106;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton19Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton19.BackColor;
int colorID = 105;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton26Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton26.BackColor;
int colorID = 141;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton25Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton25.BackColor;
int colorID = 28;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton24Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton24.BackColor;
int colorID = 37;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton23Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton23.BackColor;
int colorID = 119;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton30Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton30.BackColor;
int colorID = 29;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton29Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton29.BackColor;
int colorID = 151;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton28Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton28.BackColor;
int colorID = 38;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton27Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton27.BackColor;
int colorID = 192;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton34Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton34.BackColor;
int colorID = 104;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton33Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton33.BackColor;
int colorID = 9;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton32Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton32.BackColor;
int colorID = 101;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton31Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton31.BackColor;
int colorID = 5;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton38Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton38.BackColor;
int colorID = 153;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton37Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton37.BackColor;
int colorID = 217;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton36Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton36.BackColor;
int colorID = 18;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton35Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton35.BackColor;
int colorID = 125;
ChangeColorOfPart(colorID, ButtonColor);
}
void RandColorsButton39Click(object sender, EventArgs e)
{
Random rand = new Random();
int RandomColor;
for (int i=1; i <= 6; i++)
{
RandomColor = rand.Next(ColorArray.GetLength(0));
if (i == 1)
{
GlobalVars.HeadColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_HeadColor = ColorArray[RandomColor, 1];
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
}
else if (i == 2)
{
GlobalVars.TorsoColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_TorsoColor = ColorArray[RandomColor, 1];
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
}
else if (i == 3)
{
GlobalVars.RightArmColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_RightArmColor = ColorArray[RandomColor, 1];
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
}
else if (i == 4)
{
GlobalVars.LeftArmColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_LeftArmColor = ColorArray[RandomColor, 1];
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
}
else if (i == 5)
{
GlobalVars.RightLegColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_RightLegColor = ColorArray[RandomColor, 1];
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
}
else if (i == 6)
{
GlobalVars.LeftLegColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_LeftLegColor = ColorArray[RandomColor, 1];
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
}
}
void ResetColorsButton40Click(object sender, EventArgs e)
{
GlobalVars.HeadColor = 24;
GlobalVars.TorsoColor = 23;
GlobalVars.LeftArmColor = 24;
GlobalVars.RightArmColor = 24;
GlobalVars.LeftLegColor = 119;
GlobalVars.RightLegColor = 119;
GlobalVars.ColorMenu_HeadColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_TorsoColor = "Color [A=255, R=13, G=105, B=172]";
GlobalVars.ColorMenu_LeftArmColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_RightArmColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_LeftLegColor = "Color [A=255, R=164, G=189, B=71]";
GlobalVars.ColorMenu_RightLegColor = "Color [A=255, R=164, G=189, B=71]";
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
void Button8Click(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
Random random = new Random();
int randomHat1 = random.Next(listBox1.Items.Count);
listBox1.SelectedItem = listBox1.Items[randomHat1];
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void Button2Click(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
listBox1.SelectedItem = "NoHat.rbxm";
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void ComboBox1SelectedIndexChanged(object sender, EventArgs e)
{
GlobalVars.AASamples = comboBox1.SelectedIndex;
}
void CheckBox1CheckedChanged(object sender, EventArgs e)
{
GlobalVars.Shadows = checkBox1.Checked;
}
void CheckBox2CheckedChanged(object sender, EventArgs e)
{
if (checkBox2.Checked)
{
DialogResult dialogResult = MessageBox.Show("Some low-end graphics cards such as integrated graphics cards and cards from the late 1990s to the mid 2000s may have issues with these shaders. Do you wish to activate this setting anyways?", "RBX2007 - Graphics Card Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (dialogResult == DialogResult.No)
{
checkBox2.Checked = false;
GlobalVars.EXEName = "RobloxDefault.exe";
return;
}
GlobalVars.EXEName = "RobloxShaders.exe";
}
else
{
GlobalVars.EXEName = "RobloxDefault.exe";
}
}
void CheckBox3CheckedChanged(object sender, EventArgs e)
{
if (checkBox3.Checked)
{
groupBox1.Enabled = true;
ToggleCustomization(false);
GlobalVars.AnimatedCharacter = false;
}
else
{
groupBox1.Enabled = false;
ToggleCustomization(true);
GlobalVars.AnimatedCharacter = true;
}
}
void CheckBox4CheckedChanged(object sender, EventArgs e)
{
if (checkBox4.Checked)
{
label9.Enabled = false;
button3.Enabled = false;
button4.Enabled = false;
button5.Enabled = false;
button6.Enabled = false;
button7.Enabled = false;
button9.Enabled = false;
button10.Enabled = false;
button11.Enabled = false;
panel1Head.Enabled = false;
panel2Torso.Enabled = false;
panel3LLeg.Enabled = false;
panel4LArm.Enabled = false;
panel5RLeg.Enabled = false;
panel6RArm.Enabled = false;
GlobalVars.UseRandomColors = true;
SetColorsToPreset(1);
GlobalVars.PlayerColorPreset = 1;
}
else
{
label9.Enabled = true;
button3.Enabled = true;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button7.Enabled = true;
button9.Enabled = true;
button10.Enabled = true;
button11.Enabled = true;
panel1Head.Enabled = true;
panel2Torso.Enabled = true;
panel3LLeg.Enabled = true;
panel4LArm.Enabled = true;
panel5RLeg.Enabled = true;
panel6RArm.Enabled = true;
GlobalVars.UseRandomColors = false;
}
}
void Button3Click(object sender, EventArgs e)
{
SetColorsToPreset(1);
GlobalVars.PlayerColorPreset = 1;
}
void Button4Click(object sender, EventArgs e)
{
SetColorsToPreset(2);
GlobalVars.PlayerColorPreset = 2;
}
void Button6Click(object sender, EventArgs e)
{
SetColorsToPreset(3);
GlobalVars.PlayerColorPreset = 3;
}
void Button5Click(object sender, EventArgs e)
{
SetColorsToPreset(4);
GlobalVars.PlayerColorPreset = 4;
}
void Button11Click(object sender, EventArgs e)
{
SetColorsToPreset(5);
GlobalVars.PlayerColorPreset = 5;
}
void Button10Click(object sender, EventArgs e)
{
SetColorsToPreset(6);
GlobalVars.PlayerColorPreset = 6;
}
void Button9Click(object sender, EventArgs e)
{
SetColorsToPreset(7);
GlobalVars.PlayerColorPreset = 7;
}
void Button7Click(object sender, EventArgs e)
{
SetColorsToPreset(8);
GlobalVars.PlayerColorPreset = 8;
}
void SetColorsToPreset(int preset)
{
if (preset == 1)
{
panel1Head.BackColor = Color.FromArgb(245, 205, 48);
panel2Torso.BackColor = Color.FromArgb(163, 162, 165);
panel3LLeg.BackColor = Color.FromArgb(164, 189, 71);
panel4LArm.BackColor = Color.FromArgb(245, 205, 48);
panel5RLeg.BackColor = Color.FromArgb(164, 189, 71);
panel6RArm.BackColor = Color.FromArgb(245, 205, 48);
}
else if (preset == 2)
{
panel1Head.BackColor = Color.FromArgb(245, 205, 48);
panel2Torso.BackColor = Color.FromArgb(196, 112, 160);
panel3LLeg.BackColor = Color.FromArgb(232, 186, 200);
panel4LArm.BackColor = Color.FromArgb(245, 205, 48);
panel5RLeg.BackColor = Color.FromArgb(232, 186, 200);
panel6RArm.BackColor = Color.FromArgb(245, 205, 48);
}
else if (preset == 3)
{
panel1Head.BackColor = Color.FromArgb(245, 205, 48);
panel2Torso.BackColor = Color.FromArgb(13, 105, 172);
panel3LLeg.BackColor = Color.FromArgb(164, 189, 71);
panel4LArm.BackColor = Color.FromArgb(245, 205, 48);
panel5RLeg.BackColor = Color.FromArgb(164, 189, 71);
panel6RArm.BackColor = Color.FromArgb(245, 205, 48);
}
else if (preset == 4)
{
panel1Head.BackColor = Color.FromArgb(245, 205, 48);
panel2Torso.BackColor = Color.FromArgb(196, 112, 160);
panel3LLeg.BackColor = Color.FromArgb(164, 189, 71);
panel4LArm.BackColor = Color.FromArgb(245, 205, 48);
panel5RLeg.BackColor = Color.FromArgb(164, 189, 71);
panel6RArm.BackColor = Color.FromArgb(245, 205, 48);
}
else if (preset == 5)
{
panel1Head.BackColor = Color.FromArgb(245, 205, 48);
panel2Torso.BackColor = Color.FromArgb(128, 187, 219);
panel3LLeg.BackColor = Color.FromArgb(164, 189, 71);
panel4LArm.BackColor = Color.FromArgb(245, 205, 48);
panel5RLeg.BackColor = Color.FromArgb(164, 189, 71);
panel6RArm.BackColor = Color.FromArgb(245, 205, 48);
}
else if (preset == 6)
{
panel1Head.BackColor = Color.FromArgb(160, 95, 53);
panel2Torso.BackColor = Color.FromArgb(163, 162, 165);
panel3LLeg.BackColor = Color.FromArgb(164, 189, 71);
panel4LArm.BackColor = Color.FromArgb(160, 95, 53);
panel5RLeg.BackColor = Color.FromArgb(164, 189, 71);
panel6RArm.BackColor = Color.FromArgb(160, 95, 53);
}
else if (preset == 7)
{
panel1Head.BackColor = Color.FromArgb(174, 122, 89);
panel2Torso.BackColor = Color.FromArgb(164, 189, 71);
panel3LLeg.BackColor = Color.FromArgb(164, 189, 71);
panel4LArm.BackColor = Color.FromArgb(174, 122, 89);
panel5RLeg.BackColor = Color.FromArgb(164, 189, 71);
panel6RArm.BackColor = Color.FromArgb(174, 122, 89);
}
else if (preset == 8)
{
panel1Head.BackColor = Color.FromArgb(232, 186, 200);
panel2Torso.BackColor = Color.FromArgb(163, 162, 165);
panel3LLeg.BackColor = Color.FromArgb(164, 189, 71);
panel4LArm.BackColor = Color.FromArgb(232, 186, 200);
panel5RLeg.BackColor = Color.FromArgb(164, 189, 71);
panel6RArm.BackColor = Color.FromArgb(232, 186, 200);
}
}
}
}

View File

@ -0,0 +1,656 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
05B5WdTcVD7h8DEl9v8DAv//AAD//4Bf0K///wACw5DAlSYb9/8AAPn/h4f8////////////////////
//////////////////////////////n5///m5v7/09L+/76+/f+lpf3/d3f7/xMT+P8AAPj/AAD4/wEB
/v9YQuH90Zu9cv//VQwAAAAAAAAAAAAAAAAAAAAAAAAAAKp/yCGCYNN8i2bRonpb0p9qTti3a07X9Ecz
4/UrHur2Ihf4/w0H//8AAP//AAD//wAA/P8AAPn/Ixr7/7GCxHj//3cLb1HW8QAA/P8uLvn/5+f+////
///////////////////////////////////////////////////////////////////5+f//YGD7/wQE
+P8AAPn/BAP+/15G3vnRnbdq/9GiNgAAAAAAAAAAAAAAAAAAAAAAAAAA/9GqJ3JU1vsAAP7/AAD5/wUG
+f86O/r/c3P7/6Oj/P++vv3/2Nj+/+np/v//////i4v8/wEB9/8AAPz/cVTW5v//iB9tUNjeAAD+/zMy
+v/s7P//////////////////////////////////////////////////////////////////+fn//1tb
+v8AAPj/AAD6/xEN/P+BX9Pz7LWuUv//Zg0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8iuJWNJ
2vMAAPz/AAD4/zc3+v/q6v7////////////////////////////8/P//Skr6/wAA+P8UD/7/nXPKjNed
t3UoHff/AQH6/5+f/f//////////////////////////////////////////////////////////////
///8/P//cHD6/wAA+P8AAPz/KB78/592zOz/yqZFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA/8iuJWNJ2/MAAPz/AAD4/01N+v/+/v/////////////////////////////R0f7/GBj5/wAA
+v89Lez/9bWueHdX1N8AAP3/ODj6//T0/v//////////////////////////////////////////////
//////////////Pz//9ra/v/AAD5/wAA//9DMu7/r4DGpf/imTIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA/8ymJW1R2PMAAPz/AAD4/1VV+v/9/f//////////////////////////
//+fn/z/AQH4/wAA/P9yVNbn4qS1byQZ8fsAAPr/oaH8////////////////////////////////////
////////////////////////39/+/1RU+v8AAPn/CQb//1c/4eXRm7mEAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9WmJXFT1vMAAPz/AAD4/2Vl+//+/v//////////
//////////////////9tbfv/AAD4/xQP+f+4iMG2iGTPzgAA/v86Ovn/9PT/////////////////////
///////////////////////////////////Kyv3/NTX5/wAA+/8cFfz/eVrU1eKqqi0AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8imJWdN2fMAAPz/AAD4/3l5
+/////////////////////////////Ly//89Pfn/AAD6/0Aw5vbhp7WzNyfq/AAA+/+pqf3/////////
/////////////////////////////////////////////7e3/f8hIfn/AAD8/zYn/P+id8jL/+adIAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7uzJV5G
3PMAAPz/AAD4/5OT/P///////////////////////////8rK/f8SE/n/AAD6/41ozeKWbsvABAL7/zg4
+v/4+P//////////////////////////////////////////////////paX9/xMU+f8AAP3/OCnt/7GD
xpT//4gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA6q6zJVhB3vMAAPz/BQX4/6qq/P///////////////////////////5OS/P8AAPn/IRjw/82X
u9xFMuP5AAD7/6en/P////////////////////////////////////////////z8//+Ojvz/Bgf6/wAA
//9VPu3/z5i6rgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA4q6zJVQ+4PMAAPz/Dw/4/76+/f//////////////////////+/v//1RU
+/8AAPr/ZEra/8KQw/8IBvb/Kiv6//T0////////////////////////////////////////9PT//3d3
+/8AAPr/DAj8/2BH3+7Tm7mW//+IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1Z27JU054vMAAPz/GRn5/87O/f//////////////
////////3Nz+/yQj+f8DAvb/qXzG/2hM2P8AAPr/kJD8////////////////////////////////////
///q6v//Y2P6/wAA+v8UDvv/hGDS5PG1rkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzJm7JUk24/MAAPz/JCX5/93d
/v//////////////////////tbT9/wcH+f8rH+v/r4HE/xcQ8P8eH/r/5ub/////////////////////
/////////////+vr/v9WV/r/AAD8/yIY+/+Yb8ve+7uqOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyJHAJUQy
5fMAAPv/NjX5/+7u/v//////////////////////hYX7/wAA+f9pTdj/eVrU/wAA+f94ePv/////////
////////////////////////5+f+/05O+v8AAPv/IBby/5Bqzsf/zJ0qAAAAAAAAAAAAAAAAAAAAAAAA
AAD//4EF/+WeBdqeswUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAqoDEHz0t5vIAAPv/R0f6//n5///////////////////4+P7/UlL6/wAA9/9POuH/HhXt/xka
+v/X1/7////////////////////////////g4P7/Rkb6/wAA+P8+Lej9l27MeAAAAAAAAAAAAAAAAIpl
zCpmS9cqWkLbKn9qxT6Vc8hidFfUY1Y+3GJlTNuJZUzbif/CrGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAyJW5QTws5/gAAPv/VVX7//z8///////////////////X1/7/GRn5/wAA
9/8AAPj/AAD5/4eH/P/+/v///////////////////////87O/v89Pfn/AAD4/yQa8P+QaszmmW7GV7KC
xIGxgsWneVnUpllC3aZOOuGjVkDgxlxE3fhBMeX3LiLq9icd8v8ZEvv/AAD3/2VM24n/wqxlAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1Z25kT0t8P8AAPn/aGj7////////////////////
///i4v7/ZWX7/0pK+v9PT/v/eHj8/+7u/v//////////////////////3d3+/y0t+f8AAPf/AAD3/wAA
9P8EAfL7CALy+hoP+P8ZD/3/CAL//wAA//8AAP//AAD//wAA//8AAP//AAD+/wAA/P8AAPj/AAD3/wAA
+P9lTNuJ/8KsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwY29ky0h9f8AAPn/fX37////
//////////////////////////////v7///7+///////////////////////////////////09P+/2Zm
+/9cXPv/WVn6/1BQ+v9ERfz/Pj/+/zk7/f82OPz/Nzj6/zc4+v83OPr/ODn6/zw9+v8/P/r/RUX6/1JS
+v81Nfr/AAD4/wAA9/8SEvj/ZUzbif/CrGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsILDkSQb
9/8AAPn/lJT8////////////////////////////////////////////////////////////////////
///////////////////////////////////8/P//+vr///n5///4+P//9/f///f3///39///9/f///j4
///5+f//+/v////////r6/7/WFj6/wAA+P8AAPf/Cwv4/1ZA4Mb/wqxlAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAlG3MkRUP+/8ICfn/t7f9////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////Hx//9bW/r/AQH4/wAA9/8zM/n//8KsZQAA
AAAAAAAAAAAAAAAAAAAAAAAAhGLRjxEM/P8ICfn/tLT9////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////d3f7/Hh75/wAA
9/83Nvn/26C3bgAAAAAAAAAAAAAAAAAAAAD/qqoCelzTlgwJ/f8NDfn/vb39////////////////////
////////5OT+/5KS/P+fn/z/x8f+//Hx/v//////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
///IyP3/FBP4/wAA+v8+Lu3/26C3bgAAAAAAAAAAAAAAAAAAAAD/3aIcl2/K6AEB+f8VFvn/y8v9////
////////////////////////fX37/wAA+P8AAPv/Bgf7/ygp+v9aWvv/lZX9/8DA/f/n5/7//Pz/////
////////////////////////////////////////////////////////////////////////////////
//////////////////+Jifz/AAD3/wAA+v9xVNz+/8KsZQAAAAAAAAAAAAAAAAAAAAD/1aYghGLQ9QAA
+v8fH/n/2dn+///////////////////////9/f//Tk/7/wQC9f82J+3/JRr1/wwG//8AAP//AAD9/wAA
+/8dHvr/RUb7/4CA/f+2tv3/3Nz+////////////////////////////////////////////////////
//////////////////////////////f3//9ISPr/AAD4/yUb8v/Ol7zM//+RBgAAAAAAAAAAAAAAAAAA
AAD/zKIfcVLW8gAA+/8pKfn/4+P+///////////////////////7+///R0j8/xoR7/mXbspxqoDEfIpm
0rlsTtjaVj7g/jYn7v8hFvz/CQT//wIA/v8EBPj/Pj76/+jo/v//////////////////////////////
/////////////////////////////////////////////9fX/v8WFvn/AAD4/1lB5f/srLN2AAAAAAAA
AAAAAAAAAAAAAAAAAAD/xKofbVDX8gAA+/81Nfn/7Oz+///////////////////////6+v//QkL9/yIY
6vVEM90aAAAAAAAAAAD/7pke87OzQMiVvXS2hsene1vVomhM2dEMBvX/FRX5/9PT/v//////////////
/////////////////////////////////////////////////////////////5qa/P8AAPj/AAD4/39d
2v//wqptAAAAAAAAAAAAAAAAAAAAAAAAAAD/xKofZ0zZ8gAA+/88PPn/8PD+////////////////////
///6+v//Pz/8/yEW8fqugMRcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGZvUEVDfL4ERH7/8PD
/f///////////////////////////////////////////////////////////////////////Pz//1lZ
+/8AAPj/AAD4/5Rtzez/1ZkmAAAAAAAAAAAAAAAAAAAAAAAAAAD/u6ofW0Lc8gAA/P9AQPn/8vL+////
///////////////////6+v//PD37/yMZ9v/SnLud//+AFP//mR7//5Ee//eRHf/AriXTm7l4mnDMjXpZ
1OAWEPD+AwP5/7Cw/f//////////////////////////////////////////////////////////////
////////7Oz//ygo+f8AAPj/AAD4/86XvMz//5EGAAAAAAAAAAAAAAAAAAAAAAAAAADmqrMfSzfh8gAA
/P9PT/r/+Pj////////////////////////7+///SEn7/yMZ7v+YcMranHXJ4YJf0/KEYdDybU/Y8Uk2
4vU9LPf/Fg7//wAA/f8AAPf/KSn5/8nJ/f//////////////////////////////////////////////
////////////////////////vLz9/wcH+P8AAPj/f13a///Cqm0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACzgMQfOivm8gAA/P9dXfv//f3////////////////////////8/P//W1v7/wAA9f8GAvn/AAD9/wAA
/v8AAP7/AAD//wAA//8AA/v/GRr6/zEy+v9sbPv/1NT+//39////////////////////////////////
////////////////////////////////////////eHf7/wAA+P8GBfb/lG3N7P/VmSYAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAzKu4XIRft8QAA+/9sbPv////////////////////////////9/f//fX38/xob
+f8qK/r/REX7/1lZ+/9vb/z/i4v8/6Gh/P+3t/3/1dX+/+vr/v//////////////////////////////
///////////////////////////////////////////////////39///PDz5/wAA+P8lHO7/zpe8zP//
kQYAAAAAAAAAAAAAAAAAAAAAAAAAAP//iAuxgsROHRX0+AAA+v99ffz/////////////////////////
////////7e3//9zc/v/q6v7/+Pj/////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////W1v7/ERH4/wAA
+f9TPuD87KyzdgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/3kR2vg8SSGxP8/wAA+f+UlPz/////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//+bm/3/AAD4/wMC+/9+XtHa/8KqbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPe7sxp0V9SKDgr+/wUG
+P+qqvz/////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////////////////9aWvv/AAD5/xUP9/+yhMO6/8iiLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMSI
xB1bQ9yMCQb//xAQ+P9sbPv/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/////////////////////////////+vr/v8hIfj/AAD6/z4u7f/boLduAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAANefuW2AXdLYAAD8/xUV+f8rLf7/Njj+/1VW/v91dv3/mpv+/7m5/v/W1/7/6ur//+fn
/v/4+P//////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////7a2/f8DA/j/AAD6/3FU3P7/wqxlAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMSOu0uofMWvkmvb/2NJ2vlWPdz+MiHl3ywd5/sjGPf/FhD9/xMQ
//8eHf//MDH//yst/v82OP7/VVb+/3V2/f+am/7/ubn+/9bX/v/q6v//5+f+//j4///9/f//////////
////////////////////////////////////////////////////////8PD//ysr+f8AAPj/JRvy/86X
vMz//5EGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//2YK/9WmYf/VpkL/0ahM//+ZD+iq
rka1gsBngl/QgX5b0MhKNN/IOSjh3jYl6f8cEfH/CwX1/woF/v8IBf//Cgj//xUV//8iJP//ISP//z0/
//9ISv//Wlv8/4CB/f+kpf7/wsL+/9na/v/k5P7/6+v+//Hx/v/09P7/9fX+//T0/v/5+f7/tbX9/wsK
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
qDR6W9elAAD4/7Cx/Pv////+///+/v/////////++vr+/u/v/v7W1vz9wsH8/bq6+/xAQPj6AAD9+wMB
/P9VQOLozJu9TP/IuAByVNUDpnrCAFZD4ChOOeK3LyLt3T0y6eJsYOv/eXHy/315+v+IiP//QUH4/wAA
+/5VQ+K0knrGWxgP8PhvcP38/Pz+/fr6/v/6+v7//Pz+//39/v/////////+/v/////q6v3+dHX7+xUV
+/9AL+j2XkvbiuGssDD/yaEA/+7PAGRK2QaSbMkA3KizSy0h7P8AAP3/jo/9//L0//3////8///+/P//
/vxKS/j8BQP4/cOTvoZBLObVJij9//f3/fz+/v/+/Pz9/v7+///+/v///v7///v7/f7/////6Oj8/jM0
+vwAAPv/Z03f6f/YnlXqrqwAmnPOAOawsAAAAAAAaE3ZBZdvyQC+kr5DMSTq+wEA+vu+vfv8///+/vn5
/f79/f//zs38/gQE+/82Junrs4PEnAUB9f+XmP39///+/vv7/v/+/v7///////7+/v/8/P7+///+/9TU
/P0pLPz+FAz1/3pc2rpjStknAAD/AP//dQKTbNIC7LWuAAAAAABvUtYGonfEAMuft0UzJOn/AAH7/MPC
+/79/f7/+Pj9//7+//6jo/v9AAD6/4Ni085VPNzVJin+/vf2/f39/f/+/f39/v/////9/f7++/v+////
/v+3t/v8FBX9/isd8P6AYNN8CQf6BAAA/gAHBfwC0Jm3AJ92zAAAAAAAAAAAAGFI2gaMaMsAv5C/RSkd
6/8JC/r91dX8/v7+///6+v7////+/WJj/P4LBvH6qn/FyQ8I8vmanP3+///+/vz8/v/+/v7//f3+/vz8
/v////7/oqP8+wcJ+/8+K+vwwpnBZv/gngDCj8AADAf4AgAA/wAAAAAAAAAAAAAAAAAAAAAAV0DeBn5d
0ACvhMRFIhft/xob+v3n5/3+//////7+/v/w7/3+ICP9/1U93fZyUtPtIyf9/vLx/f79/f7+/f3+/vz8
/v78/P7////+/oaG/PsDAvv/XkTi89qgt1TytK4A0Zq5A510zAANCfkAAAD/AAAAAAAAAAAAAAAAAAAA
AABPOuEGc1TUAKJ7yEQdE+7/Ky37/fT0/P7+/v///////8DA/P8DA/j+kmzM/yse6P+Eh//////+//v7
/f/9/f7+///+//7+/v5ucP35AgD5/2VL283/wqk4wY7BAOSqsgTlqrMB36W5AqJ7yAL//4wA//GZAP/C
rAAAAAAAAAAAAEc14wVnTNgAl3HNRhgP7/9AQvv9/v79/vz8//////7/g4T+/iQX6f98W9H+GBn5/uvq
/v7///7++/v9/v///v/4+P3+XF78/gkF9/+EYtO/zp23GpV6wwD/vqkA//OZADwo4gBCMOkAoHnHAP//
awD/8ZkA0J66AP/CrAAAAAAAPi7lBltD2gCCYtI+Egrv/1hZ/Pz///39/Pz+//7+/v9LTfv/MCHl/yQX
5/92ef7////+//v7/v////7/9vb+/lpb+v4bEe/8jGjRguWusA6vfsYGmXHLHZt9wiCigsBAeVzSRVtE
4Fije8ZS//+ACf3umQDjq7UB/7mvAAAAAAA9LOkFUz3iAJx1ymgSCvH/amz8/P7+/v7+/v//6+v9/y0t
+P8EBPf/MzT6/+bm/f/8/P7//Pz+/+Li/f9BQvj9AAD1/0Qv3utZOteFY0PesC4e6rwYD/C7MiPp3iwf
6fkXD/H3Cwb3/x8X7+PEmrtk//+EBoFn0AD/yKkBVkDgADMl8wQ7LPYApHrMlQ0H9v9+gPv7//////z8
/v/6+v7/0dH9/8HB/f/l5f7////+//z8/f//////rq78/zg3+P5DQvj+MDH5/y0s+/8uLP7/KCj8/ygp
/P8nKf3/Kiv8/zc4/P8oKPn9AAD4/xgS8N+8mrxo//9rBObIqABFLOkAHhb4BB4W+wCAX9aPBgL3/52e
/Pz///7++/v9///////////////////////7+////f3+//7+/v/9/f////////7+/v/8/P/++fr//Pf4
/vz29/38+Pj+/Pj4/v34+P3+/v7+/uvr/f5ycvr8GRr5/x4W8fKNctGPinPJDl1J2wEQC/wFCAT/AF9G
4IoDAvn/sLD8+//////7+/7+/v7+/v////////7+/////v////7////+/f3+//39/v7+/v7+/v7/////
/v7///7+//////////7////////////////////////+/v////+8vPz7AAD5/zQv8/3/0qYz//+DAA0K
+wIAAP4BZUvapwIB+f+3t/v8//////r6/v//////sbH8/11e+/+Gh/z/wcP9/Onq/vv///38///+/f//
//7///7//v7+/v7+///+/v///v7+//7+/v/+/v7//v7+//7+///7+/3++/v+/ri3+/0AAPn+TDnm9P//
ijP//2cAAAD/AAAA/wdtUdXbBAX4/8rK/P3/////+/v+/v////5JSfn/CQHw/RcN9f8PC/r/KCb6/0FD
/f90d///s7P+/+jo/f/+/v///v7+/v7+/v/////////////////+/v///v7+//z8/v/////+aGj6/AMA
9v6ZcM7DGhn0DFtF3wJRT7UAAAD/CFY+3NYOD/r/2dn9/P/////9/f79////+0hG+P8vHeCOa0/QVI1t
y5JaPtrDPinp5CIV8esEAPT8ZWX6/////v78/P3//v7+/////////////////////v/9/f7////+//Lx
/f8hI/r7KRvs/tedvn15VeAAYkfiBP//AQAAAAAHUDre1hYW+f/h4fz9//////39/v7///77RUL5/zci
4YsAAPkADBP4AP//jwD//3Ya/8ynMiYW6NA9Pvv//Pz9/P7+/v79/f7//////////////////v7///v7
/v/+/v/+wsH8/gAB/P0/LeT/78GqUdunuACZcc0D//8BAAAAAAhBLeLXHBz6/+fn/f3//////f3+/v//
/v1CQvv/dlTV0sGSxGqQdsl0eFvObW9P3pBNNubBDQTt9zY3+f/39/7+/////v39/f//////////////
///9/f7/+/v9/////v+IiPr8AAD5/nhZ1uD//34W//+CAM+YugGPZpcA+8atBSYZ6NUpKfv/8fH+/f7+
///8/P7//////kpK+f8HAe77KBzt/yIX8f8iGvP/GBb5/yAh/f9RUvv/xMT8//7+/v/9/f7//v7+////
//////////////39/f/+/v7/+/v9/j9B+/sQCu//uYvDmEsc9QAuBv4B1p23ABkA/wD//5QPEAjw2jQ0
+v/4+P38//////z8/v////7/oqL8/2Vn/P+KjP/8oaP/+7m7/vvR0v387u78/f///v7//////v7+/v7+
/v7+/v/////////////+/v7//Pz+///////g4P39CQv6/T8u5Pviq7NX1J65AMuTvQLOl7wAWgD8ANaq
tk8XDfP2R0n7/v7+/f39/f7++/v9//39/v7////////+/v///v7////+///+/v////7//////////v39
/v///////////////v///////v7////////7+/3//v7//qen/P0AAPr/a1HY4f//aS///xoA/8inAQAA
AAADAPcAi2nQTQIA+fRKTPv7///++v////v///38///+/v///v7///7////+/v39///7+///+vr+//v7
///7+/7/+/z+//39/v/9/v7//v7+//7+/v/+/v7//v7+//v7/v////7/X2D6/AQC9/6Vbs+fJhv4CS8i
8gD/AAAAAAAAAAAA+hedc8iXIhjy/yYj9v9bWfr/dXT8/5SV//+4uv//0tP//9ze//zx8v/8/f79/P//
/vz///79///+/f////3///7+/////v///v7////+/////v39///8/P3+/f3//uvq/P4cHvv8LB7r/9ao
uGuGZ9UAbVHcAuysswAAAAAAAAD6CLiHvkewiMetfmDOq0ky1Iw9JuKyNCPs0y4i7e8rI/H8JR/1/y0r
+v9IRv7/ZWX+/3+B//+Ljf//oqT//7S2/v/T1P//7e7//v3+//v////7///9/P///P7///3+i4r5/QAA
+f97W9jh//+FG///fQDmqLQBAAAAAAAAAAAAAPkAuIe/AP//AAAAAP8AAAD/AAAA/wD/4oMSfBH0Ippy
vkNqSNNlRi7cdUsy3qcmFOasOyfh3ScY6OYaEO7pJBr1/ich+f0yL/r/RED4/0hI/P9OTv3/TE79/1RX
/f8YG/r7BAP1/p11zbwAAP8GAAD/AP2/qwAAAAAAAAAAAAAAAAC1hcAC//8AAP//AAAAAP8C//8AAP23
nACBhKoAPCLVACEO5QAAAPgAAAD/AAAA/wD//3kU//uTGNSZsyCoe8NPblLMT0g21WA3Id6PNiLjpSoa
7scpG+vlJhjr+RwT9fo6KvH/uoy+i29C4QBvROEB/8ulAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAA
AAAAAAACiWPNBP8A/wU3JuMFJhntBgoE9wUIBP8EDAr+Av//bgD/44gAw4SvAJluxQAAAP8AAAD/ABgI
5gAdFv8A//9iLOazr2yyhcGYhmLXup113czorbFV/+KZAP/ykgIAAAAAAAAAAAAAAAD//z////8D///+
AA//9gAB/wQAA+AEAAfgAAAf4AAAP+AAAH/gAAD/4AAD/+AAB//gAA//4AAf/8AAAA/AAAAHwAAAA8AA
AAPAAAADwAAAA8AgAAPAPgAHwAAAB8AAAAfAAAAPwAAAD8AAAA+AAAAPwAAAH/+AAB///8Af///8PygA
AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAA7KeYAY0vbAVxE3QWAT80Hw3q9BwAA
/wCqfb4A3KWwBl1C38VdP9Zy/+2eEv//TAAAAPUAKB3wAEYy5gD/5p0AUjrgAGlQ2QA7K+cAjlbIALJs
vwBwVdIIbFPZHlM73FIgHvj/Kyr5/xYS9vAjFu3RHxPtpDMm7X1IN+No/8ioLGhN2wB7XtYUSDTgTWBL
4mx0WuiTQTbs2FI83544LOzEysr+/vz9/vrT1P3/wsP+/3J0/f8TDvb/PC3qvDYl7SIiEOYASjLbbTIu
9f/d3P3/6+3//z48+f00Hd+5kpP8//////37+v7+////+b/B//9DOfDqYU7aWVE95QBMN+cAEAHlADwl
22tGRPf9////9dHT//s1JuflVUfr6uvt//7///79////+5WW/f83KOnTPSTiKl1G3wBTPuABAAD/AQEA
6QAmEuBsWFb4/v39/vmfn/z+OSLc96Ce+v3///7+/////oSE/P9CLeO5ak/XDEUv5wCygsQCQjLmAXhb
0gAAAOwAEgPkanJx+f/////6VU7y/Tgq6P/p7P/+9PX+/HNw+Po+ItuSMiHhCGxcxRc4JeMs/9mwB0w5
4gBMOeIBAADzAC8a4YeIh/r/////+nl5+f6nqPz9///+/o6P/P8lIPH2WUnrvTMu9tM7NvTtJiP2+jUl
4qYuJO0IKh/uAgAA+wAhEeqSmZn8//////n///////////////z///79+Pn//+fp///o6P7/7u///+Pk
//1maPv/OSznsg4L+wAAAP4AKRvmq6Wm/P/////7bm35+VRP9vqMifv/vb7+//z8/v7///78///+/f7+
/f7////6lpb8/DQh5MQCAPcAAAD/AC8h57m3t/z//////11V8tjHs90qNCDZXgwA6LuYmPz+/v7//Pn5
/f79/f7+/v7++UtI9v9fPNN0US/VAAME/gAfFu60v7/9/v7+/vtZVPT4QDHiw0lB8MJNSPTqxcX8/v7+
/v76+v7+///+/ePl//01K+371KWmLduvmQAAAP8LHhn1ydrb//7////45+j++9vc///s7f//////////
//z+/v799/f9/vv7//ykpv7/MyLkzk1U2gEDB/YB/+mUQUIz6eB+evb7qKX6/7++/P/R0f7/5+f//+7v
///3+P///////////v/////7Y2H4/00w2YMKAvIAMSPvBt2ixgvjtq4oKQTEKUIe50YjE+VuPy7njk9D
7K5US/DFYlv31Xd0+OSDgPn0dXX7/C8l7/25h705nnHGAIRh1QPurr4As4zBABgAzwApGeQAFAvvAAAA
/wAeMf8AJJn/AAAAAAwAAMQuMQ/TfB8K4NRYQeXk/8uoGOCpuQDDkL0B/z8AAP8BAADgAQAAgAcAAIAP
AACAHwAAgD8AAIADAACAAQAAgAEAAIYBAACAAwAAgAMAAIADAADwBwAA/8cAAA==
</value>
</data>
</root>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>