add icons to sdk tools. update scripts

This commit is contained in:
Bitl 2021-07-31 14:45:55 -07:00
parent 24f0ef2f62
commit 65abca8d1b
34 changed files with 11283 additions and 14664 deletions

View File

@ -5,7 +5,12 @@
<Provider>
<Name>Roblox (Novetus+ redirect, Image items only)</Name>
<URL>http://epicgamers.xyz/asset/?id=</URL>
<Icon>robloxnovetus.png</Icon>
<Icon>robloxnplus.png</Icon>
</Provider>
<Provider>
<Name>Roblox (Asset Delivery, Incompatible w/ older clients)</Name>
<URL>https://assetdelivery.roblox.com/v1/asset/?id=</URL>
<Icon>roblox.png</Icon>
</Provider>
<Provider>
<Name>Imgur</Name>

View File

@ -31,7 +31,8 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>NovetusIcon.ico</ApplicationIcon>
<ApplicationIcon>
</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
@ -87,9 +88,6 @@
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="NovetusIcon.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>SET path=$(SolutionDir)build
@ -100,9 +98,6 @@ copy $(ProjectDir)$(OutDir) "%25path2%25"\*
del "%25path%25"\$(TargetName).vshost.exe
del "%25path%25"\$(TargetName).vshost.exe.config
del "%25path%25"\$(TargetName).vshost.exe.manifest
del "%25path%25"\$(TargetName).xml
if not exist "%25path%25"\bin mkdir "%25path%25"\clients\ClientScriptTester
move "%25path2%25"\* "%25path%25"\clients\ClientScriptTester
rd /s /q "%25path2%25"</PostBuildEvent>
del "%25path%25"\$(TargetName).xml</PostBuildEvent>
</PropertyGroup>
</Project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

View File

@ -470,6 +470,7 @@
this.MaximizeBox = false;
this.Name = "AssetSDK";
this.Text = "Novetus Asset SDK";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Closing += new System.ComponentModel.CancelEventHandler(this.AssetSDK_Close);
this.Load += new System.EventHandler(this.AssetSDK_Load);
this.AssetDownloader.ResumeLayout(false);

File diff suppressed because it is too large Load Diff

View File

@ -65,6 +65,7 @@ partial class ClientScriptDocumentation
this.MaximizeBox = false;
this.Name = "ClientScriptDocumentation";
this.Text = "ClientScript Documentation";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Load += new System.EventHandler(this.ClientScriptDocumentationLoad);
this.ResumeLayout(false);

View File

@ -327,7 +327,7 @@ partial class ClientinfoEditor
this.no3dToolStripMenuItem,
this.sharedToolStripMenuItem});
this.tagsToolStripMenuItem.Name = "tagsToolStripMenuItem";
this.tagsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.tagsToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.tagsToolStripMenuItem.Text = "Add Tags";
//
// clientToolStripMenuItem
@ -382,7 +382,7 @@ partial class ClientinfoEditor
this.debuggingToolStripMenuItem,
this.argsToolStripMenuItem});
this.variablesToolStripMenuItem.Name = "variablesToolStripMenuItem";
this.variablesToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.variablesToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.variablesToolStripMenuItem.Text = "Add Variables";
//
// generalToolStripMenuItem
@ -942,7 +942,7 @@ partial class ClientinfoEditor
// documentationToolStripMenuItem1
//
this.documentationToolStripMenuItem1.Name = "documentationToolStripMenuItem1";
this.documentationToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
this.documentationToolStripMenuItem1.Size = new System.Drawing.Size(157, 22);
this.documentationToolStripMenuItem1.Text = "Documentation";
this.documentationToolStripMenuItem1.Click += new System.EventHandler(this.documentationToolStripMenuItem_Click);
//
@ -1088,6 +1088,7 @@ partial class ClientinfoEditor
this.MinimumSize = new System.Drawing.Size(648, 390);
this.Name = "ClientinfoEditor";
this.Text = "Novetus Client SDK";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Load += new System.EventHandler(this.ClientinfoCreatorLoad);
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();

File diff suppressed because it is too large Load Diff

View File

@ -64,28 +64,28 @@
// newToolStripMenuItem
//
this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.newToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.newToolStripMenuItem.Text = "New";
this.newToolStripMenuItem.Click += new System.EventHandler(this.NewToolStripMenuItemClick);
//
// loadToolStripMenuItem
//
this.loadToolStripMenuItem.Name = "loadToolStripMenuItem";
this.loadToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.loadToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.loadToolStripMenuItem.Text = "Load";
this.loadToolStripMenuItem.Click += new System.EventHandler(this.LoadToolStripMenuItemClick);
//
// saveToolStripMenuItem
//
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.saveToolStripMenuItem.Text = "Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItemClick);
//
// saveAsTextToolStripMenuItem
//
this.saveAsTextToolStripMenuItem.Name = "saveAsTextToolStripMenuItem";
this.saveAsTextToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveAsTextToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.saveAsTextToolStripMenuItem.Text = "Save as Text File";
this.saveAsTextToolStripMenuItem.Click += new System.EventHandler(this.saveAsTextFileToolStripMenuItem_Click);
//
@ -134,6 +134,7 @@
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "DiogenesEditor";
this.Text = "Diogenes Editor";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);

File diff suppressed because it is too large Load Diff

View File

@ -36,6 +36,14 @@ partial class ItemCreationSDK
this.UsesHatMeshLabel = new System.Windows.Forms.Label();
this.UsesHatMeshBox = new System.Windows.Forms.ComboBox();
this.MeshOptionsGroup = new System.Windows.Forms.GroupBox();
this.SpecialMeshTypeBox = new System.Windows.Forms.ComboBox();
this.LODYLabel = new System.Windows.Forms.Label();
this.LODYBox = new System.Windows.Forms.NumericUpDown();
this.SpecialMeshTypeLabel = new System.Windows.Forms.Label();
this.LODXLabel = new System.Windows.Forms.Label();
this.LODXBox = new System.Windows.Forms.NumericUpDown();
this.MeshTypeLabel = new System.Windows.Forms.Label();
this.MeshTypeBox = new System.Windows.Forms.ComboBox();
this.BulgeBox = new System.Windows.Forms.NumericUpDown();
this.RoundnessBox = new System.Windows.Forms.NumericUpDown();
this.BevelBox = new System.Windows.Forms.NumericUpDown();
@ -61,16 +69,10 @@ partial class ItemCreationSDK
this.DescBox = new System.Windows.Forms.TextBox();
this.ItemNameLabel = new System.Windows.Forms.Label();
this.ItemNameBox = new System.Windows.Forms.TextBox();
this.MeshTypeBox = new System.Windows.Forms.ComboBox();
this.MeshTypeLabel = new System.Windows.Forms.Label();
this.LODXBox = new System.Windows.Forms.NumericUpDown();
this.LODXLabel = new System.Windows.Forms.Label();
this.SpecialMeshTypeLabel = new System.Windows.Forms.Label();
this.LODYLabel = new System.Windows.Forms.Label();
this.LODYBox = new System.Windows.Forms.NumericUpDown();
this.SpecialMeshTypeBox = new System.Windows.Forms.ComboBox();
this.ItemSettingsGroup.SuspendLayout();
this.MeshOptionsGroup.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.LODYBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LODXBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BulgeBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.RoundnessBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BevelBox)).BeginInit();
@ -79,8 +81,6 @@ partial class ItemCreationSDK
((System.ComponentModel.ISupportInitialize)(this.YBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.XBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ItemIcon)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LODXBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LODYBox)).BeginInit();
this.SuspendLayout();
//
// ItemTypeListBox
@ -193,6 +193,121 @@ partial class ItemCreationSDK
this.MeshOptionsGroup.TabStop = false;
this.MeshOptionsGroup.Text = "This option is disabled.";
//
// SpecialMeshTypeBox
//
this.SpecialMeshTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.SpecialMeshTypeBox.FormattingEnabled = true;
this.SpecialMeshTypeBox.Items.AddRange(new object[] {
"Head",
"Torso",
"Wedge",
"Sphere",
"Cylinder",
"FileMesh",
"Brick",
"Prism",
"Pyramid",
"ParallelRamp",
"RightAngleRamp",
"CornerWedge"});
this.SpecialMeshTypeBox.Location = new System.Drawing.Point(104, 121);
this.SpecialMeshTypeBox.Name = "SpecialMeshTypeBox";
this.SpecialMeshTypeBox.Size = new System.Drawing.Size(153, 21);
this.SpecialMeshTypeBox.TabIndex = 14;
//
// LODYLabel
//
this.LODYLabel.AutoSize = true;
this.LODYLabel.Location = new System.Drawing.Point(133, 155);
this.LODYLabel.Name = "LODYLabel";
this.LODYLabel.Size = new System.Drawing.Size(39, 13);
this.LODYLabel.TabIndex = 13;
this.LODYLabel.Text = "LOD Y";
//
// LODYBox
//
this.LODYBox.Location = new System.Drawing.Point(178, 153);
this.LODYBox.Maximum = new decimal(new int[] {
99,
0,
0,
0});
this.LODYBox.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.LODYBox.Name = "LODYBox";
this.LODYBox.Size = new System.Drawing.Size(59, 20);
this.LODYBox.TabIndex = 12;
this.LODYBox.Value = new decimal(new int[] {
2,
0,
0,
0});
//
// SpecialMeshTypeLabel
//
this.SpecialMeshTypeLabel.AutoSize = true;
this.SpecialMeshTypeLabel.Location = new System.Drawing.Point(7, 124);
this.SpecialMeshTypeLabel.Name = "SpecialMeshTypeLabel";
this.SpecialMeshTypeLabel.Size = new System.Drawing.Size(95, 13);
this.SpecialMeshTypeLabel.TabIndex = 11;
this.SpecialMeshTypeLabel.Text = "SpecialMesh Type";
//
// LODXLabel
//
this.LODXLabel.AutoSize = true;
this.LODXLabel.Location = new System.Drawing.Point(23, 155);
this.LODXLabel.Name = "LODXLabel";
this.LODXLabel.Size = new System.Drawing.Size(39, 13);
this.LODXLabel.TabIndex = 9;
this.LODXLabel.Text = "LOD X";
//
// LODXBox
//
this.LODXBox.Location = new System.Drawing.Point(68, 153);
this.LODXBox.Maximum = new decimal(new int[] {
99,
0,
0,
0});
this.LODXBox.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.LODXBox.Name = "LODXBox";
this.LODXBox.Size = new System.Drawing.Size(59, 20);
this.LODXBox.TabIndex = 8;
this.LODXBox.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// MeshTypeLabel
//
this.MeshTypeLabel.AutoSize = true;
this.MeshTypeLabel.Location = new System.Drawing.Point(7, 26);
this.MeshTypeLabel.Name = "MeshTypeLabel";
this.MeshTypeLabel.Size = new System.Drawing.Size(60, 13);
this.MeshTypeLabel.TabIndex = 7;
this.MeshTypeLabel.Text = "Mesh Type";
//
// MeshTypeBox
//
this.MeshTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.MeshTypeBox.FormattingEnabled = true;
this.MeshTypeBox.Items.AddRange(new object[] {
"BlockMesh",
"CylinderMesh",
"SpecialMesh"});
this.MeshTypeBox.Location = new System.Drawing.Point(104, 23);
this.MeshTypeBox.Name = "MeshTypeBox";
this.MeshTypeBox.Size = new System.Drawing.Size(153, 21);
this.MeshTypeBox.TabIndex = 6;
//
// BulgeBox
//
this.BulgeBox.DecimalPlaces = 6;
@ -497,121 +612,6 @@ partial class ItemCreationSDK
this.ItemNameBox.Size = new System.Drawing.Size(134, 20);
this.ItemNameBox.TabIndex = 10;
//
// MeshTypeBox
//
this.MeshTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.MeshTypeBox.FormattingEnabled = true;
this.MeshTypeBox.Items.AddRange(new object[] {
"BlockMesh",
"CylinderMesh",
"SpecialMesh"});
this.MeshTypeBox.Location = new System.Drawing.Point(104, 23);
this.MeshTypeBox.Name = "MeshTypeBox";
this.MeshTypeBox.Size = new System.Drawing.Size(153, 21);
this.MeshTypeBox.TabIndex = 6;
//
// MeshTypeLabel
//
this.MeshTypeLabel.AutoSize = true;
this.MeshTypeLabel.Location = new System.Drawing.Point(7, 26);
this.MeshTypeLabel.Name = "MeshTypeLabel";
this.MeshTypeLabel.Size = new System.Drawing.Size(60, 13);
this.MeshTypeLabel.TabIndex = 7;
this.MeshTypeLabel.Text = "Mesh Type";
//
// LODXBox
//
this.LODXBox.Location = new System.Drawing.Point(68, 153);
this.LODXBox.Maximum = new decimal(new int[] {
99,
0,
0,
0});
this.LODXBox.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.LODXBox.Name = "LODXBox";
this.LODXBox.Size = new System.Drawing.Size(59, 20);
this.LODXBox.TabIndex = 8;
this.LODXBox.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// LODXLabel
//
this.LODXLabel.AutoSize = true;
this.LODXLabel.Location = new System.Drawing.Point(23, 155);
this.LODXLabel.Name = "LODXLabel";
this.LODXLabel.Size = new System.Drawing.Size(39, 13);
this.LODXLabel.TabIndex = 9;
this.LODXLabel.Text = "LOD X";
//
// SpecialMeshTypeLabel
//
this.SpecialMeshTypeLabel.AutoSize = true;
this.SpecialMeshTypeLabel.Location = new System.Drawing.Point(7, 124);
this.SpecialMeshTypeLabel.Name = "SpecialMeshTypeLabel";
this.SpecialMeshTypeLabel.Size = new System.Drawing.Size(95, 13);
this.SpecialMeshTypeLabel.TabIndex = 11;
this.SpecialMeshTypeLabel.Text = "SpecialMesh Type";
//
// LODYLabel
//
this.LODYLabel.AutoSize = true;
this.LODYLabel.Location = new System.Drawing.Point(133, 155);
this.LODYLabel.Name = "LODYLabel";
this.LODYLabel.Size = new System.Drawing.Size(39, 13);
this.LODYLabel.TabIndex = 13;
this.LODYLabel.Text = "LOD Y";
//
// LODYBox
//
this.LODYBox.Location = new System.Drawing.Point(178, 153);
this.LODYBox.Maximum = new decimal(new int[] {
99,
0,
0,
0});
this.LODYBox.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.LODYBox.Name = "LODYBox";
this.LODYBox.Size = new System.Drawing.Size(59, 20);
this.LODYBox.TabIndex = 12;
this.LODYBox.Value = new decimal(new int[] {
2,
0,
0,
0});
//
// SpecialMeshTypeBox
//
this.SpecialMeshTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.SpecialMeshTypeBox.FormattingEnabled = true;
this.SpecialMeshTypeBox.Items.AddRange(new object[] {
"Head",
"Torso",
"Wedge",
"Sphere",
"Cylinder",
"FileMesh",
"Brick",
"Prism",
"Pyramid",
"ParallelRamp",
"RightAngleRamp",
"CornerWedge"});
this.SpecialMeshTypeBox.Location = new System.Drawing.Point(104, 121);
this.SpecialMeshTypeBox.Name = "SpecialMeshTypeBox";
this.SpecialMeshTypeBox.Size = new System.Drawing.Size(153, 21);
this.SpecialMeshTypeBox.TabIndex = 14;
//
// ItemCreationSDK
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -633,11 +633,14 @@ partial class ItemCreationSDK
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "ItemCreationSDK";
this.Text = "Novetus Item Creation SDK";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Load += new System.EventHandler(this.ItemCreationSDK_Load);
this.ItemSettingsGroup.ResumeLayout(false);
this.ItemSettingsGroup.PerformLayout();
this.MeshOptionsGroup.ResumeLayout(false);
this.MeshOptionsGroup.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.LODYBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LODXBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BulgeBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.RoundnessBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BevelBox)).EndInit();
@ -647,8 +650,6 @@ partial class ItemCreationSDK
((System.ComponentModel.ISupportInitialize)(this.YBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.XBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ItemIcon)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LODXBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LODYBox)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();

File diff suppressed because it is too large Load Diff

View File

@ -26,41 +26,43 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem(new string[] {
"Client SDK"}, "ClientSDK.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))));
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem(new string[] {
"Asset SDK"}, "AssetSDK.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem(new string[] {
"Item Creation SDK"}, "ItemCreationSDK.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem(new string[] {
"ClientScript Documentation"}, "ClientScriptTester.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem(new string[] {
"Splash Tester"}, "splash.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem(new string[] {
"Roblox Script Generator"}, "ROBLOXScriptGenerator.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem(new string[] {
"Roblox Legacy Place Converter"}, "ROBLOXLegacyPlaceConverter.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
System.Windows.Forms.ListViewItem listViewItem8 = new System.Windows.Forms.ListViewItem(new string[] {
"Diogenes Editor"}, "Diogenes.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
System.Windows.Forms.ListViewItem listViewItem9 = new System.Windows.Forms.ListViewItem(new string[] {
"ClientScript Tester"}, "ClientScriptTester.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NovetusSDK));
this.label1 = new System.Windows.Forms.Label();
this.listBox1 = new System.Windows.Forms.ListBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.listView1 = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.Location = new System.Drawing.Point(12, 168);
this.label1.Location = new System.Drawing.Point(12, 302);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(260, 16);
this.label1.TabIndex = 12;
this.label1.Text = "v1.0";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.Items.AddRange(new object[] {
"Client SDK",
"Asset SDK",
"Item Creation SDK",
"ClientScript Documentation",
"Splash Tester",
"ROBLOX Script Generator",
"ROBLOX Legacy Place Converter",
"Diogenes Editor",
"ClientScript Tester"});
this.listBox1.Location = new System.Drawing.Point(12, 70);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(260, 95);
this.listBox1.TabIndex = 14;
this.listBox1.DoubleClick += new System.EventHandler(this.listBox1_SelectedIndexChanged);
//
// pictureBox2
//
this.pictureBox2.BackgroundImage = global::NovetusLauncher.Properties.Resources.NOVETUS_small;
@ -71,13 +73,56 @@
this.pictureBox2.TabIndex = 8;
this.pictureBox2.TabStop = false;
//
// listView1
//
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1});
this.listView1.HideSelection = false;
this.listView1.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
listViewItem1,
listViewItem2,
listViewItem3,
listViewItem4,
listViewItem5,
listViewItem6,
listViewItem7,
listViewItem8,
listViewItem9});
this.listView1.Location = new System.Drawing.Point(12, 70);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(260, 229);
this.listView1.SmallImageList = this.imageList1;
this.listView1.TabIndex = 15;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
this.listView1.DoubleClick += new System.EventHandler(this.listView1_SelectedIndexChanged);
//
// columnHeader1
//
this.columnHeader1.Text = "Novetus SDK Tools";
this.columnHeader1.Width = 256;
//
// imageList1
//
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "N.png");
this.imageList1.Images.SetKeyName(1, "AssetSDK.png");
this.imageList1.Images.SetKeyName(2, "ClientScriptTester.png");
this.imageList1.Images.SetKeyName(3, "ClientSDK.png");
this.imageList1.Images.SetKeyName(4, "Diogenes.png");
this.imageList1.Images.SetKeyName(5, "ItemCreationSDK.png");
this.imageList1.Images.SetKeyName(6, "ROBLOXLegacyPlaceConverter.png");
this.imageList1.Images.SetKeyName(7, "ROBLOXScriptGenerator.png");
this.imageList1.Images.SetKeyName(8, "splash.png");
//
// NovetusSDK
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(284, 193);
this.Controls.Add(this.listBox1);
this.ClientSize = new System.Drawing.Size(284, 326);
this.Controls.Add(this.listView1);
this.Controls.Add(this.label1);
this.Controls.Add(this.pictureBox2);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
@ -85,6 +130,7 @@
this.MaximizeBox = false;
this.Name = "NovetusSDK";
this.Text = "Novetus SDK";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Closing += new System.ComponentModel.CancelEventHandler(this.NovetusSDK_Close);
this.Load += new System.EventHandler(this.NovetusSDK_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
@ -96,5 +142,7 @@
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.ImageList imageList1;
}

View File

@ -1,7 +1,9 @@
#region Usings
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Windows.Forms;
#endregion
@ -32,9 +34,17 @@ public partial class NovetusSDK : Form
#endif
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
LaunchSDKAppByIndex(listBox1.SelectedIndex);
List<int> selectedIndices = listView1.SelectedIndices.Cast<int>().ToList();
int selectedIndex = 0;
if (listView1.SelectedIndices.Count > 0)
{
selectedIndex = listView1.SelectedIndices[0];
}
LaunchSDKAppByIndex(selectedIndex);
}
#endregion

View File

@ -117,6 +117,95 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB0
EgAAAk1TRnQBSQFMAgEBCQEAARgBAAEIAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/0UABLMBrQHHAQAFrTQA
AqwCswLHAQACxwKtAcc2AAGtAbQBrAHHAgABxwKtAcc2AAGsAa0BswGtAawBxwGtAbQBrQHHNwABrAO0
AbMCtAGtAccwAAG7AQkBuwG0AQABxwG0AQkCtAGsAQABrAG0Aa0xAAGtAbQBCQGtAgABxwK0ArMCrAG0
Aa0xAAKtAQkBswKtAccBCQG0Aa0BtAGzAawBtAGtMwABswQJARkBtAHHAbMBtAGzAbQBrQGsMgABrQHb
AQkCrQEJAbMCrQGzAdsB1QGtAawzAAGzAQkCrQG6AbMBrQWzAa0zAAKzAQkBswG6AbMBrToAAbMB2wIZ
AbMCrTgAAbMBtAHbAgkBugG0Aa15AAHyAf8CAAHyAfMZAAH/AfQB7gFvAkYBbwIHAfAJAAHzAbwB8ALx
AfIB8QHzBwAB7wIAARQBbRgAAf8BGgFGAiAB6QEgAUYBbwHjAZMB/wgAAWwB8APzARkBCQHxBgABQwHr
AgAB7QEOCAAB/wH0AfIB8QHyAfQC/wYAAv8BkwIgAUYBbwEWAr0B/wH0AUYBkwH/BwABQwG1BAkBGQHy
BgAB7AEPAgAB8AEAAf8GAAH0AewBbQH4AxUBFAHrAQcB9AH/AwAB8gJvARYBtwG9AfUF/wHjASABGgIA
ARoCkwFFAQABBwG1BRkB+AUAAQcB7AEAAQcBvAHvAQABkgG8AQcB/wMAAe0EEAIRA0MBEQH4AfMB/wEA
Ab0BFgH0Cf8BlAEgAUYB9AEAARoC9AFFAQABGgG1BRkBtQHyBAABDwkAAfQDAAH4AQ4BFAESBQ8BEAEV
ARMBFAG8AQABGgHjAfQD/wH0Ab0BlAG9Av8BvQHpASABBwEAARoC9AFFAQABGgG8BRkBCQFmAfIDAAL/
AQ4B7AL/AesBEQL/BAAB7wETAW4BRQTpAR8BAQFEAREB7AHvAQABbwFHAb0C/wG9ARcCRgHjAfUB/wH0
AUYBHwFvAQABGgL0AUUBAAGTAfAEGQH0AQkBuwEHBQAB6gETAgAB7wcAAf8BkgJvAUUFRAHpAUUBvAH/
AQABRgFHAZQC/wG9AekBAQEfARcBvQL/AW8BHwFGAQABGgL0AUUB8wFvAfAF9AHzAbsBBwUAAZIDAAHx
AQAB9AcAAewB6wJDAhECEAEOAQcDAAJGARYC/wG9AUYCAQFGAb0C/wGUASABRgEAARoC9AK9AfQBBwHs
Aq4CbAFmAfgEAAJtARQBAAHrAm0BAAHrAW0B9AUAAewB6wNDAhEBEAEPAe8DAAFvASABFwH0Af8B9QFv
AkYB4wG9Av8BvQFGAW8BAAEaAvQBbwFFAZMB9AEaAUUJAAEVARQBEwEAAUMBFQETAQABQwEVAfQFAAHt
AewB6wNDAhEBEAH3AwABBwEgAUYBvQL/Ar0B8wT/AfQBRgEHAQABGgL0AUUBAAEHARoB9AG9AQcMAAGS
AgABbQEVBgAB/wHtAewB7QEUARUCQwERARAB7QMAAfQBRgFHAZQI/wH1Ab0B4wEaAQABGgL0AUUBAAHz
AZMB9AEbAQcLAAFtARQCAAHvBwAB/wHsARMCEQQQAREB6wQAAe4BRgEWBP8B9QHzAb0BlAHjARcBlAH0
AQABGgL0AUUBBwGTAvQBkwHzCwAB7wMAAfIBAAHzBgAB7wLtAewB+APsARMBBwQAAf8BkwEXAb0B8wG9
AZQB4wJGAiABkwH/AgABGgLzAr0BGgG9AW8BBwwAAfIB6wH0AQAB/wH4AfAHAAH/AfMD8gHzAfQB/wYA
Af8BlAHjARcBRwQgAUYB7gH/AwAB8wYHKwAB9AEbAZMBbwJGAW8BkwH0Af8qAAH/AfIBkQHPAq4B8AIA
Af8B7gHvAbUBtAGRBYsCkQH0KAAB9AGRAbQBtQG7ArQBiwGRAfMB8QG0AbsBCQHwAfEB8wH0AfUB/wEZ
AfQBtAHwFAAB8wIHAfQDAAH/AfIBBwHuAf8GAAL/AZEEuwS0AYsB7gG1Bf8D9QG1ARkBtQHuAgAQSwIA
AfACaQHzAwAB8wONAf8DAAH/AfEDcgHPAwkBuwS0Ac8B8gGLCbQBGQEJAQcCAAFLAXQEUgEbAnkBGgJS
AkwBUgFLAgAB8AJpAfMB/wEAAfQB9wFuAm8B/wIAAfQB7AFyApgBcgGuAgkBuwW0Ac8B/wG7AbUB9AMJ
BBkB9AEJAbUCAAFMAXQBUgtLAUwBSwH/AfUBuwK0AbsCCQG1AfgBbgFvAWkB/wIAAXIEmAFyAYsBCQG1
AbQCuwO0Ac8BAAH0AbQB/wgZAfEBtAIAAUwBdAFLCngBSwFSAUsB/wHaAbQBbgFMAfMB/wEHAW4BkQK0
AW4B/wIAAXICCAEHAZgBcgHsAW8CFwFvAfgBtAG7AbQBrgEAAf8BtAH/CBkB8wG0AgABUgF0AUwGeAFX
A1YBSwFSAUsB/wHbAbUCTAEbAfADbwGTAW8BtAEJAf8BAAFyAggBmAEcAW8BFwHjAZQB4wEXAUwBbwGR
AbQBtQEAAf8BswH1CBkB9QGzAf8BAAFSAXQBTAGXAVUBlwJWAXcBnQGzAtQBSwFSAUsBAAH/Ae8BTAFG
AQcBbwFpAW8B9AHvAm8BCQHcAQABcgEIAZgBcgFvAeMDlAFvAuMBFwFMAfMB/wIAAbQB9QgZAf8BtAH/
AQABUgF0AVIClwJVAboF2wFLAVIBSwIAAfACRgFvAmkBvAH/Ae8CbgLcAQABcgKYAXIBFwG9A5QB4wFv
AuMBFwH0AwABtAHzCBkB/wG0Af8BAAFSAXQBUgGXAlUE2wG7AZgBegFLAVIBSwIAAfABRgJMAW8BBwHz
ARkB7QFuAW8B9AH/AQAB7wF4AnIBFwG9AZQD4wJvAeMBFwH0AwABuwEZAfQHGQH/ArQB9AFSAXQBUgKW
AboE2wGZAXoBmgFLAVIBSwIAAfADTAGTAf8BAAH/Ae8BbgFvAf8CAAH/AfQB8gFyARcBlALjApQC4wFv
ARcB9AMAAgkB9QcZAf8BtAEZAbQBUgF0AVIH2wF6ApoBSwFSAUsCAAHwAUYBaQFvAf8CAAH/Ae8BbgFv
Af8GAAFvARYBlAHjAhcB4wGUARYBTAH1AwACCQH/BBkD9AH/AbQB/wG7AVIBeQVSAkwFSwF0AUsCAAHz
ApMB9AMAAf8BvAKTAf8GAAGTA+MCFgPjAZMEAAHxAQkB/wT0AvUC/wH1ARkBtAFSA3kLdAFLFAAB/wH0
AfMBbwIXAW8B8wH0Af8EAAHyAdwE/wH1AfQDGQEJAboB8wlSAkwFSyIAAfQBCQHcAdsBugG0AroBuwMJ
AfQB/xAAAUIBTQE+BwABPgMAASgDAAFAAwABMAMAAQEBAAEBBQABgAEBFgAD/wEAAv8GAAHwASAGAAHw
ASAGAAH8ATAGAAH8BwAB/gcAAQgBEQYAAQwBAQcAAQEGAAHABwABwAcAAeAHAAHgAT8GAAHwAR8GAAHg
AR8GAAL/BgAB8wE/Av8B4AEHAfwBAwHzAT8C/wHAAQMB/AEDAfMBPwHAAT8BAAEBAfwBAwHzAR8BgAEH
AQABAQGEAQMB4AEDAYABAQIAAYQBAQHgAQMBgAEBAgABhAEAAeABBwGAAQECAAGEAQAB+QGfAYABAQIA
AYABAAH5AY8B4AEHAgABgAEBAeABAwHgAQcCAAGAAT8B4AEDAeABBwIAAYQBHwH8Ac8BwAEHAgABhAEf
AfwBzwHAAQcBgAEAAYABHwH8AccB4AEHAYABAQGAAT8B/AFHAfABDwHAAQMBgAX/AeABBwT/Af4BAwEA
AQME/wH8AgABAwL/AcMBgwHwAgABAwIAAcMBgwGAAgABAwIAAcEBAwMAAQMDAAEDAgABgAEDAwABAwIA
AYABAwMAAQECAAGAAQECAAGAAQECAAHAAQECAAHAAQEBAAEBAcABAQIAAcABAQEAAQEBwAMAAcABgwEA
AQEBwAMAAcEBgwHwAQEBwAMAAcMBgwHwAQMBwAMAAv8B8AEDAcADAAT/AcABAAL/Cw==
</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

View File

@ -0,0 +1,449 @@
showServerNotifications = true
--function made by rbxbanland
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
function KickPlayer(Player,reason)
if (Player ~= nil) then
local message = Instance.new("Message")
message.Text = "You were kicked. Reason: "..reason
message.Parent = Player
wait(2)
Player:remove()
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: "..reason)
if (showServerNotifications) then
game.Players:Chat("Player '" .. Player.Name .. "' was kicked. Reason: "..reason)
end
end
end
function newWaitForChildSecurity(newParent,name)
local returnable = nil
local loadAttempts = 0
local maxAttempts = 5
while loadAttempts < maxAttempts do
if newParent:findFirstChild(name) then
returnable = newParent:findFirstChild(name)
break
end
wait()
loadAttempts = loadAttempts + 1
print("Player '" .. newParent.Name .. "' trying to connect. Number of attempts: "..loadAttempts)
end
if (loadAttempts == maxAttempts) then
KickPlayer(newParent, "Modified Client")
end
return returnable
end
function LoadCharacterNew(playerApp,newChar)
PlayerService = game:service("Players")
Player = PlayerService:playerFromCharacter(newChar)
local function kick()
KickPlayer(Player, "Modified Client")
end
if (playerApp == nil) then
kick()
end
if (not Player:findFirstChild("Appearance")) then
kick()
end
if ((playerApp:children() == 0) or (playerApp:children() == nil)) then
kick()
end
local path = "rbxasset://../../../shareddata/charcustom/"
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:children()) do
if (newVal.Name == "Body Color") then
pcall(function()
charparts[newVal.ColorIndex.Value].BrickColor = newVal.Value
end)
elseif (newVal.Name == "T-Shirt") then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
else
newTShirt = game.Workspace:insertContent(path.."tshirts/"..newVal.Value)
if newTShirt[1] then
if newTShirt[1].className == "ShirtGraphic" then
newTShirt[1].Parent = newChar
else
newTShirt[1]:remove()
end
end
end
end)
elseif (newVal.Name == "Extra") then
pcall(function()
local newItem = game.Workspace:insertContent(path.."custom/"..newVal.Value)
if newItem[1] then
if newItem[1].className == "Decal" then
newWaitForChild(charparts[1],"face"):remove()
newItem[1].Parent = charparts[1]
newItem[1].Face = "Front"
elseif newPart[1].className == "SpecialMesh" or newPart[1].className == "CylinderMesh" or newPart[1].className == "BlockMesh" then
newWaitForChild(charparts[1],"Mesh"):remove()
newItem[1].Parent = charparts[1]
else
newItem[1].Parent = newChar
end
end
end)
end
end
end
function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
local newCharApp = Instance.new("IntValue",Player)
newCharApp.Name = "Appearance"
--BODY COLORS
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)
else
BodyColor.Value = BrickColor.new(1)
end
elseif (i == 2) then
if (TorsoColorID ~= nil) then
BodyColor.Value = BrickColor.new(TorsoColorID)
else
BodyColor.Value = BrickColor.new(1)
end
elseif (i == 3) then
if (LeftArmColorID ~= nil) then
BodyColor.Value = BrickColor.new(LeftArmColorID)
else
BodyColor.Value = BrickColor.new(1)
end
elseif (i == 4) then
if (RightArmColorID ~= nil) then
BodyColor.Value = BrickColor.new(RightArmColorID)
else
BodyColor.Value = BrickColor.new(1)
end
elseif (i == 5) then
if (LeftLegColorID ~= nil) then
BodyColor.Value = BrickColor.new(LeftLegColorID)
else
BodyColor.Value = BrickColor.new(1)
end
elseif (i == 6) then
if (RightLegColorID ~= nil) then
BodyColor.Value = BrickColor.new(RightLegColorID)
else
BodyColor.Value = BrickColor.new(1)
end
end
BodyColor.Name = "Body Color"
local indexValue = Instance.new("NumberValue")
indexValue.Name = "ColorIndex"
indexValue.Parent = BodyColor
indexValue.Value = i
end
--T-SHIRT
local newTShirt = Instance.new("StringValue",newCharApp)
if (TShirtID ~= nil) then
newTShirt.Value = TShirtID
else
newTShirt.Value = "NoTShirt.rbxm"
end
newTShirt.Name = "T-Shirt"
--EXTRA
local newItem = Instance.new("StringValue",newCharApp)
if (ItemID ~= nil) then
newItem.Value = ItemID
else
newItem.Value = "NoExtra.rbxm"
end
newItem.Name = "Extra"
end
function LoadSecurity(playerApp,Player,ServerSecurityLocation)
local function kick()
KickPlayer(Player, "Modified Client")
end
if (playerApp == nil) then
kick()
end
if (not Player:findFirstChild("Security")) then
kick()
end
if (not playerApp:findFirstChild("ClientEXEMD5") or not playerApp:findFirstChild("LauncherMD5") or not playerApp:findFirstChild("ClientScriptMD5")) then
kick()
end
for _,newVal in pairs(playerApp:children()) do
if (newVal.Name == "ClientEXEMD5") then
if (newVal.Value ~= ServerSecurityLocation.Security.ClientEXEMD5.Value or newVal.Value == "") then
kick()
break
end
end
if (newVal.Name == "LauncherMD5") then
if (newVal.Value ~= ServerSecurityLocation.Security.LauncherMD5.Value or newVal.Value == "") then
kick()
break
end
end
if (newVal.Name == "ClientScriptMD5") then
if (newVal.Value ~= ServerSecurityLocation.Security.ClientScriptMD5.Value or newVal.Value == "") then
kick()
break
end
end
end
end
function InitalizeSecurityValues(Location,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
Location = Instance.new("IntValue", Location)
Location.Name = "Security"
local clientValue = Instance.new("StringValue", Location)
clientValue.Value = ClientEXEMD5 or ""
clientValue.Name = "ClientEXEMD5"
local launcherValue = Instance.new("StringValue", Location)
launcherValue.Value = LauncherMD5 or ""
launcherValue.Name = "LauncherMD5"
local scriptValue = Instance.new("StringValue", Location)
scriptValue.Value = ClientScriptMD5 or ""
scriptValue.Name = "ClientScriptMD5"
end
function InitalizeTripcode(Location,Tripcode)
local code = Instance.new("StringValue", Location)
code.Value = Tripcode or ""
code.Name = "Tripcode"
end
function LoadTripcode(Player)
local function kick()
KickPlayer(Player, "Modified Client")
end
if (not Player:findFirstChild("Tripcode")) then
kick()
end
for _,newVal in pairs(Player:children()) do
if (newVal.Name == "Tripcode") then
if (newVal.Value == "") then
kick()
break
end
end
end
end
function PingMasterServer(online, ServerBrowserAddress, ServerBrowserName, ServerIP, Port, Client)
local pingURL = "http://" .. ServerBrowserAddress .. "/query.php?name=" .. ServerBrowserName .. "&ip=" .. ServerIP .. "&port=" .. Port .. "&client=" .. Client
game:httpGet(pingURL .. "&online=" .. online)
end
print("ROBLOX Client version '0.3.368.0' loaded.")
function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Notifications,ServerBrowserName,ServerBrowserAddress,ServerIP,Client)
Server = game:service("NetworkServer")
RunService = game:service("RunService")
PlayerService = game:service("Players")
game:service("Visit"):setUploadUrl("")
Server:start(Port, 20)
RunService:run()
showServerNotifications = Notifications
game.Workspace:insertContent("rbxasset://Fonts//libraries.rbxm")
if (showServerNotifications) then
PlayerService.maxPlayers = PlayerLimit + 1
--create a fake player to record connections and disconnections
notifyPlayer = game:service("Players"):createLocalPlayer(-1)
notifyPlayer.Name = "[SERVER]"
else
PlayerService.maxPlayers = PlayerLimit
end
PlayerService.ChildAdded:connect(function(Player)
Player.Chatted:connect(function(msg)
print(Player.Name.."; "..msg)
end)
if (PlayerService.numPlayers > PlayerService.maxPlayers) then
KickPlayer(Player, "Too many players on server.")
else
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' added")
if (showServerNotifications) then
game.Players:Chat("Player '" .. Player.Name .. "' joined")
end
Player:LoadCharacter()
LoadSecurity(newWaitForChildSecurity(Player,"Security"),Player,game.Lighting)
newWaitForChildSecurity(Player,"Tripcode")
LoadTripcode(Player)
pcall(function() print("Player '" .. Player.Name .. "-" .. Player.userId .. "' security check success. Tripcode: '" .. Player.Tripcode.Value .. "'") end)
if (Player.Character ~= nil) then
LoadCharacterNew(newWaitForChildSecurity(Player,"Appearance"),Player.Character)
end
end
-- rename all Server replicators in NetworkServer to "ServerReplicator"
for _,Child in pairs(Server:children()) do
Child.Name = "ServerReplicator"
end
coroutine.resume(coroutine.create(function()
while Player ~= nil do
wait(0.1)
if (Player.Character ~= nil) then
if (Player.Character:findFirstChild("Humanoid") and (Player.Character.Humanoid.Health == 0)) then
wait(5)
Player:LoadCharacter()
LoadCharacterNew(newWaitForChildSecurity(Player,"Appearance"),Player.Character)
elseif (Player.Character.Parent == nil) then
wait(5)
Player:LoadCharacter()
LoadCharacterNew(newWaitForChildSecurity(Player,"Appearance"),Player.Character)
end
end
end
end))
end)
PlayerService.PlayerRemoving:connect(function(Player)
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving")
if (showServerNotifications) then
game.Players:Chat("Player '" .. Player.Name .. "' left")
end
end)
InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
PingMasterServer(1, ServerBrowserAddress, ServerBrowserName, ServerIP, Port, Client)
Server.IncommingConnection:connect(IncommingConnection)
pcall(function() game.Close:connect(function() PingMasterServer(0, ServerBrowserAddress, ServerBrowserName, ServerIP, Port, Client) Server:stop() end) end)
end
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Tripcode,Ticket)
local suc, err = pcall(function()
client = game:service("NetworkClient")
player = game:service("Players"):createLocalPlayer(UserID)
InitalizeSecurityValues(player,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
InitalizeTripcode(player,Tripcode)
player:SetSuperSafeChat(false)
pcall(function() player:SetUnder13(false) end)
pcall(function() player:SetAccountAge(365) end)
player:SetAdminMode(true)
pcall(function() player.Name=PlayerName or "" end)
game:service("Visit"):setUploadUrl("")
InitalizeClientAppearance(player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
end)
local function dieerror(errmsg)
game:SetMessage(errmsg)
wait(math.huge)
end
if not suc then
dieerror(err)
end
local function disconnect(peer,lostconnection)
game:SetMessage("You have lost connection to the game")
end
local function connected(url, replicator)
replicator.Disconnection:connect(disconnect)
local marker = nil
local suc, err = pcall(function()
game:SetMessageBrickCount()
marker = replicator:SendMarker()
end)
if not suc then
dieerror(err)
end
marker.Received:connect(function()
local suc, err = pcall(function()
game:ClearMessage()
end)
if not suc then
dieerror(err)
end
end)
end
local function rejected()
dieerror("Failed to connect to the Game. (Connection rejected)")
end
local function failed(peer, errcode, why)
dieerror("Failed to connect to the Game. (ID="..errcode.." ["..why.."])")
end
local suc, err = pcall(function()
game:SetMessage("Connecting to server...")
client.ConnectionAccepted:connect(connected)
client.ConnectionRejected:connect(rejected)
client.ConnectionFailed:connect(failed)
client:connect(ServerIP,ServerPort, 0, 20)
end)
if not suc then
local x = Instance.new("Message")
x.Text = err
x.Parent = workspace
wait(math.huge)
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
local plr = game.Players:createLocalPlayer(UserID)
game:service("RunService"):run()
game.Workspace:insertContent("rbxasset://Fonts//libraries.rbxm")
plr.Name = PlayerName
plr:SetAdminMode(true)
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
game:service("Visit"):setUploadUrl("")
while true do
wait(0.001)
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
function CSStudio()
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio