This commit is contained in:
Bitl 2016-11-21 17:07:34 -07:00
commit fe6b1dce8e
31 changed files with 8726 additions and 0 deletions

17
.gitattributes vendored Normal file
View File

@ -0,0 +1,17 @@
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain

47
.gitignore vendored Normal file
View File

@ -0,0 +1,47 @@
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
# =========================
# Operating System Files
# =========================
# OSX
# =========================
.DS_Store
.AppleDouble
.LSOverride
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

236
CSMPFunctions.lua Normal file
View File

@ -0,0 +1,236 @@
rbxversion = version();
print("ROBLOX Client version '" .. rbxversion .. "' loaded.");
if (rbxversion ~= "0, 3, 809, 0") then
settings().Rendering.FrameRateManager = 2;
else
settings().Rendering.frameRateManager = 2;
settings().Rendering.graphicsMode = 2;
end
HeadColor=BrickColor.DarkGray();
TorsoColor=BrickColor.DarkGray();
LArmColor=BrickColor.DarkGray();
LLegColor=BrickColor.DarkGray();
RArmColor=BrickColor.DarkGray();
RLegColor=BrickColor.DarkGray();
function PlayerColorize()
PlayerColorPattern = math.random(5);
if (PlayerColorPattern==1) then
HeadColor=BrickColor.random();
TorsoColor=BrickColor.random();
LArmColor=BrickColor.random();
LLegColor=BrickColor.random();
RArmColor=BrickColor.random();
RLegColor=BrickColor.random();
elseif (PlayerColorPattern==2) then
local pantsColor=BrickColor.random();
local shirtColor=BrickColor.random();
local armsColor=BrickColor.random();
HeadColor=BrickColor.random();
TorsoColor=shirtColor;
LArmColor=armsColor;
LLegColor=pantsColor;
RArmColor=armsColor;
RLegColor=pantsColor;
elseif (PlayerColorPattern==3) then
local pantsColor=BrickColor.random();
local shirtColor=BrickColor.random();
HeadColor=BrickColor.random();
TorsoColor=shirtColor;
LArmColor=shirtColor;
LLegColor=pantsColor;
RArmColor=shirtColor;
RLegColor=pantsColor;
elseif (PlayerColorPattern==4) then
local pantsColor=BrickColor.random();
local shirtColor=BrickColor.random();
local fleshColor=BrickColor.random();
HeadColor=fleshColor;
TorsoColor=shirtColor;
LArmColor=fleshColor;
LLegColor=pantsColor;
RArmColor=fleshColor;
RLegColor=pantsColor;
elseif (PlayerColorPattern==5) then
HeadColor=BrickColor.random();
TorsoColor=BrickColor.random();
LArmColor=BrickColor.Black();
LLegColor=BrickColor.Black();
RArmColor=BrickColor.Black();
RLegColor=BrickColor.Black();
end
end
function PlayerNoobify()
PlayerColorPattern = math.random(3);
if (PlayerColorPattern==1) then
HeadColor=BrickColor.Yellow();
TorsoColor=BrickColor.Blue();
LArmColor=BrickColor.Yellow();
LLegColor=BrickColor.new("Br. yellowish green");
RArmColor=BrickColor.Yellow();
RLegColor=BrickColor.new("Br. yellowish green");
elseif (PlayerColorPattern==2) then
HeadColor=BrickColor.new("Cool yellow");
TorsoColor=BrickColor.random();
LArmColor=BrickColor.new("Cool yellow");
LLegColor=BrickColor.new("Pastel Blue");
RArmColor=BrickColor.new("Cool yellow");
RLegColor=BrickColor.new("Pastel Blue");
elseif (PlayerColorPattern==3) then
HeadColor=BrickColor.White();
TorsoColor=BrickColor.random();
LArmColor=BrickColor.White();
LLegColor=BrickColor.new("Medium blue");
RArmColor=BrickColor.White();
RLegColor=BrickColor.new("Medium blue");
end
end
function CSServer(Port,BodyColors)
assert((type(Port)~="number" or tonumber(Port)~=nil or Port==nil),"CSRun Error: Port must be nil or a number.");
local NetworkServer=game:GetService("NetworkServer");
pcall(NetworkServer.Stop,NetworkServer);
NetworkServer:Start(Port);
game:GetService("Players").PlayerAdded:connect(function(Player)
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' added");
Player:LoadCharacter();
Player.CharacterAdded:connect(function(char)
if (BodyColors == true) then
PlayerColorize();
else
PlayerNoobify();
end
char['Head'].BrickColor = HeadColor;
char['Torso'].BrickColor = TorsoColor;
char['Left Arm'].BrickColor = LArmColor;
char['Left Leg'].BrickColor = LLegColor;
char['Right Arm'].BrickColor = RArmColor;
char['Right Leg'].BrickColor = RLegColor;
end)
Player.Changed:connect(function(Property)
if (Property=="Character") and (Player.Character~=nil) then
local Character=Player.Character;
local Humanoid=Character:FindFirstChild("Humanoid");
if (Humanoid~=nil) then
Humanoid.Died:connect(function() delay(5,function() Player:LoadCharacter() end) end)
end
end
end)
end)
game:GetService("Players").PlayerRemoving:connect(function(Player)
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving")
end)
game:GetService("RunService"):Run();
pcall(function() game.Close:connect(function() NetworkServer:Stop(); end) end);
-- ChildAdded is being a retard. Sorry for inefficient code.
--[[while wait(0.1) do
print("OMG",#game.NetworkServer:children())
for Index,Child in pairs(NetworkServer:GetChildren()) do
if (Child.className == "") then
IncommingConnection(nil, Child);
end
end
end]]
NetworkServer.IncommingConnection:connect(IncommingConnection);
end
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Ticket)
pcall(function()
game:GetService("GuiService").Changed:connect(function()
pcall(function() game:GetService("GuiService").ShowLegacyPlayerList=true; end);
pcall(function() game.CoreGui.RobloxGui.PlayerListScript:Remove(); end);
pcall(function() game.CoreGui.RobloxGui.PlayerListTopRightFrame:Remove(); end);
pcall(function() game.CoreGui.RobloxGui.BigPlayerListWindowImposter:Remove(); end);
pcall(function() game.CoreGui.RobloxGui.BigPlayerlist:Remove(); end);
end);
end)
game:GetService("RunService"):Run();
assert((ServerIP~=nil and ServerPort~=nil),"CSConnect Error: ServerIP and ServerPort must be defined.");
local function SetMessage(Message) game:SetMessage(Message); end
local Visit,NetworkClient,PlayerSuccess,Player,ConnectionFailedHook=game:GetService("Visit"),game:GetService("NetworkClient");
local function GetClassCount(Class,Parent)
local Objects=Parent:GetChildren();
local Number=0;
for Index,Object in pairs(Objects) do
if (Object.className==Class) then
Number=Number+1;
end
Number=Number+GetClassCount(Class,Object);
end
return Number;
end
local function RequestCharacter(Replicator)
local Connection;
Connection=Player.Changed:connect(function(Property)
if (Property=="Character") then
game:ClearMessage();
end
end)
SetMessage("Requesting character...");
Replicator:RequestCharacter();
SetMessage("Waiting for character...");
end
local function Disconnection(Peer,LostConnection)
if (LostConnection==true) then
SetMessage("You have lost connection to the game");
else
SetMessage("You have lost connection to the game");
end
end
local function ConnectionAccepted(Peer,Replicator)
Replicator.Disconnection:connect(Disconnection);
local RequestingMarker=true;
game:SetMessageBrickCount();
local Marker=Replicator:SendMarker();
Marker.Received:connect(function()
RequestingMarker=false;
RequestCharacter(Replicator);
end)
while RequestingMarker do
Workspace:ZoomToExtents();
wait(0.5);
end
end
local function ConnectionFailed(Peer,Code)
SetMessage("Failed to connect to the Game. (ID="..Code..")");
end
pcall(function() settings().Diagnostics:LegacyScriptMode(); end);
pcall(function() game:SetRemoteBuildMode(true); end);
SetMessage("Connecting to server...");
NetworkClient.ConnectionAccepted:connect(ConnectionAccepted);
ConnectionFailedHook=NetworkClient.ConnectionFailed:connect(ConnectionFailed);
NetworkClient.ConnectionRejected:connect(function()
pcall(function() ConnectionFailedHook:disconnect(); end);
SetMessage("Failed to connect to the Game. (Connection rejected)");
end)
pcall(function() NetworkClient.Ticket=Ticket or ""; end) -- 2008 client has no ticket :O
Player=game:GetService("Players"):CreateLocalPlayer(UserID);
PlayerSuccess=pcall(function() return NetworkClient:Connect(ServerIP,ServerPort) end);
if (not PlayerSuccess) then
SetMessage("Failed to connect to the Game. (Invalid IP Address");
NetworkClient:Disconnect();
end
if (not Player) then
SetMessage("Failed to connect to the Game. (Player not found)");
NetworkClient:Disconnect();
end
Player:SetSuperSafeChat(false);
Player.CharacterAppearance=0;
pcall(function() Player.Name=PlayerName or ""; end);
pcall(function() Visit:SetUploadUrl(""); end);
end
_G.CSServer=CSServer;
_G.CSConnect=CSConnect;

9
Play Solo.lua Normal file
View File

@ -0,0 +1,9 @@
game:getService("Players"):CreateLocalPlayer(0);
game:service("RunService"):run();
game.Players.Player:LoadCharacter();
game.Players.Player:SetSuperSafeChat(false);
function onDied(humanoid)
wait(5);
game.Players.Player:LoadCharacter(0);
end
game.Players.Player.Character.Humanoid.Died:connect(onDied);

View File

@ -0,0 +1,18 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
# SharpDevelop 4.4
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RBX2008Launcher", "RBX2008Launcher\RBX2008Launcher.csproj", "{F92FFBED-2767-4676-9711-BB89CDA58A43}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F92FFBED-2767-4676-9711-BB89CDA58A43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F92FFBED-2767-4676-9711-BB89CDA58A43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F92FFBED-2767-4676-9711-BB89CDA58A43}.Release|Any CPU.Build.0 = Release|Any CPU
{F92FFBED-2767-4676-9711-BB89CDA58A43}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,7 @@
public static class GlobalVars
{
public static string ClientDir = "";
public static string Map = "Baseplate.rbxl";
public static string PlayerName = "Player";
public static bool CloseOnLaunch = true;
}

View File

@ -0,0 +1,161 @@
/*
* Created by SharpDevelop.
* User: BITL-Gaming
* Date: 10/7/2016
* Time: 3:01 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace RBXLegacyLauncher
{
partial class MainForm
{
/// <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()
{
this.label1 = new System.Windows.Forms.Label();
this.listBox1 = new System.Windows.Forms.ListBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.button3 = new System.Windows.Forms.Button();
this.button5 = new System.Windows.Forms.Button();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label15 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.Location = new System.Drawing.Point(100, 57);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(70, 18);
this.label1.TabIndex = 1;
this.label1.Text = "Map List";
this.label1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.Location = new System.Drawing.Point(12, 73);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(264, 134);
this.listBox1.TabIndex = 0;
this.listBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1SelectedIndexChanged);
//
// checkBox1
//
this.checkBox1.Checked = true;
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox1.Location = new System.Drawing.Point(12, 35);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(158, 19);
this.checkBox1.TabIndex = 5;
this.checkBox1.Text = "Close Launcher on Launch";
this.checkBox1.UseCompatibleTextRendering = true;
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged);
//
// button3
//
this.button3.Location = new System.Drawing.Point(12, 240);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(264, 24);
this.button3.TabIndex = 6;
this.button3.Text = "Launch ROBLOX Studio";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.Button3Click);
//
// button5
//
this.button5.Location = new System.Drawing.Point(192, 35);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(84, 32);
this.button5.TabIndex = 10;
this.button5.Text = "Save Config";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.Button5Click);
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(96, 9);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(180, 20);
this.textBox2.TabIndex = 11;
this.textBox2.Text = "Player";
this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.textBox2.TextChanged += new System.EventHandler(this.TextBox2TextChanged);
//
// label15
//
this.label15.Location = new System.Drawing.Point(12, 12);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(87, 15);
this.label15.TabIndex = 12;
this.label15.Text = "PLAYER NAME:";
//
// button2
//
this.button2.Location = new System.Drawing.Point(12, 210);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(264, 24);
this.button2.TabIndex = 2;
this.button2.Text = "LAUNCH GAME";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.Button2Click);
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(288, 275);
this.Controls.Add(this.label15);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.button5);
this.Controls.Add(this.button3);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.button2);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "RBX2008 Launcher";
this.Load += new System.EventHandler(this.MainFormLoad);
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Label label1;
}
}

View File

@ -0,0 +1,143 @@
/*
* Created by SharpDevelop.
* User: BITL-Gaming
* Date: 10/7/2016
* Time: 3:01 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Threading;
namespace RBXLegacyLauncher
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
void Button2Click(object sender, EventArgs e)
{
string luafile = GlobalVars.ClientDir + @"\\game.lua";
string rbxexe = GlobalVars.ClientDir + @"\\RobloxApp.exe";
string mapfile = GlobalVars.ClientDir + @"\\maps\\" + GlobalVars.Map;
string settingsluafile = GlobalVars.ClientDir + @"\\game.lua";
string quote = "\"";
string args = "";
args = "-script " + quote + "dofile('" + settingsluafile + "'); game:Load('" + mapfile + "'); wait(0.001); dofile('" + luafile + "'); _G.Play('" + GlobalVars.PlayerName + "');" + quote;
Process.Start(rbxexe, args);
WriteConfigValues();
if (GlobalVars.CloseOnLaunch == true)
{
this.Close();
}
}
void MainFormLoad(object sender, EventArgs e)
{
if (!File.Exists("config.txt"))
{
WriteConfigValues();
}
GlobalVars.ClientDir = Path.Combine(Environment.CurrentDirectory, @"client");
GlobalVars.ClientDir = GlobalVars.ClientDir.Replace(@"\",@"\\");
GlobalVars.Map = "Baseplate.rbxl";
string mapdir = GlobalVars.ClientDir + @"\\maps\\";
DirectoryInfo dinfo = new DirectoryInfo(mapdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxl");
foreach( FileInfo file in Files )
{
listBox1.Items.Add(file.Name);
}
listBox1.SelectedItem = GlobalVars.Map;
ReadConfigValues();
}
void ReadConfigValues()
{
string line1, line2;
using(StreamReader reader = new StreamReader("config.txt"))
{
line1 = reader.ReadLine();
line2 = reader.ReadLine();
}
bool bline1 = Convert.ToBoolean(line1);
GlobalVars.CloseOnLaunch = bline1;
GlobalVars.PlayerName = line2;
if (GlobalVars.CloseOnLaunch == true)
{
checkBox1.Checked = true;
}
else if (GlobalVars.CloseOnLaunch == false)
{
checkBox1.Checked = false;
}
textBox2.Text = GlobalVars.PlayerName;
}
void WriteConfigValues()
{
string[] lines = { GlobalVars.CloseOnLaunch.ToString(), GlobalVars.PlayerName.ToString() };
File.WriteAllLines("config.txt", lines);
}
void ListBox1SelectedIndexChanged(object sender, EventArgs e)
{
GlobalVars.Map = listBox1.SelectedItem.ToString();
}
void CheckBox1CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
GlobalVars.CloseOnLaunch = true;
}
else if (checkBox1.Checked == false)
{
GlobalVars.CloseOnLaunch = false;
}
}
void Button5Click(object sender, EventArgs e)
{
WriteConfigValues();
}
void TextBox2TextChanged(object sender, EventArgs e)
{
GlobalVars.PlayerName = textBox2.Text;
}
void Button3Click(object sender, EventArgs e)
{
string rbxexe = GlobalVars.ClientDir + @"\\RobloxApp.exe";
Process.Start(rbxexe);
WriteConfigValues();
if (GlobalVars.CloseOnLaunch == true)
{
this.Close();
}
}
}
}

View File

@ -0,0 +1,120 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,31 @@
/*
* Created by SharpDevelop.
* User: BITL-Gaming
* Date: 10/7/2016
* Time: 3:01 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows.Forms;
namespace RBXLegacyLauncher
{
/// <summary>
/// Class with program entry point.
/// </summary>
internal sealed class Program
{
/// <summary>
/// Program entry point.
/// </summary>
[STAThread]
private static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

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("RBXLegacyLauncher")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RBXLegacyLauncher")]
[assembly: AssemblyCopyright("Copyright 2016")]
[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,80 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectGuid>{F92FFBED-2767-4676-9711-BB89CDA58A43}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType>
<RootNamespace>RBX2008Launcher</RootNamespace>
<AssemblyName>RBX2008Launcher</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<AppDesignerFolder>Properties</AppDesignerFolder>
<ApplicationIcon>Resources\RBXLegacyIcon.ico</ApplicationIcon>
<NoWin32Manifest>False</NoWin32Manifest>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<WarningLevel>4</WarningLevel>
</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>True</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DefineConstants>TRACE</DefineConstants>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
</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="GlobalVars.cs" />
<Compile Include="MainForm.cs" />
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.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: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>

15
RBX2008/game.lua Normal file
View File

@ -0,0 +1,15 @@
function Play(PlayerName)
local plr = game.Players:CreateLocalPlayer(0);
plr.Name = PlayerName;
game:GetService("Visit");
game:GetService("RunService"):run();
plr:LoadCharacter();
while true do wait(0.001)
if plr.Character.Humanoid.Health == 0 then
wait(5);
plr:LoadCharacter();
end
end
end
_G.Play=Play;

1
RBX2008/settings.lua Normal file
View File

@ -0,0 +1 @@
settings().Rendering.frameRateManager = 2;

View File

@ -0,0 +1,18 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
# SharpDevelop 4.4
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RBXLegacyLauncher", "RBXLegacyLauncher\RBXLegacyLauncher.csproj", "{F92FFBED-2767-4676-9711-BB89CDA58A43}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F92FFBED-2767-4676-9711-BB89CDA58A43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F92FFBED-2767-4676-9711-BB89CDA58A43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F92FFBED-2767-4676-9711-BB89CDA58A43}.Release|Any CPU.Build.0 = Release|Any CPU
{F92FFBED-2767-4676-9711-BB89CDA58A43}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,73 @@
using System;
using System.Security.Cryptography;
///<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,24 @@
public static class GlobalVars
{
public static string ClientDir = "";
public static string ScriptsDir = "";
public static string MapsDir = "";
public static string IP = "localhost";
public static string Map = "Baseplate.rbxl";
public static int RobloxPort = 53640;
//server settings.
public static bool BodyColors = true;
//player settings
public static int UserID = 0;
public static string PlayerName = "Player";
//launcher settings.
public static bool CloseOnLaunch = false;
public static bool LocalPlayMode = false;
//client shit
public static string SelectedClient = "2008";
public static bool UsesPlayerName = false;
public static bool UsesID = true;
public static bool SupportsLocalPlay = true;
public static string SelectedClientDesc = "";
public static int LocalPlayNameSuffixNum = 0;
}

View File

@ -0,0 +1,663 @@
/*
* Created by SharpDevelop.
* User: BITL-Gaming
* Date: 10/7/2016
* Time: 3:01 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace RBXLegacyLauncher
{
partial class MainForm
{
/// <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(MainForm));
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.checkBox3 = new System.Windows.Forms.CheckBox();
this.label17 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.label12 = new System.Windows.Forms.Label();
this.label20 = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.listBox1 = new System.Windows.Forms.ListBox();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.listBox2 = new System.Windows.Forms.ListBox();
this.label21 = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label();
this.tabPage4 = new System.Windows.Forms.TabPage();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.button3 = new System.Windows.Forms.Button();
this.label13 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
this.button4 = new System.Windows.Forms.Button();
this.button5 = new System.Windows.Forms.Button();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label15 = new System.Windows.Forms.Label();
this.label22 = new System.Windows.Forms.Label();
this.label23 = new System.Windows.Forms.Label();
this.label24 = new System.Windows.Forms.Label();
this.label25 = new System.Windows.Forms.Label();
this.label26 = new System.Windows.Forms.Label();
this.label27 = new System.Windows.Forms.Label();
this.label28 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.tabPage3.SuspendLayout();
this.tabPage4.SuspendLayout();
this.SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(0, 3);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(244, 39);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
//
// tabControl1
//
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Controls.Add(this.tabPage4);
this.tabControl1.Location = new System.Drawing.Point(12, 113);
this.tabControl1.Multiline = true;
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(398, 319);
this.tabControl1.TabIndex = 1;
this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
//
// tabPage1
//
this.tabPage1.Controls.Add(this.checkBox3);
this.tabPage1.Controls.Add(this.label17);
this.tabPage1.Controls.Add(this.label16);
this.tabPage1.Controls.Add(this.label4);
this.tabPage1.Controls.Add(this.button1);
this.tabPage1.Controls.Add(this.label3);
this.tabPage1.Controls.Add(this.textBox1);
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.tabPage1.Size = new System.Drawing.Size(390, 293);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "JOIN SERVER";
this.tabPage1.UseVisualStyleBackColor = true;
//
// checkBox3
//
this.checkBox3.Location = new System.Drawing.Point(136, 53);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(108, 18);
this.checkBox3.TabIndex = 18;
this.checkBox3.Text = "Local Play Mode";
this.checkBox3.UseVisualStyleBackColor = true;
this.checkBox3.CheckedChanged += new System.EventHandler(this.CheckBox3CheckedChanged);
//
// label17
//
this.label17.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label17.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label17.Location = new System.Drawing.Point(6, 176);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(378, 2);
this.label17.TabIndex = 14;
//
// label16
//
this.label16.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label16.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label16.Location = new System.Drawing.Point(6, 86);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(378, 2);
this.label16.TabIndex = 13;
//
// label4
//
this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.Color.Red;
this.label4.Location = new System.Drawing.Point(54, 88);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(273, 84);
this.label4.TabIndex = 4;
this.label4.Text = resources.GetString("label4.Text");
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// button1
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.button1.Location = new System.Drawing.Point(80, 202);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(218, 80);
this.button1.TabIndex = 3;
this.button1.Text = "JOIN SERVER";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// label3
//
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label3.Location = new System.Drawing.Point(161, 6);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(59, 18);
this.label3.TabIndex = 1;
this.label3.Text = "IP Address";
//
// textBox1
//
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.Location = new System.Drawing.Point(80, 27);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(218, 20);
this.textBox1.TabIndex = 0;
this.textBox1.Text = "localhost";
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged);
//
// tabPage2
//
this.tabPage2.Controls.Add(this.checkBox2);
this.tabPage2.Controls.Add(this.label12);
this.tabPage2.Controls.Add(this.label20);
this.tabPage2.Controls.Add(this.label19);
this.tabPage2.Controls.Add(this.label2);
this.tabPage2.Controls.Add(this.button2);
this.tabPage2.Controls.Add(this.label1);
this.tabPage2.Controls.Add(this.listBox1);
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(390, 293);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "START SERVER";
this.tabPage2.UseVisualStyleBackColor = true;
//
// checkBox2
//
this.checkBox2.Checked = true;
this.checkBox2.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox2.Location = new System.Drawing.Point(98, 207);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(176, 17);
this.checkBox2.TabIndex = 16;
this.checkBox2.Text = "Random Body Color Patterns";
this.checkBox2.UseVisualStyleBackColor = true;
this.checkBox2.CheckedChanged += new System.EventHandler(this.CheckBox2CheckedChanged);
//
// label12
//
this.label12.Location = new System.Drawing.Point(141, 193);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(87, 17);
this.label12.TabIndex = 15;
this.label12.Text = "Server Settings:";
//
// label20
//
this.label20.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label20.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label20.Location = new System.Drawing.Point(6, 191);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(378, 2);
this.label20.TabIndex = 14;
//
// label19
//
this.label19.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label19.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label19.Location = new System.Drawing.Point(6, 150);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(378, 2);
this.label19.TabIndex = 13;
//
// label2
//
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label2.ForeColor = System.Drawing.Color.Red;
this.label2.Location = new System.Drawing.Point(3, 152);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(376, 39);
this.label2.TabIndex = 3;
this.label2.Text = "NOTE: Be sure to port forward 53640 before if you want to host a public server.";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// button2
//
this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.button2.Location = new System.Drawing.Point(98, 230);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(176, 57);
this.button2.TabIndex = 2;
this.button2.Text = "START SERVER";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.Button2Click);
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label1.Location = new System.Drawing.Point(152, 3);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(72, 16);
this.label1.TabIndex = 1;
this.label1.Text = "Map List";
this.label1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// listBox1
//
this.listBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.listBox1.FormattingEnabled = true;
this.listBox1.Location = new System.Drawing.Point(6, 22);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(378, 121);
this.listBox1.TabIndex = 0;
this.listBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1SelectedIndexChanged);
//
// tabPage3
//
this.tabPage3.Controls.Add(this.listBox2);
this.tabPage3.Controls.Add(this.label21);
this.tabPage3.Controls.Add(this.label18);
this.tabPage3.Location = new System.Drawing.Point(4, 22);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
this.tabPage3.Size = new System.Drawing.Size(390, 293);
this.tabPage3.TabIndex = 4;
this.tabPage3.Text = "CLIENTS";
this.tabPage3.UseVisualStyleBackColor = true;
//
// listBox2
//
this.listBox2.FormattingEnabled = true;
this.listBox2.Location = new System.Drawing.Point(6, 7);
this.listBox2.Name = "listBox2";
this.listBox2.Size = new System.Drawing.Size(378, 173);
this.listBox2.TabIndex = 2;
this.listBox2.SelectedIndexChanged += new System.EventHandler(this.ListBox2SelectedIndexChanged);
//
// label21
//
this.label21.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label21.Location = new System.Drawing.Point(6, 198);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(378, 92);
this.label21.TabIndex = 1;
//
// label18
//
this.label18.Location = new System.Drawing.Point(3, 183);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(127, 15);
this.label18.TabIndex = 0;
this.label18.Text = "CLIENT INFORMATION:";
//
// tabPage4
//
this.tabPage4.Controls.Add(this.label11);
this.tabPage4.Controls.Add(this.label10);
this.tabPage4.Controls.Add(this.label9);
this.tabPage4.Controls.Add(this.label8);
this.tabPage4.Controls.Add(this.label7);
this.tabPage4.Controls.Add(this.label6);
this.tabPage4.Controls.Add(this.label5);
this.tabPage4.Location = new System.Drawing.Point(4, 22);
this.tabPage4.Name = "tabPage4";
this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
this.tabPage4.Size = new System.Drawing.Size(390, 293);
this.tabPage4.TabIndex = 3;
this.tabPage4.Text = "ABOUT";
this.tabPage4.UseVisualStyleBackColor = true;
//
// label11
//
this.label11.Location = new System.Drawing.Point(206, 73);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(80, 23);
this.label11.TabIndex = 6;
this.label11.Text = "label11";
this.label11.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label10
//
this.label10.Location = new System.Drawing.Point(206, 57);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(80, 16);
this.label10.TabIndex = 5;
this.label10.Text = "Client Version:";
this.label10.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label9
//
this.label9.Location = new System.Drawing.Point(6, 92);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(378, 131);
this.label9.TabIndex = 4;
this.label9.Text = resources.GetString("label9.Text");
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label8
//
this.label8.Location = new System.Drawing.Point(88, 73);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(100, 19);
this.label8.TabIndex = 3;
this.label8.Text = "label8";
this.label8.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label7
//
this.label7.Location = new System.Drawing.Point(88, 57);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(100, 16);
this.label7.TabIndex = 2;
this.label7.Text = "Launcher Version:";
this.label7.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label6
//
this.label6.Location = new System.Drawing.Point(156, 3);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(74, 15);
this.label6.TabIndex = 1;
this.label6.Text = "Current Path:";
this.label6.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label5
//
this.label5.Location = new System.Drawing.Point(3, 18);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(384, 27);
this.label5.TabIndex = 0;
this.label5.Text = "label5";
this.label5.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// checkBox1
//
this.checkBox1.Checked = true;
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox1.Location = new System.Drawing.Point(248, 48);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(158, 19);
this.checkBox1.TabIndex = 5;
this.checkBox1.Text = "Close Launcher on Launch";
this.checkBox1.UseCompatibleTextRendering = true;
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged);
//
// button3
//
this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.button3.Location = new System.Drawing.Point(250, 67);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(156, 38);
this.button3.TabIndex = 6;
this.button3.Text = "Launch ROBLOX Studio";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.Button3Click);
//
// label13
//
this.label13.Location = new System.Drawing.Point(22, 89);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(23, 13);
this.label13.TabIndex = 7;
this.label13.Text = "ID:";
//
// label14
//
this.label14.Location = new System.Drawing.Point(59, 88);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(87, 13);
this.label14.TabIndex = 8;
this.label14.Text = "0";
this.label14.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// button4
//
this.button4.Location = new System.Drawing.Point(152, 67);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(84, 40);
this.button4.TabIndex = 9;
this.button4.Text = "Regenerate Player ID";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.Button4Click);
//
// button5
//
this.button5.Location = new System.Drawing.Point(304, 108);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(106, 21);
this.button5.TabIndex = 10;
this.button5.Text = "Save Config";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.Button5Click);
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(59, 65);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(87, 20);
this.textBox2.TabIndex = 11;
this.textBox2.Text = "Player";
this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.textBox2.TextChanged += new System.EventHandler(this.TextBox2TextChanged);
//
// label15
//
this.label15.Location = new System.Drawing.Point(12, 68);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(41, 15);
this.label15.TabIndex = 12;
this.label15.Text = "NAME:";
//
// label22
//
this.label22.Location = new System.Drawing.Point(12, 50);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(224, 14);
this.label22.TabIndex = 13;
this.label22.Text = "PLAYER INFO:";
this.label22.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label23
//
this.label23.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label23.Location = new System.Drawing.Point(242, 46);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(2, 66);
this.label23.TabIndex = 14;
//
// label24
//
this.label24.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label24.Location = new System.Drawing.Point(0, 46);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(410, 2);
this.label24.TabIndex = 15;
//
// label25
//
this.label25.Location = new System.Drawing.Point(248, 3);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(109, 14);
this.label25.TabIndex = 16;
this.label25.Text = "SELECTED CLIENT:";
//
// label26
//
this.label26.Location = new System.Drawing.Point(351, 3);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(59, 16);
this.label26.TabIndex = 17;
this.label26.Text = "2008";
//
// label27
//
this.label27.Location = new System.Drawing.Point(248, 17);
this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(95, 12);
this.label27.TabIndex = 18;
this.label27.Text = "SELECTED MAP:";
//
// label28
//
this.label28.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label28.Location = new System.Drawing.Point(250, 28);
this.label28.Name = "label28";
this.label28.Size = new System.Drawing.Size(160, 17);
this.label28.TabIndex = 19;
this.label28.Text = "Baseplate.rbxl";
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(412, 444);
this.Controls.Add(this.label28);
this.Controls.Add(this.label27);
this.Controls.Add(this.label26);
this.Controls.Add(this.label25);
this.Controls.Add(this.label24);
this.Controls.Add(this.label23);
this.Controls.Add(this.label22);
this.Controls.Add(this.label15);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.button5);
this.Controls.Add(this.button4);
this.Controls.Add(this.label14);
this.Controls.Add(this.label13);
this.Controls.Add(this.button3);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.pictureBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "RBXLegacy Launcher";
this.Load += new System.EventHandler(this.MainFormLoad);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
this.tabPage2.ResumeLayout(false);
this.tabPage3.ResumeLayout(false);
this.tabPage4.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.Label label28;
private System.Windows.Forms.Label label27;
private System.Windows.Forms.CheckBox checkBox3;
private System.Windows.Forms.Label label26;
private System.Windows.Forms.Label label25;
private System.Windows.Forms.Label label24;
private System.Windows.Forms.Label label23;
private System.Windows.Forms.Label label22;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.Label label21;
private System.Windows.Forms.ListBox listBox2;
private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.Label label19;
private System.Windows.Forms.Label label20;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TabPage tabPage4;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.PictureBox pictureBox1;
}
}

View File

@ -0,0 +1,430 @@
/*
* Created by SharpDevelop.
* User: BITL-Gaming
* Date: 10/7/2016
* Time: 3:01 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Threading;
namespace RBXLegacyLauncher
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage2"])//your specific tabname
{
string mapdir = GlobalVars.MapsDir;
DirectoryInfo dinfo = new DirectoryInfo(mapdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxl");
foreach( FileInfo file in Files )
{
listBox1.Items.Add(file.Name);
}
listBox1.SelectedItem = GlobalVars.Map;
listBox2.Items.Clear();
}
else if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage3"])//your specific tabname
{
string clientdir = GlobalVars.ClientDir;
DirectoryInfo dinfo = new DirectoryInfo(clientdir);
DirectoryInfo[] Dirs = dinfo.GetDirectories();
foreach( DirectoryInfo dir in Dirs )
{
listBox2.Items.Add(dir.Name);
}
listBox2.SelectedItem = GlobalVars.SelectedClient;
listBox1.Items.Clear();
}
else
{
listBox1.Items.Clear();
listBox2.Items.Clear();
}
}
void Button1Click(object sender, EventArgs e)
{
string luafile = GlobalVars.ScriptsDir + @"\\CSMPFunctions.lua";
string rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp.exe";
string quote = "\"";
string args = "";
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true)
{
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "',53640,'" + GlobalVars.PlayerName + "');" + quote;
}
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true)
{
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "',53640,'Player');" + quote;
}
//how the fuck does this even happen? oh well.
else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false)
{
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(0,'" + GlobalVars.IP + "',53640,'" + GlobalVars.PlayerName + "');" + quote;
}
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false)
{
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(0,'" + GlobalVars.IP + "',53640,'Player');" + quote;
}
if (GlobalVars.LocalPlayMode == true)
{
GlobalVars.LocalPlayNameSuffixNum += 1;
GeneratePlayerID(true);
GeneratePlayerName();
}
Process.Start(rbxexe, args);
if (GlobalVars.LocalPlayMode == true)
{
WriteConfigValues();
}
if (GlobalVars.CloseOnLaunch == true)
{
this.Close();
}
}
void Button2Click(object sender, EventArgs e)
{
string luafile = GlobalVars.ScriptsDir + @"\\CSMPFunctions.lua";
string mapfile = GlobalVars.MapsDir + @"\\" + GlobalVars.Map;
string rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp.exe";
string quote = "\"";
string args = "";
if (GlobalVars.BodyColors == true)
{
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSServer(53640,true); game:Load('" + mapfile + "');" + quote;
}
else if (GlobalVars.BodyColors == false)
{
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSServer(53640,false); game:Load('" + mapfile + "');" + quote;
}
Process.Start(rbxexe, args);
WriteConfigValues();
if (GlobalVars.CloseOnLaunch == true)
{
this.Close();
}
}
void Button3Click(object sender, EventArgs e)
{
string textboxdir = "";
textboxdir = GlobalVars.ScriptsDir;
textboxdir = textboxdir.Replace(@"\\",@"\");
MessageBox.Show("If you want to test out your place, you will have to save your place, then go to Tools->Execute Script in ROBLOX Studio, and then load 'Play Solo.lua' from '"+ textboxdir + "'. " + "To edit your place again, you must restart ROBLOX Studio and load your place again to edit it.","RBXLegacy Launcher - Launch ROBLOX Studio", MessageBoxButtons.OK, MessageBoxIcon.Information);
string rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp.exe";
string luafile = GlobalVars.ScriptsDir + @"\\CSMPFunctions.lua";
string quote = "\"";
string args = "-script " + quote + "dofile('" + luafile + "');" + quote;
Process.Start(rbxexe, args);
WriteConfigValues();
if (GlobalVars.CloseOnLaunch == true)
{
this.Close();
}
}
void MainFormLoad(object sender, EventArgs e)
{
if (!File.Exists("config.txt"))
{
WriteConfigValues();
}
GlobalVars.ClientDir = Path.Combine(Environment.CurrentDirectory, @"clients");
GlobalVars.ClientDir = GlobalVars.ClientDir.Replace(@"\",@"\\");
GlobalVars.ScriptsDir = Path.Combine(Environment.CurrentDirectory, @"scripts");
GlobalVars.ScriptsDir = GlobalVars.ScriptsDir.Replace(@"\",@"\\");
GlobalVars.MapsDir = Path.Combine(Environment.CurrentDirectory, @"maps");
GlobalVars.MapsDir = GlobalVars.MapsDir.Replace(@"\",@"\\");
label5.Text = Environment.CurrentDirectory;
label8.Text = Application.ProductVersion;
GlobalVars.IP = "localhost";
GlobalVars.Map = "Baseplate.rbxl";
string[] lines = File.ReadAllLines("version.txt"); //File is in System.IO
string version = lines[0];
label11.Text = version;
ReadConfigValues();
}
void ReadConfigValues()
{
string line1, line2, line3, line4, line5;
using(StreamReader reader = new StreamReader("config.txt"))
{
line1 = reader.ReadLine();
line2 = reader.ReadLine();
line3 = reader.ReadLine();
line4 = reader.ReadLine();
line5 = reader.ReadLine();
}
bool bline1 = Convert.ToBoolean(line1);
GlobalVars.CloseOnLaunch = bline1;
bool bline2 = Convert.ToBoolean(line2);
GlobalVars.BodyColors = bline2;
int iline3 = Convert.ToInt32(line3);
GlobalVars.UserID = iline3;
GlobalVars.PlayerName = line4;
GlobalVars.SelectedClient = line5;
if (GlobalVars.CloseOnLaunch == true)
{
checkBox1.Checked = true;
}
else if (GlobalVars.CloseOnLaunch == false)
{
checkBox1.Checked = false;
}
if (GlobalVars.BodyColors == true)
{
checkBox2.Checked = true;
}
else if (GlobalVars.BodyColors == false)
{
checkBox2.Checked = false;
}
if (iline3 == 0)
{
GeneratePlayerID(false);
}
else
{
label14.Text = Convert.ToString(iline3);
}
textBox2.Text = GlobalVars.PlayerName;
label26.Text = GlobalVars.SelectedClient;
label28.Text = GlobalVars.Map;
ReadClientValues(GlobalVars.SelectedClient);
}
void WriteConfigValues()
{
string[] lines = { GlobalVars.CloseOnLaunch.ToString(), GlobalVars.BodyColors.ToString(), GlobalVars.UserID.ToString(), GlobalVars.PlayerName.ToString(), GlobalVars.SelectedClient.ToString() };
File.WriteAllLines("config.txt", lines);
}
void ReadClientValues(string ClientName)
{
string clientpath = GlobalVars.ClientDir + @"\\" + ClientName + @"\\clientinfo.txt";
if (!File.Exists(clientpath))
{
MessageBox.Show("No clientinfo.txt detected with the client you chose. The client cannot be loaded.","RBXLegacy Launcher - Error while loading client", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
string line1, line2, line3, line4;
using(StreamReader reader = new StreamReader(clientpath))
{
line1 = reader.ReadLine();
line2 = reader.ReadLine();
line3 = reader.ReadLine();
line4 = reader.ReadLine();
}
bool bline1 = Convert.ToBoolean(line1);
GlobalVars.UsesPlayerName = bline1;
bool bline2 = Convert.ToBoolean(line2);
GlobalVars.UsesID = bline2;
bool bline3 = Convert.ToBoolean(line3);
GlobalVars.SupportsLocalPlay = bline3;
GlobalVars.SelectedClientDesc = line4;
if (GlobalVars.UsesPlayerName == true)
{
textBox2.Enabled = true;
}
else if (GlobalVars.UsesPlayerName == false)
{
textBox2.Enabled = false;
}
if (GlobalVars.UsesID == true)
{
label14.Enabled = true;
button4.Enabled = true;
}
else if (GlobalVars.UsesID == false)
{
label14.Enabled = false;
button4.Enabled = false;
checkBox3.Enabled = false;
checkBox3.Checked = false;
GlobalVars.LocalPlayMode = false;
}
if (GlobalVars.SupportsLocalPlay == false)
{
checkBox3.Enabled = false;
checkBox3.Checked = false;
GlobalVars.LocalPlayMode = false;
}
label21.Text = GlobalVars.SelectedClientDesc;
label26.Text = GlobalVars.SelectedClient;
WriteConfigValues();
}
void GeneratePlayerID(bool bPlaySoloMode)
{
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;
label14.Text = Convert.ToString(GlobalVars.UserID);
if (bPlaySoloMode == false)
{
WriteConfigValues();
}
}
void GeneratePlayerName()
{
if (GlobalVars.LocalPlayNameSuffixNum > 0)
{
int oldsuffix = GlobalVars.LocalPlayNameSuffixNum - 1;
char oldplayersuffix = Convert.ToChar(oldsuffix);
string oldplayername = GlobalVars.PlayerName.TrimEnd(oldplayersuffix);
string playersuffix = Convert.ToString(GlobalVars.LocalPlayNameSuffixNum);
GlobalVars.PlayerName = oldplayername + playersuffix;
textBox2.Text = GlobalVars.PlayerName;
}
}
void TextBox1TextChanged(object sender, EventArgs e)
{
GlobalVars.IP = textBox1.Text;
checkBox3.Enabled = false;
checkBox3.Checked = false;
GlobalVars.LocalPlayMode = false;
}
void ListBox1SelectedIndexChanged(object sender, EventArgs e)
{
GlobalVars.Map = listBox1.SelectedItem.ToString();
label28.Text = GlobalVars.Map;
}
void CheckBox1CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
GlobalVars.CloseOnLaunch = true;
}
else if (checkBox1.Checked == false)
{
GlobalVars.CloseOnLaunch = false;
}
}
void CheckBox2CheckedChanged(object sender, EventArgs e)
{
if (checkBox2.Checked == true)
{
GlobalVars.BodyColors = true;
}
else if (checkBox2.Checked == false)
{
GlobalVars.BodyColors = false;
}
}
void Button4Click(object sender, EventArgs e)
{
GeneratePlayerID(false);
}
void Button5Click(object sender, EventArgs e)
{
WriteConfigValues();
}
void TextBox2TextChanged(object sender, EventArgs e)
{
GlobalVars.PlayerName = textBox2.Text;
}
void ListBox2SelectedIndexChanged(object sender, EventArgs e)
{
GlobalVars.SelectedClient = listBox2.SelectedItem.ToString();
ReadClientValues(GlobalVars.SelectedClient);
}
void CheckBox3CheckedChanged(object sender, EventArgs e)
{
if (checkBox3.Checked == true)
{
GlobalVars.LocalPlayMode = true;
}
else if (checkBox3.Checked == false)
{
GlobalVars.LocalPlayMode = false;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
/*
* Created by SharpDevelop.
* User: BITL-Gaming
* Date: 10/7/2016
* Time: 3:01 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows.Forms;
namespace RBXLegacyLauncher
{
/// <summary>
/// Class with program entry point.
/// </summary>
internal sealed class Program
{
/// <summary>
/// Program entry point.
/// </summary>
[STAThread]
private static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

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("RBXLegacyLauncher")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RBXLegacyLauncher")]
[assembly: AssemblyCopyright("Copyright 2016")]
[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,81 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectGuid>{F92FFBED-2767-4676-9711-BB89CDA58A43}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType>
<RootNamespace>RBXLegacyLauncher</RootNamespace>
<AssemblyName>RBXLegacyLauncher</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<AppDesignerFolder>Properties</AppDesignerFolder>
<ApplicationIcon>Resources\RBXLegacyIcon.ico</ApplicationIcon>
<NoWin32Manifest>False</NoWin32Manifest>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<WarningLevel>4</WarningLevel>
</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>True</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DefineConstants>TRACE</DefineConstants>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
</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="CryptoRandom.cs" />
<Compile Include="GlobalVars.cs" />
<Compile Include="MainForm.cs" />
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.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: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>

48
RBXLegacySetup.iss Normal file
View File

@ -0,0 +1,48 @@
; Script generated by the Inno Script Studio Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define AppVer "1.5.3 Final"
[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={{B84DBE54-11F6-43AB-AC95-A71164168899}
AppName=RBXLegacy
AppVersion={#AppVer}
AppVerName=RBXLegacy {#AppVer}
AppPublisher=Bitl
DefaultDirName=C:\RBXLegacy
DefaultGroupName=RBXLegacy
AllowNoIcons=yes
OutputDir=.
OutputBaseFilename=RBXLegacySetup_{#AppVer}
SetupIconFile=RBXLegacy\RBXLegacyIcon.ico
Compression=lzma2/ultra64
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: "RBXLegacy\RBXLegacyLauncher.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "RBXLegacy\RBXLegacyLauncher.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "RBXLegacy\README.TXT"; DestDir: "{app}"; Flags: ignoreversion isreadme
Source: "RBXLegacy\version.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "RBXLegacy\clients\*"; DestDir: "{app}\clients"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "RBXLegacy\maps\*"; DestDir: "{app}\maps"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "RBXLegacy\models\*"; DestDir: "{app}\models"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "RBXLegacy\scripts\*"; DestDir: "{app}\scripts"; Flags: ignoreversion recursesubdirs createallsubdirs
[Icons]
Name: "{group}\RBXLegacy"; Filename: "{app}\RBXLegacyLauncher.exe"
Name: "{group}\{cm:UninstallProgram,RBXLegacy}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\RBXLegacy"; Filename: "{app}\RBXLegacyLauncher.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\RBXLegacy"; Filename: "{app}\RBXLegacyLauncher.exe"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\RBXLegacyLauncher.exe"; Flags: nowait postinstall skipifsilent; Description: "{cm:LaunchProgram,RBXLegacy}"

16
README.md Normal file
View File

@ -0,0 +1,16 @@
#RBXLegacy
----------------------------------
========= CREATOR'S NOTE =========
----------------------------------
4-5 days didn't go to waste, didn't it?
Made this little thing to mess around with Lua and RBXPri stuff. Instructions and legal info are in the README.txt in the client itself.
Download the actual client at http://gamejolt.com/games/rbxlegacy/195327 or download the source code as a zip.
Have fun!
This also includes the bonus client, REBX2008 with its launcher source.
-Bitl