update code to latest snapshot

This commit is contained in:
Bitl 2024-01-21 21:05:11 -07:00
parent e4bee54448
commit 00f728623e
12 changed files with 1196 additions and 214 deletions

View File

@ -93,6 +93,7 @@ namespace Novetus.Core
public static readonly string tshirtdirTextures = tshirtdir; //+ DirTextures;
public static readonly string shirtdirTextures = shirtdir + DirTextures;
public static readonly string pantsdirTextures = pantsdir + DirTextures;
public static readonly string extradirFonts = extradir + DirFonts;
public static readonly string hatGameDirFonts = hatGameDir + FontsGameDir;
public static readonly string hatGameDirTextures = hatGameDir + TexturesGameDir;
@ -104,11 +105,12 @@ namespace Novetus.Core
public static readonly string tshirtGameDirTextures = tshirtGameDir; //+ TexturesGameDir;
public static readonly string shirtGameDirTextures = shirtGameDir + TexturesGameDir;
public static readonly string pantsGameDirTextures = pantsGameDir + TexturesGameDir;
#endregion
public static readonly string extraGameDirFonts = extraGameDir + FontsGameDir;
#endregion
#endregion
#endregion
#region File Names
#region File Names
public static readonly string ConfigName = "config.ini";
public static string ConfigNameCustomization = "config_customization.ini";
public static readonly string InfoName = "info.ini";

View File

@ -160,19 +160,22 @@ namespace Novetus.Core
}
#if LAUNCHER || URI
public static void LaunchCharacterCustomization()
public static void LaunchCharacterCustomization(bool skipopencheck = false)
{
//https://stackoverflow.com/questions/9029351/close-all-open-forms-except-the-main-menu-in-c-sharp
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
if (!skipopencheck)
{
//iterate through
if (frm.Name == "CharacterCustomizationExtended" ||
frm.Name == "CharacterCustomizationCompact")
//https://stackoverflow.com/questions/9029351/close-all-open-forms-except-the-main-menu-in-c-sharp
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
frm.Close();
break;
//iterate through
if (frm.Name == "CharacterCustomizationExtended" ||
frm.Name == "CharacterCustomizationCompact")
{
frm.Close();
break;
}
}
}

View File

@ -1,4 +1,6 @@
namespace Novetus.Core
using System.Collections.Generic;
namespace Novetus.Core
{
#region Roblox File Types
public enum RobloxFileType
@ -14,7 +16,8 @@
Shirt,
Pants,
Script,
HeadNoCustomMesh
HeadNoCustomMesh,
Package
}
#endregion

View File

@ -35,7 +35,6 @@ partial class ItemCreationSDK
this.ItemSettingsGroup = new System.Windows.Forms.GroupBox();
this.UsesHatTexBoxRefresh = new System.Windows.Forms.Button();
this.UsesHatMeshBoxRefresh = new System.Windows.Forms.Button();
this.OtherGroup = new System.Windows.Forms.GroupBox();
this.EditItemBox = new System.Windows.Forms.CheckBox();
this.ResetButton = new System.Windows.Forms.Button();
this.ReskinBox = new System.Windows.Forms.CheckBox();
@ -123,8 +122,42 @@ partial class ItemCreationSDK
this.ItemNameBox = new System.Windows.Forms.TextBox();
this.Warning = new System.Windows.Forms.Label();
this.SettingsButton = new System.Windows.Forms.Button();
this.PackageOptionsBox = new System.Windows.Forms.GroupBox();
this.PackageNameLabel = new System.Windows.Forms.Label();
this.PackageNameBox = new System.Windows.Forms.TextBox();
this.HeadBox = new System.Windows.Forms.GroupBox();
this.Head_ExistingFileButton = new System.Windows.Forms.Button();
this.Head_ExistingFileBox = new System.Windows.Forms.ComboBox();
this.Head_LoadFileButton = new System.Windows.Forms.Button();
this.Head_LoadFileBox = new System.Windows.Forms.TextBox();
this.BrowseFileLabel = new System.Windows.Forms.Label();
this.ExistingFileLabel = new System.Windows.Forms.Label();
this.TorsoBox = new System.Windows.Forms.GroupBox();
this.Torso_ExistingFileButton = new System.Windows.Forms.Button();
this.Torso_LoadFileBox = new System.Windows.Forms.TextBox();
this.Torso_LoadFileButton = new System.Windows.Forms.Button();
this.Torso_ExistingFileBox = new System.Windows.Forms.ComboBox();
this.LeftArmBox = new System.Windows.Forms.GroupBox();
this.LeftArm_ExistingFileButton = new System.Windows.Forms.Button();
this.LeftArm_LoadFileBox = new System.Windows.Forms.TextBox();
this.LeftArm_LoadFileButton = new System.Windows.Forms.Button();
this.LeftArm_ExistingFileBox = new System.Windows.Forms.ComboBox();
this.RightArmBox = new System.Windows.Forms.GroupBox();
this.RightArm_ExistingFileButton = new System.Windows.Forms.Button();
this.RightArm_LoadFileBox = new System.Windows.Forms.TextBox();
this.RightArm_LoadFileButton = new System.Windows.Forms.Button();
this.RightArm_ExistingFileBox = new System.Windows.Forms.ComboBox();
this.LeftLegBox = new System.Windows.Forms.GroupBox();
this.LeftLeg_ExistingFileButton = new System.Windows.Forms.Button();
this.LeftLeg_LoadFileBox = new System.Windows.Forms.TextBox();
this.LeftLeg_LoadFileButton = new System.Windows.Forms.Button();
this.LeftLeg_ExistingFileBox = new System.Windows.Forms.ComboBox();
this.RightLegBox = new System.Windows.Forms.GroupBox();
this.RightLeg_ExistingFileButton = new System.Windows.Forms.Button();
this.RightLeg_LoadFileBox = new System.Windows.Forms.TextBox();
this.RightLeg_LoadFileButton = new System.Windows.Forms.Button();
this.RightLeg_ExistingFileBox = new System.Windows.Forms.ComboBox();
this.ItemSettingsGroup.SuspendLayout();
this.OtherGroup.SuspendLayout();
this.CoordGroup3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.ZBox3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.YBox3)).BeginInit();
@ -160,6 +193,13 @@ partial class ItemCreationSDK
((System.ComponentModel.ISupportInitialize)(this.RoundnessBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BevelBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ItemIcon)).BeginInit();
this.PackageOptionsBox.SuspendLayout();
this.HeadBox.SuspendLayout();
this.TorsoBox.SuspendLayout();
this.LeftArmBox.SuspendLayout();
this.RightArmBox.SuspendLayout();
this.LeftLegBox.SuspendLayout();
this.RightLegBox.SuspendLayout();
this.SuspendLayout();
//
// ItemTypeListBox
@ -173,7 +213,8 @@ partial class ItemCreationSDK
"Face",
"T-Shirt",
"Shirt",
"Pants"});
"Pants",
"Package"});
this.ItemTypeListBox.Location = new System.Drawing.Point(12, 64);
this.ItemTypeListBox.Name = "ItemTypeListBox";
this.ItemTypeListBox.Size = new System.Drawing.Size(132, 21);
@ -211,9 +252,9 @@ partial class ItemCreationSDK
//
// ItemSettingsGroup
//
this.ItemSettingsGroup.Controls.Add(this.ResetButton);
this.ItemSettingsGroup.Controls.Add(this.UsesHatTexBoxRefresh);
this.ItemSettingsGroup.Controls.Add(this.UsesHatMeshBoxRefresh);
this.ItemSettingsGroup.Controls.Add(this.OtherGroup);
this.ItemSettingsGroup.Controls.Add(this.CoordGroup3);
this.ItemSettingsGroup.Controls.Add(this.UsesHatTexLabel);
this.ItemSettingsGroup.Controls.Add(this.UsesHatTexBox);
@ -258,21 +299,9 @@ partial class ItemCreationSDK
this.UsesHatMeshBoxRefresh.UseVisualStyleBackColor = true;
this.UsesHatMeshBoxRefresh.Click += new System.EventHandler(this.UsesHatMeshBoxRefresh_Click);
//
// OtherGroup
//
this.OtherGroup.Controls.Add(this.EditItemBox);
this.OtherGroup.Controls.Add(this.ResetButton);
this.OtherGroup.Controls.Add(this.ReskinBox);
this.OtherGroup.Location = new System.Drawing.Point(7, 294);
this.OtherGroup.Name = "OtherGroup";
this.OtherGroup.Size = new System.Drawing.Size(264, 88);
this.OtherGroup.TabIndex = 22;
this.OtherGroup.TabStop = false;
this.OtherGroup.Text = "Other";
//
// EditItemBox
//
this.EditItemBox.Location = new System.Drawing.Point(14, 22);
this.EditItemBox.Location = new System.Drawing.Point(41, 90);
this.EditItemBox.Name = "EditItemBox";
this.EditItemBox.Size = new System.Drawing.Size(85, 24);
this.EditItemBox.TabIndex = 12;
@ -282,17 +311,17 @@ partial class ItemCreationSDK
//
// ResetButton
//
this.ResetButton.Location = new System.Drawing.Point(6, 47);
this.ResetButton.Location = new System.Drawing.Point(8, 354);
this.ResetButton.Name = "ResetButton";
this.ResetButton.Size = new System.Drawing.Size(252, 25);
this.ResetButton.Size = new System.Drawing.Size(263, 23);
this.ResetButton.TabIndex = 14;
this.ResetButton.Text = "Reset All Item Options";
this.ResetButton.Text = "Reset All Item Settings";
this.ResetButton.UseVisualStyleBackColor = true;
this.ResetButton.Click += new System.EventHandler(this.ResetButton_Click);
//
// ReskinBox
//
this.ReskinBox.Location = new System.Drawing.Point(105, 22);
this.ReskinBox.Location = new System.Drawing.Point(123, 90);
this.ReskinBox.Name = "ReskinBox";
this.ReskinBox.Size = new System.Drawing.Size(153, 24);
this.ReskinBox.TabIndex = 13;
@ -1477,11 +1506,11 @@ partial class ItemCreationSDK
//
// CreateItemButton
//
this.CreateItemButton.Location = new System.Drawing.Point(11, 382);
this.CreateItemButton.Location = new System.Drawing.Point(12, 382);
this.CreateItemButton.Name = "CreateItemButton";
this.CreateItemButton.Size = new System.Drawing.Size(189, 23);
this.CreateItemButton.Size = new System.Drawing.Size(288, 23);
this.CreateItemButton.TabIndex = 6;
this.CreateItemButton.Text = "Create and Test Item";
this.CreateItemButton.Text = "Save and Test Item";
this.CreateItemButton.UseVisualStyleBackColor = true;
this.CreateItemButton.Click += new System.EventHandler(this.CreateItemButton_Click);
//
@ -1498,7 +1527,7 @@ partial class ItemCreationSDK
// ItemDescLabel
//
this.ItemDescLabel.AutoSize = true;
this.ItemDescLabel.Location = new System.Drawing.Point(87, 139);
this.ItemDescLabel.Location = new System.Drawing.Point(87, 170);
this.ItemDescLabel.Name = "ItemDescLabel";
this.ItemDescLabel.Size = new System.Drawing.Size(131, 13);
this.ItemDescLabel.TabIndex = 7;
@ -1506,11 +1535,11 @@ partial class ItemCreationSDK
//
// DescBox
//
this.DescBox.Location = new System.Drawing.Point(12, 155);
this.DescBox.Location = new System.Drawing.Point(12, 190);
this.DescBox.Multiline = true;
this.DescBox.Name = "DescBox";
this.DescBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.DescBox.Size = new System.Drawing.Size(288, 221);
this.DescBox.Size = new System.Drawing.Size(288, 162);
this.DescBox.TabIndex = 8;
//
// ItemNameLabel
@ -1535,30 +1564,404 @@ partial class ItemCreationSDK
this.Warning.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Warning.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Warning.ForeColor = System.Drawing.Color.Red;
this.Warning.Location = new System.Drawing.Point(11, 88);
this.Warning.Location = new System.Drawing.Point(11, 115);
this.Warning.Name = "Warning";
this.Warning.Size = new System.Drawing.Size(288, 47);
this.Warning.Size = new System.Drawing.Size(288, 54);
this.Warning.TabIndex = 11;
this.Warning.Text = "\r\n";
this.Warning.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// SettingsButton
//
this.SettingsButton.Location = new System.Drawing.Point(207, 382);
this.SettingsButton.Location = new System.Drawing.Point(12, 355);
this.SettingsButton.Name = "SettingsButton";
this.SettingsButton.Size = new System.Drawing.Size(93, 23);
this.SettingsButton.Size = new System.Drawing.Size(288, 23);
this.SettingsButton.TabIndex = 15;
this.SettingsButton.Text = "Item Settings";
this.SettingsButton.Text = "Open Item Settings Panel";
this.SettingsButton.UseVisualStyleBackColor = true;
this.SettingsButton.Click += new System.EventHandler(this.SettingsButton_Click);
//
// PackageOptionsBox
//
this.PackageOptionsBox.Controls.Add(this.RightLegBox);
this.PackageOptionsBox.Controls.Add(this.LeftLegBox);
this.PackageOptionsBox.Controls.Add(this.RightArmBox);
this.PackageOptionsBox.Controls.Add(this.LeftArmBox);
this.PackageOptionsBox.Controls.Add(this.TorsoBox);
this.PackageOptionsBox.Controls.Add(this.ExistingFileLabel);
this.PackageOptionsBox.Controls.Add(this.BrowseFileLabel);
this.PackageOptionsBox.Controls.Add(this.HeadBox);
this.PackageOptionsBox.Controls.Add(this.PackageNameBox);
this.PackageOptionsBox.Controls.Add(this.PackageNameLabel);
this.PackageOptionsBox.Location = new System.Drawing.Point(1180, 67);
this.PackageOptionsBox.Name = "PackageOptionsBox";
this.PackageOptionsBox.Size = new System.Drawing.Size(556, 299);
this.PackageOptionsBox.TabIndex = 16;
this.PackageOptionsBox.TabStop = false;
this.PackageOptionsBox.Text = "This option is disabled.";
//
// PackageNameLabel
//
this.PackageNameLabel.AutoSize = true;
this.PackageNameLabel.Location = new System.Drawing.Point(6, 276);
this.PackageNameLabel.Name = "PackageNameLabel";
this.PackageNameLabel.Size = new System.Drawing.Size(178, 13);
this.PackageNameLabel.TabIndex = 0;
this.PackageNameLabel.Text = "Package Name/Comment (Optional)";
//
// PackageNameBox
//
this.PackageNameBox.Location = new System.Drawing.Point(190, 273);
this.PackageNameBox.Name = "PackageNameBox";
this.PackageNameBox.Size = new System.Drawing.Size(360, 20);
this.PackageNameBox.TabIndex = 1;
//
// HeadBox
//
this.HeadBox.Controls.Add(this.Head_ExistingFileButton);
this.HeadBox.Controls.Add(this.Head_LoadFileBox);
this.HeadBox.Controls.Add(this.Head_LoadFileButton);
this.HeadBox.Controls.Add(this.Head_ExistingFileBox);
this.HeadBox.Location = new System.Drawing.Point(9, 29);
this.HeadBox.Name = "HeadBox";
this.HeadBox.Size = new System.Drawing.Size(541, 41);
this.HeadBox.TabIndex = 2;
this.HeadBox.TabStop = false;
this.HeadBox.Text = "Head";
//
// Head_ExistingFileButton
//
this.Head_ExistingFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Head_ExistingFileButton.Location = new System.Drawing.Point(479, 14);
this.Head_ExistingFileButton.Name = "Head_ExistingFileButton";
this.Head_ExistingFileButton.Size = new System.Drawing.Size(56, 20);
this.Head_ExistingFileButton.TabIndex = 28;
this.Head_ExistingFileButton.Text = "Refresh";
this.Head_ExistingFileButton.UseVisualStyleBackColor = true;
this.Head_ExistingFileButton.Click += new System.EventHandler(this.Head_ExistingFileButton_Click);
//
// Head_ExistingFileBox
//
this.Head_ExistingFileBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.Head_ExistingFileBox.FormattingEnabled = true;
this.Head_ExistingFileBox.Location = new System.Drawing.Point(299, 14);
this.Head_ExistingFileBox.Name = "Head_ExistingFileBox";
this.Head_ExistingFileBox.Size = new System.Drawing.Size(174, 21);
this.Head_ExistingFileBox.TabIndex = 27;
this.Head_ExistingFileBox.SelectedIndexChanged += new System.EventHandler(this.Head_ExistingFileBox_SelectedIndexChanged);
//
// Head_LoadFileButton
//
this.Head_LoadFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Head_LoadFileButton.Location = new System.Drawing.Point(214, 14);
this.Head_LoadFileButton.Name = "Head_LoadFileButton";
this.Head_LoadFileButton.Size = new System.Drawing.Size(56, 20);
this.Head_LoadFileButton.TabIndex = 26;
this.Head_LoadFileButton.Text = "Browse...";
this.Head_LoadFileButton.UseVisualStyleBackColor = true;
this.Head_LoadFileButton.Click += new System.EventHandler(this.Head_LoadFileButton_Click);
//
// Head_LoadFileBox
//
this.Head_LoadFileBox.Location = new System.Drawing.Point(6, 14);
this.Head_LoadFileBox.Name = "Head_LoadFileBox";
this.Head_LoadFileBox.ReadOnly = true;
this.Head_LoadFileBox.Size = new System.Drawing.Size(202, 20);
this.Head_LoadFileBox.TabIndex = 25;
//
// BrowseFileLabel
//
this.BrowseFileLabel.AutoSize = true;
this.BrowseFileLabel.Location = new System.Drawing.Point(93, 20);
this.BrowseFileLabel.Name = "BrowseFileLabel";
this.BrowseFileLabel.Size = new System.Drawing.Size(61, 13);
this.BrowseFileLabel.TabIndex = 3;
this.BrowseFileLabel.Text = "Browse File";
//
// ExistingFileLabel
//
this.ExistingFileLabel.AutoSize = true;
this.ExistingFileLabel.Location = new System.Drawing.Point(353, 20);
this.ExistingFileLabel.Name = "ExistingFileLabel";
this.ExistingFileLabel.Size = new System.Drawing.Size(94, 13);
this.ExistingFileLabel.TabIndex = 4;
this.ExistingFileLabel.Text = "Use Existing Mesh";
//
// TorsoBox
//
this.TorsoBox.Controls.Add(this.Torso_ExistingFileButton);
this.TorsoBox.Controls.Add(this.Torso_LoadFileBox);
this.TorsoBox.Controls.Add(this.Torso_LoadFileButton);
this.TorsoBox.Controls.Add(this.Torso_ExistingFileBox);
this.TorsoBox.Location = new System.Drawing.Point(9, 69);
this.TorsoBox.Name = "TorsoBox";
this.TorsoBox.Size = new System.Drawing.Size(541, 41);
this.TorsoBox.TabIndex = 5;
this.TorsoBox.TabStop = false;
this.TorsoBox.Text = "Torso";
//
// Torso_ExistingFileButton
//
this.Torso_ExistingFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Torso_ExistingFileButton.Location = new System.Drawing.Point(479, 14);
this.Torso_ExistingFileButton.Name = "Torso_ExistingFileButton";
this.Torso_ExistingFileButton.Size = new System.Drawing.Size(56, 20);
this.Torso_ExistingFileButton.TabIndex = 28;
this.Torso_ExistingFileButton.Text = "Refresh";
this.Torso_ExistingFileButton.UseVisualStyleBackColor = true;
this.Torso_ExistingFileButton.Click += new System.EventHandler(this.Torso_ExistingFileButton_Click);
//
// Torso_LoadFileBox
//
this.Torso_LoadFileBox.Location = new System.Drawing.Point(6, 14);
this.Torso_LoadFileBox.Name = "Torso_LoadFileBox";
this.Torso_LoadFileBox.ReadOnly = true;
this.Torso_LoadFileBox.Size = new System.Drawing.Size(202, 20);
this.Torso_LoadFileBox.TabIndex = 25;
//
// Torso_LoadFileButton
//
this.Torso_LoadFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Torso_LoadFileButton.Location = new System.Drawing.Point(214, 14);
this.Torso_LoadFileButton.Name = "Torso_LoadFileButton";
this.Torso_LoadFileButton.Size = new System.Drawing.Size(56, 20);
this.Torso_LoadFileButton.TabIndex = 26;
this.Torso_LoadFileButton.Text = "Browse...";
this.Torso_LoadFileButton.UseVisualStyleBackColor = true;
this.Torso_LoadFileButton.Click += new System.EventHandler(this.Torso_LoadFileButton_Click);
//
// Torso_ExistingFileBox
//
this.Torso_ExistingFileBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.Torso_ExistingFileBox.FormattingEnabled = true;
this.Torso_ExistingFileBox.Location = new System.Drawing.Point(299, 14);
this.Torso_ExistingFileBox.Name = "Torso_ExistingFileBox";
this.Torso_ExistingFileBox.Size = new System.Drawing.Size(174, 21);
this.Torso_ExistingFileBox.TabIndex = 27;
this.Torso_ExistingFileBox.SelectedIndexChanged += new System.EventHandler(this.Torso_ExistingFileBox_SelectedIndexChanged);
//
// LeftArmBox
//
this.LeftArmBox.Controls.Add(this.LeftArm_ExistingFileButton);
this.LeftArmBox.Controls.Add(this.LeftArm_LoadFileBox);
this.LeftArmBox.Controls.Add(this.LeftArm_LoadFileButton);
this.LeftArmBox.Controls.Add(this.LeftArm_ExistingFileBox);
this.LeftArmBox.Location = new System.Drawing.Point(9, 109);
this.LeftArmBox.Name = "LeftArmBox";
this.LeftArmBox.Size = new System.Drawing.Size(541, 41);
this.LeftArmBox.TabIndex = 6;
this.LeftArmBox.TabStop = false;
this.LeftArmBox.Text = "Left Arm";
//
// LeftArm_ExistingFileButton
//
this.LeftArm_ExistingFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.LeftArm_ExistingFileButton.Location = new System.Drawing.Point(479, 14);
this.LeftArm_ExistingFileButton.Name = "LeftArm_ExistingFileButton";
this.LeftArm_ExistingFileButton.Size = new System.Drawing.Size(56, 20);
this.LeftArm_ExistingFileButton.TabIndex = 28;
this.LeftArm_ExistingFileButton.Text = "Refresh";
this.LeftArm_ExistingFileButton.UseVisualStyleBackColor = true;
this.LeftArm_ExistingFileButton.Click += new System.EventHandler(this.LeftArm_ExistingFileButton_Click);
//
// LeftArm_LoadFileBox
//
this.LeftArm_LoadFileBox.Location = new System.Drawing.Point(6, 14);
this.LeftArm_LoadFileBox.Name = "LeftArm_LoadFileBox";
this.LeftArm_LoadFileBox.ReadOnly = true;
this.LeftArm_LoadFileBox.Size = new System.Drawing.Size(202, 20);
this.LeftArm_LoadFileBox.TabIndex = 25;
//
// LeftArm_LoadFileButton
//
this.LeftArm_LoadFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.LeftArm_LoadFileButton.Location = new System.Drawing.Point(214, 14);
this.LeftArm_LoadFileButton.Name = "LeftArm_LoadFileButton";
this.LeftArm_LoadFileButton.Size = new System.Drawing.Size(56, 20);
this.LeftArm_LoadFileButton.TabIndex = 26;
this.LeftArm_LoadFileButton.Text = "Browse...";
this.LeftArm_LoadFileButton.UseVisualStyleBackColor = true;
this.LeftArm_LoadFileButton.Click += new System.EventHandler(this.LeftArm_LoadFileButton_Click);
//
// LeftArm_ExistingFileBox
//
this.LeftArm_ExistingFileBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.LeftArm_ExistingFileBox.FormattingEnabled = true;
this.LeftArm_ExistingFileBox.Location = new System.Drawing.Point(299, 14);
this.LeftArm_ExistingFileBox.Name = "LeftArm_ExistingFileBox";
this.LeftArm_ExistingFileBox.Size = new System.Drawing.Size(174, 21);
this.LeftArm_ExistingFileBox.TabIndex = 27;
this.LeftArm_ExistingFileBox.SelectedIndexChanged += new System.EventHandler(this.LeftArm_ExistingFileBox_SelectedIndexChanged);
//
// RightArmBox
//
this.RightArmBox.Controls.Add(this.RightArm_ExistingFileButton);
this.RightArmBox.Controls.Add(this.RightArm_LoadFileBox);
this.RightArmBox.Controls.Add(this.RightArm_LoadFileButton);
this.RightArmBox.Controls.Add(this.RightArm_ExistingFileBox);
this.RightArmBox.Location = new System.Drawing.Point(9, 150);
this.RightArmBox.Name = "RightArmBox";
this.RightArmBox.Size = new System.Drawing.Size(541, 41);
this.RightArmBox.TabIndex = 7;
this.RightArmBox.TabStop = false;
this.RightArmBox.Text = "Right Arm";
//
// RightArm_ExistingFileButton
//
this.RightArm_ExistingFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.RightArm_ExistingFileButton.Location = new System.Drawing.Point(479, 14);
this.RightArm_ExistingFileButton.Name = "RightArm_ExistingFileButton";
this.RightArm_ExistingFileButton.Size = new System.Drawing.Size(56, 20);
this.RightArm_ExistingFileButton.TabIndex = 28;
this.RightArm_ExistingFileButton.Text = "Refresh";
this.RightArm_ExistingFileButton.UseVisualStyleBackColor = true;
this.RightArm_ExistingFileButton.Click += new System.EventHandler(this.RightArm_ExistingFileButton_Click);
//
// RightArm_LoadFileBox
//
this.RightArm_LoadFileBox.Location = new System.Drawing.Point(6, 14);
this.RightArm_LoadFileBox.Name = "RightArm_LoadFileBox";
this.RightArm_LoadFileBox.ReadOnly = true;
this.RightArm_LoadFileBox.Size = new System.Drawing.Size(202, 20);
this.RightArm_LoadFileBox.TabIndex = 25;
//
// RightArm_LoadFileButton
//
this.RightArm_LoadFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.RightArm_LoadFileButton.Location = new System.Drawing.Point(214, 14);
this.RightArm_LoadFileButton.Name = "RightArm_LoadFileButton";
this.RightArm_LoadFileButton.Size = new System.Drawing.Size(56, 20);
this.RightArm_LoadFileButton.TabIndex = 26;
this.RightArm_LoadFileButton.Text = "Browse...";
this.RightArm_LoadFileButton.UseVisualStyleBackColor = true;
this.RightArm_LoadFileButton.Click += new System.EventHandler(this.RightArm_LoadFileButton_Click);
//
// RightArm_ExistingFileBox
//
this.RightArm_ExistingFileBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.RightArm_ExistingFileBox.FormattingEnabled = true;
this.RightArm_ExistingFileBox.Location = new System.Drawing.Point(299, 14);
this.RightArm_ExistingFileBox.Name = "RightArm_ExistingFileBox";
this.RightArm_ExistingFileBox.Size = new System.Drawing.Size(174, 21);
this.RightArm_ExistingFileBox.TabIndex = 27;
this.RightArm_ExistingFileBox.SelectedIndexChanged += new System.EventHandler(this.RightArm_ExistingFileBox_SelectedIndexChanged);
//
// LeftLegBox
//
this.LeftLegBox.Controls.Add(this.LeftLeg_ExistingFileButton);
this.LeftLegBox.Controls.Add(this.LeftLeg_LoadFileBox);
this.LeftLegBox.Controls.Add(this.LeftLeg_LoadFileButton);
this.LeftLegBox.Controls.Add(this.LeftLeg_ExistingFileBox);
this.LeftLegBox.Location = new System.Drawing.Point(9, 191);
this.LeftLegBox.Name = "LeftLegBox";
this.LeftLegBox.Size = new System.Drawing.Size(541, 41);
this.LeftLegBox.TabIndex = 8;
this.LeftLegBox.TabStop = false;
this.LeftLegBox.Text = "Left Leg";
//
// LeftLeg_ExistingFileButton
//
this.LeftLeg_ExistingFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.LeftLeg_ExistingFileButton.Location = new System.Drawing.Point(479, 14);
this.LeftLeg_ExistingFileButton.Name = "LeftLeg_ExistingFileButton";
this.LeftLeg_ExistingFileButton.Size = new System.Drawing.Size(56, 20);
this.LeftLeg_ExistingFileButton.TabIndex = 28;
this.LeftLeg_ExistingFileButton.Text = "Refresh";
this.LeftLeg_ExistingFileButton.UseVisualStyleBackColor = true;
this.LeftLeg_ExistingFileButton.Click += new System.EventHandler(this.LeftLeg_ExistingFileButton_Click);
//
// LeftLeg_LoadFileBox
//
this.LeftLeg_LoadFileBox.Location = new System.Drawing.Point(6, 14);
this.LeftLeg_LoadFileBox.Name = "LeftLeg_LoadFileBox";
this.LeftLeg_LoadFileBox.ReadOnly = true;
this.LeftLeg_LoadFileBox.Size = new System.Drawing.Size(202, 20);
this.LeftLeg_LoadFileBox.TabIndex = 25;
//
// LeftLeg_LoadFileButton
//
this.LeftLeg_LoadFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.LeftLeg_LoadFileButton.Location = new System.Drawing.Point(214, 14);
this.LeftLeg_LoadFileButton.Name = "LeftLeg_LoadFileButton";
this.LeftLeg_LoadFileButton.Size = new System.Drawing.Size(56, 20);
this.LeftLeg_LoadFileButton.TabIndex = 26;
this.LeftLeg_LoadFileButton.Text = "Browse...";
this.LeftLeg_LoadFileButton.UseVisualStyleBackColor = true;
this.LeftLeg_LoadFileButton.Click += new System.EventHandler(this.LeftLeg_LoadFileButton_Click);
//
// LeftLeg_ExistingFileBox
//
this.LeftLeg_ExistingFileBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.LeftLeg_ExistingFileBox.FormattingEnabled = true;
this.LeftLeg_ExistingFileBox.Location = new System.Drawing.Point(299, 14);
this.LeftLeg_ExistingFileBox.Name = "LeftLeg_ExistingFileBox";
this.LeftLeg_ExistingFileBox.Size = new System.Drawing.Size(174, 21);
this.LeftLeg_ExistingFileBox.TabIndex = 27;
this.LeftLeg_ExistingFileBox.SelectedIndexChanged += new System.EventHandler(this.LeftLeg_ExistingFileBox_SelectedIndexChanged);
//
// RightLegBox
//
this.RightLegBox.Controls.Add(this.RightLeg_ExistingFileButton);
this.RightLegBox.Controls.Add(this.RightLeg_LoadFileBox);
this.RightLegBox.Controls.Add(this.RightLeg_LoadFileButton);
this.RightLegBox.Controls.Add(this.RightLeg_ExistingFileBox);
this.RightLegBox.Location = new System.Drawing.Point(9, 231);
this.RightLegBox.Name = "RightLegBox";
this.RightLegBox.Size = new System.Drawing.Size(541, 41);
this.RightLegBox.TabIndex = 9;
this.RightLegBox.TabStop = false;
this.RightLegBox.Text = "Right Leg";
//
// RightLeg_ExistingFileButton
//
this.RightLeg_ExistingFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.RightLeg_ExistingFileButton.Location = new System.Drawing.Point(479, 14);
this.RightLeg_ExistingFileButton.Name = "RightLeg_ExistingFileButton";
this.RightLeg_ExistingFileButton.Size = new System.Drawing.Size(56, 20);
this.RightLeg_ExistingFileButton.TabIndex = 28;
this.RightLeg_ExistingFileButton.Text = "Refresh";
this.RightLeg_ExistingFileButton.UseVisualStyleBackColor = true;
this.RightLeg_ExistingFileButton.Click += new System.EventHandler(this.RightLeg_ExistingFileButton_Click);
//
// RightLeg_LoadFileBox
//
this.RightLeg_LoadFileBox.Location = new System.Drawing.Point(6, 14);
this.RightLeg_LoadFileBox.Name = "RightLeg_LoadFileBox";
this.RightLeg_LoadFileBox.ReadOnly = true;
this.RightLeg_LoadFileBox.Size = new System.Drawing.Size(202, 20);
this.RightLeg_LoadFileBox.TabIndex = 25;
//
// RightLeg_LoadFileButton
//
this.RightLeg_LoadFileButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.RightLeg_LoadFileButton.Location = new System.Drawing.Point(214, 14);
this.RightLeg_LoadFileButton.Name = "RightLeg_LoadFileButton";
this.RightLeg_LoadFileButton.Size = new System.Drawing.Size(56, 20);
this.RightLeg_LoadFileButton.TabIndex = 26;
this.RightLeg_LoadFileButton.Text = "Browse...";
this.RightLeg_LoadFileButton.UseVisualStyleBackColor = true;
this.RightLeg_LoadFileButton.Click += new System.EventHandler(this.RightLeg_LoadFileButton_Click);
//
// RightLeg_ExistingFileBox
//
this.RightLeg_ExistingFileBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.RightLeg_ExistingFileBox.FormattingEnabled = true;
this.RightLeg_ExistingFileBox.Location = new System.Drawing.Point(299, 14);
this.RightLeg_ExistingFileBox.Name = "RightLeg_ExistingFileBox";
this.RightLeg_ExistingFileBox.Size = new System.Drawing.Size(174, 21);
this.RightLeg_ExistingFileBox.TabIndex = 27;
this.RightLeg_ExistingFileBox.SelectedIndexChanged += new System.EventHandler(this.RightLeg_ExistingFileBox_SelectedIndexChanged);
//
// ItemCreationSDK
//
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(1192, 411);
this.ClientSize = new System.Drawing.Size(1756, 411);
this.Controls.Add(this.MeshOptionsGroup);
this.Controls.Add(this.ReskinBox);
this.Controls.Add(this.EditItemBox);
this.Controls.Add(this.PackageOptionsBox);
this.Controls.Add(this.HatOptionsGroup);
this.Controls.Add(this.SettingsButton);
this.Controls.Add(this.Warning);
@ -1583,7 +1986,6 @@ partial class ItemCreationSDK
this.Load += new System.EventHandler(this.ItemCreationSDK_Load);
this.ItemSettingsGroup.ResumeLayout(false);
this.ItemSettingsGroup.PerformLayout();
this.OtherGroup.ResumeLayout(false);
this.CoordGroup3.ResumeLayout(false);
this.CoordGroup3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.ZBox3)).EndInit();
@ -1627,6 +2029,20 @@ partial class ItemCreationSDK
((System.ComponentModel.ISupportInitialize)(this.RoundnessBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BevelBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ItemIcon)).EndInit();
this.PackageOptionsBox.ResumeLayout(false);
this.PackageOptionsBox.PerformLayout();
this.HeadBox.ResumeLayout(false);
this.HeadBox.PerformLayout();
this.TorsoBox.ResumeLayout(false);
this.TorsoBox.PerformLayout();
this.LeftArmBox.ResumeLayout(false);
this.LeftArmBox.PerformLayout();
this.RightArmBox.ResumeLayout(false);
this.RightArmBox.PerformLayout();
this.LeftLegBox.ResumeLayout(false);
this.LeftLegBox.PerformLayout();
this.RightLegBox.ResumeLayout(false);
this.RightLegBox.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@ -1695,7 +2111,6 @@ partial class ItemCreationSDK
private System.Windows.Forms.Label ZLabel3;
private System.Windows.Forms.Label YLabel3;
private System.Windows.Forms.Label XLabel3;
private System.Windows.Forms.GroupBox OtherGroup;
private System.Windows.Forms.Button SettingsButton;
private System.Windows.Forms.GroupBox HatOptionsGroup;
private System.Windows.Forms.NumericUpDown transparencyBox;
@ -1729,4 +2144,39 @@ partial class ItemCreationSDK
private System.Windows.Forms.Label hatPartColorIDLabel;
private System.Windows.Forms.Button UsesHatTexBoxRefresh;
private System.Windows.Forms.Button UsesHatMeshBoxRefresh;
private System.Windows.Forms.GroupBox PackageOptionsBox;
private System.Windows.Forms.TextBox PackageNameBox;
private System.Windows.Forms.Label PackageNameLabel;
private System.Windows.Forms.GroupBox RightLegBox;
private System.Windows.Forms.Button RightLeg_ExistingFileButton;
private System.Windows.Forms.TextBox RightLeg_LoadFileBox;
private System.Windows.Forms.Button RightLeg_LoadFileButton;
private System.Windows.Forms.ComboBox RightLeg_ExistingFileBox;
private System.Windows.Forms.GroupBox LeftLegBox;
private System.Windows.Forms.Button LeftLeg_ExistingFileButton;
private System.Windows.Forms.TextBox LeftLeg_LoadFileBox;
private System.Windows.Forms.Button LeftLeg_LoadFileButton;
private System.Windows.Forms.ComboBox LeftLeg_ExistingFileBox;
private System.Windows.Forms.GroupBox RightArmBox;
private System.Windows.Forms.Button RightArm_ExistingFileButton;
private System.Windows.Forms.TextBox RightArm_LoadFileBox;
private System.Windows.Forms.Button RightArm_LoadFileButton;
private System.Windows.Forms.ComboBox RightArm_ExistingFileBox;
private System.Windows.Forms.GroupBox LeftArmBox;
private System.Windows.Forms.Button LeftArm_ExistingFileButton;
private System.Windows.Forms.TextBox LeftArm_LoadFileBox;
private System.Windows.Forms.Button LeftArm_LoadFileButton;
private System.Windows.Forms.ComboBox LeftArm_ExistingFileBox;
private System.Windows.Forms.GroupBox TorsoBox;
private System.Windows.Forms.Button Torso_ExistingFileButton;
private System.Windows.Forms.TextBox Torso_LoadFileBox;
private System.Windows.Forms.Button Torso_LoadFileButton;
private System.Windows.Forms.ComboBox Torso_ExistingFileBox;
private System.Windows.Forms.Label ExistingFileLabel;
private System.Windows.Forms.Label BrowseFileLabel;
private System.Windows.Forms.GroupBox HeadBox;
private System.Windows.Forms.Button Head_ExistingFileButton;
private System.Windows.Forms.TextBox Head_LoadFileBox;
private System.Windows.Forms.Button Head_LoadFileButton;
private System.Windows.Forms.ComboBox Head_ExistingFileBox;
}

View File

@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Windows.Forms;
using System.Xml.Linq;
#endregion
@ -14,10 +15,21 @@ using System.Xml.Linq;
public partial class ItemCreationSDK : Form
{
#region Variables
enum BodyParts
{
HEAD,
TORSO,
LARM,
RARM,
LLEG,
RLEG
}
private static RobloxFileType type;
private static string Template = "";
private static string Option1Path = "";
private static string Option2Path = "";
private static string[] PackageMeshPaths = {"","","","","",""};
private static bool Option1Required = false;
private static bool Option2Required = false;
private static bool RequiresIconForTexture = false;
@ -156,7 +168,7 @@ public partial class ItemCreationSDK : Form
string itemName = ItemNameBox.Text;
RobloxFileType itemType = type;
Reset(true);
Reset(false, true);
ItemTypeListBox.SelectedIndex = GetIntForType(itemType);
ItemNameBox.Text = itemName;
@ -164,7 +176,21 @@ public partial class ItemCreationSDK : Form
if (LaunchCharCustom == DialogResult.Yes)
{
NovetusFuncs.LaunchCharacterCustomization();
//we need to keep the form open if we're testing items.
//https://stackoverflow.com/questions/9029351/close-all-open-forms-except-the-main-menu-in-c-sharp
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
//iterate through
if (frm.Name == "CharacterCustomizationExtended" ||
frm.Name == "CharacterCustomizationCompact")
{
return;
}
}
NovetusFuncs.LaunchCharacterCustomization(true);
}
}
}
@ -217,6 +243,120 @@ public partial class ItemCreationSDK : Form
}
}
private void PartButtonClick(TextBox box, int index)
{
PackageMeshPaths[index] = LoadAsset(FileDialogName1, FileDialogFilter1);
box.Text = Path.GetFileName(PackageMeshPaths[index]);
}
private void PartBoxSelect(ComboBox box, TextBox box2, Button button, int index)
{
PackageMeshPaths[index] = "";
if (box.SelectedItem.ToString() != "None")
{
box2.Text = box.Text;
box2.Enabled = false;
button.Enabled = false;
}
else
{
box2.Enabled = true;
button.Enabled = true;
box2.Text = "";
}
}
private void Head_LoadFileButton_Click(object sender, EventArgs e)
{
PartButtonClick(Head_LoadFileBox, (int)BodyParts.HEAD);
}
private void Head_ExistingFileBox_SelectedIndexChanged(object sender, EventArgs e)
{
PartBoxSelect(Head_ExistingFileBox, Head_LoadFileBox, Head_LoadFileButton, (int)BodyParts.HEAD);
}
private void Head_ExistingFileButton_Click(object sender, EventArgs e)
{
TogglePackageMeshBox(Head_ExistingFileBox, Head_ExistingFileButton);
}
private void Torso_LoadFileButton_Click(object sender, EventArgs e)
{
PartButtonClick(Torso_LoadFileBox, (int)BodyParts.TORSO);
}
private void Torso_ExistingFileBox_SelectedIndexChanged(object sender, EventArgs e)
{
PartBoxSelect(Torso_ExistingFileBox, Torso_LoadFileBox, Torso_LoadFileButton, (int)BodyParts.TORSO);
}
private void Torso_ExistingFileButton_Click(object sender, EventArgs e)
{
TogglePackageMeshBox(Torso_ExistingFileBox, Torso_ExistingFileButton);
}
private void LeftArm_LoadFileButton_Click(object sender, EventArgs e)
{
PartButtonClick(LeftArm_LoadFileBox, (int)BodyParts.LARM);
}
private void LeftArm_ExistingFileBox_SelectedIndexChanged(object sender, EventArgs e)
{
PartBoxSelect(LeftArm_ExistingFileBox, LeftArm_LoadFileBox, LeftArm_LoadFileButton, (int)BodyParts.LARM);
}
private void LeftArm_ExistingFileButton_Click(object sender, EventArgs e)
{
TogglePackageMeshBox(LeftArm_ExistingFileBox, LeftArm_ExistingFileButton);
}
private void RightArm_LoadFileButton_Click(object sender, EventArgs e)
{
PartButtonClick(RightArm_LoadFileBox, (int)BodyParts.RARM);
}
private void RightArm_ExistingFileBox_SelectedIndexChanged(object sender, EventArgs e)
{
PartBoxSelect(RightArm_ExistingFileBox, RightArm_LoadFileBox, RightArm_LoadFileButton, (int)BodyParts.RARM);
}
private void RightArm_ExistingFileButton_Click(object sender, EventArgs e)
{
TogglePackageMeshBox(RightArm_ExistingFileBox, RightArm_ExistingFileButton);
}
private void LeftLeg_LoadFileButton_Click(object sender, EventArgs e)
{
PartButtonClick(LeftLeg_LoadFileBox, (int)BodyParts.LLEG);
}
private void LeftLeg_ExistingFileBox_SelectedIndexChanged(object sender, EventArgs e)
{
PartBoxSelect(LeftLeg_ExistingFileBox, LeftLeg_LoadFileBox, LeftLeg_LoadFileButton, (int)BodyParts.LLEG);
}
private void LeftLeg_ExistingFileButton_Click(object sender, EventArgs e)
{
TogglePackageMeshBox(LeftLeg_ExistingFileBox, LeftLeg_ExistingFileButton);
}
private void RightLeg_LoadFileButton_Click(object sender, EventArgs e)
{
PartButtonClick(RightLeg_LoadFileBox, (int)BodyParts.RLEG);
}
private void RightLeg_ExistingFileBox_SelectedIndexChanged(object sender, EventArgs e)
{
PartBoxSelect(RightLeg_ExistingFileBox, RightLeg_LoadFileBox, RightLeg_LoadFileButton, (int)BodyParts.RLEG);
}
private void RightLeg_ExistingFileButton_Click(object sender, EventArgs e)
{
TogglePackageMeshBox(RightLeg_ExistingFileBox, RightLeg_ExistingFileButton);
}
private void EditItem_CheckedChanged(object sender, EventArgs e)
{
ItemEditing = EditItemBox.Checked;
@ -1058,6 +1198,124 @@ public partial class ItemCreationSDK : Form
return check;
}
public static void SetPackageName(XDocument doc, string packageName)
{
var v = from nodes in doc.Descendants("Item")
select nodes;
foreach (var item in v)
{
var v2 = from nodes in item.Descendants(XMLTypes.String.ToString().ToLower())
where nodes.Attribute("name").Value == "Value"
select nodes;
foreach (var item2 in v2)
{
item2.Value = packageName;
}
}
}
public static void SetPackagePartVal(XDocument doc, string partName, string assetName, int index = -1)
{
var v = from nodes in doc.Descendants("Item")
select nodes;
foreach (var item in v)
{
var v2 = from nodes in item.Descendants("Item")
where nodes.Attribute("class").Value == "StringValue"
select nodes;
foreach (var item2 in v2)
{
var v3 = from nodes in item2.Descendants(XMLTypes.String.ToString().ToLower())
where nodes.Attribute("name").Value == "Name"
select nodes;
foreach (var item3 in v3)
{
if (item3.Value == partName)
{
var v4 = from nodes in item2.Descendants(XMLTypes.String.ToString().ToLower())
where nodes.Attribute("name").Value == "Value"
select nodes;
foreach (var item4 in v4)
{
if (!string.IsNullOrWhiteSpace(assetName))
{
if (!string.IsNullOrWhiteSpace(PackageMeshPaths[index]) && index != -1)
{
IOSafe.File.Copy(PackageMeshPaths[index], GlobalPaths.extradirFonts + "\\" + assetName, true);
}
item4.Value = GlobalPaths.extraGameDirFonts + assetName;
}
}
}
}
}
}
}
public static string GetPackageName(XDocument doc)
{
var v = from nodes in doc.Descendants("Item")
select nodes;
foreach (var item in v)
{
var v2 = from nodes in item.Descendants(XMLTypes.String.ToString().ToLower())
where nodes.Attribute("name").Value == "Value"
select nodes;
foreach (var item2 in v2)
{
return item2.Value;
}
}
return "";
}
public static string GetPackagePartVal(XDocument doc, string partName)
{
var v = from nodes in doc.Descendants("Item")
select nodes;
foreach (var item in v)
{
var v2 = from nodes in item.Descendants("Item")
where nodes.Attribute("class").Value == "StringValue"
select nodes;
foreach (var item2 in v2)
{
var v3 = from nodes in item2.Descendants(XMLTypes.String.ToString().ToLower())
where nodes.Attribute("name").Value == "Name"
select nodes;
foreach (var item3 in v3)
{
if (item3.Value == partName)
{
var v4 = from nodes in item2.Descendants(XMLTypes.String.ToString().ToLower())
where nodes.Attribute("name").Value == "Value"
select nodes;
foreach (var item4 in v4)
{
return item4.Value;
}
}
}
}
}
return "null";
}
#endregion
public void SetupSDK()
@ -1082,7 +1340,10 @@ public partial class ItemCreationSDK : Form
ToggleGroup(CoordGroup2, "Hat Mesh Scale");
ToggleGroup(CoordGroup3, "Hat Mesh Vertex Color");
ToggleGroup(MeshOptionsGroup, "", false);
ToggleGroup(HatOptionsGroup, "Hat Options");
ToggleGroup(HatOptionsGroup, "Additional Hat Options");
ToggleGroup(ItemSettingsGroup, "Hat Settings", true);
ToggleGroup(PackageOptionsBox, "", false);
InitPackageGroup(false);
Template = GlobalPaths.ConfigDirTemplates + "\\HatTemplate.rbxm";
FileDialogFilter1 = "*.mesh";
FileDialogName1 = "Hat Mesh";
@ -1091,6 +1352,7 @@ public partial class ItemCreationSDK : Form
RequiresIconForTexture = false;
HatOptionsGroup.Location = new Point(610, 215);
MeshOptionsGroup.Location = new Point(911, 20);
PackageOptionsBox.Location = new Point(1180, 67);
break;
case RobloxFileType.HeadNoCustomMesh:
ToggleOptionSet(Option1Label, Option1TextBox, Option1BrowseButton, "", false, false);
@ -1106,10 +1368,14 @@ public partial class ItemCreationSDK : Form
ToggleGroup(CoordGroup3, "", false);
ToggleGroup(MeshOptionsGroup, "Head Mesh Options");
ToggleGroup(HatOptionsGroup, "", false);
ToggleGroup(ItemSettingsGroup, "Head Settings", true);
ToggleGroup(PackageOptionsBox, "", false);
InitPackageGroup(false);
Template = GlobalPaths.ConfigDirTemplates + "\\HeadNoCustomMeshTemplate.rbxm";
RequiresIconForTexture = false;
MeshOptionsGroup.Location = new Point(610, 215);
HatOptionsGroup.Location = new Point(911, 20);
PackageOptionsBox.Location = new Point(1180, 67);
break;
case RobloxFileType.Head:
ToggleOptionSet(Option1Label, Option1TextBox, Option1BrowseButton, "Head Mesh", true);
@ -1125,6 +1391,9 @@ public partial class ItemCreationSDK : Form
ToggleGroup(CoordGroup3, "", false);
ToggleGroup(MeshOptionsGroup, "", false);
ToggleGroup(HatOptionsGroup, "", false);
ToggleGroup(ItemSettingsGroup, "Head Settings", true);
ToggleGroup(PackageOptionsBox, "", false);
InitPackageGroup(false);
Template = GlobalPaths.ConfigDirTemplates + "\\HeadTemplate.rbxm";
FileDialogFilter1 = "*.mesh";
FileDialogName1 = "Head Mesh";
@ -1133,6 +1402,7 @@ public partial class ItemCreationSDK : Form
RequiresIconForTexture = false;
MeshOptionsGroup.Location = new Point(610, 215);
HatOptionsGroup.Location = new Point(911, 20);
PackageOptionsBox.Location = new Point(1180, 67);
break;
case RobloxFileType.Face:
ToggleOptionSet(Option1Label, Option1TextBox, Option1BrowseButton, "Load the Item Icon to load a Face Texture.", false, false);
@ -1148,10 +1418,14 @@ public partial class ItemCreationSDK : Form
ToggleGroup(CoordGroup3, "", false);
ToggleGroup(MeshOptionsGroup, "", false);
ToggleGroup(HatOptionsGroup, "", false);
ToggleGroup(ItemSettingsGroup, "Face Settings", true);
ToggleGroup(PackageOptionsBox, "", false);
InitPackageGroup(false);
Template = GlobalPaths.ConfigDirTemplates + "\\FaceTemplate.rbxm";
RequiresIconForTexture = true;
HatOptionsGroup.Location = new Point(610, 215);
MeshOptionsGroup.Location = new Point(911, 20);
PackageOptionsBox.Location = new Point(1180, 67);
break;
case RobloxFileType.TShirt:
ToggleOptionSet(Option1Label, Option1TextBox, Option1BrowseButton, "Load the Item Icon to load a T-Shirt Template.", false, false);
@ -1167,10 +1441,14 @@ public partial class ItemCreationSDK : Form
ToggleGroup(CoordGroup3, "", false);
ToggleGroup(MeshOptionsGroup, "", false);
ToggleGroup(HatOptionsGroup, "", false);
ToggleGroup(ItemSettingsGroup, "T-Shirt Settings", true);
ToggleGroup(PackageOptionsBox, "", false);
InitPackageGroup(false);
Template = GlobalPaths.ConfigDirTemplates + "\\TShirtTemplate.rbxm";
RequiresIconForTexture = true;
HatOptionsGroup.Location = new Point(610, 215);
MeshOptionsGroup.Location = new Point(911, 20);
PackageOptionsBox.Location = new Point(1180, 67);
break;
case RobloxFileType.Shirt:
ToggleOptionSet(Option1Label, Option1TextBox, Option1BrowseButton, "Shirt Template", true);
@ -1186,12 +1464,16 @@ public partial class ItemCreationSDK : Form
ToggleGroup(CoordGroup3, "", false);
ToggleGroup(MeshOptionsGroup, "", false);
ToggleGroup(HatOptionsGroup, "", false);
ToggleGroup(ItemSettingsGroup, "Shirt Settings", true);
ToggleGroup(PackageOptionsBox, "", false);
InitPackageGroup(false);
Template = GlobalPaths.ConfigDirTemplates + "\\ShirtTemplate.rbxm";
FileDialogFilter1 = "*.png";
FileDialogName1 = "Shirt Template";
RequiresIconForTexture = false;
HatOptionsGroup.Location = new Point(610, 215);
MeshOptionsGroup.Location = new Point(911, 20);
PackageOptionsBox.Location = new Point(1180, 67);
break;
case RobloxFileType.Pants:
ToggleOptionSet(Option1Label, Option1TextBox, Option1BrowseButton, "Pants Template", true);
@ -1207,12 +1489,42 @@ public partial class ItemCreationSDK : Form
ToggleGroup(CoordGroup3, "", false);
ToggleGroup(MeshOptionsGroup, "", false);
ToggleGroup(HatOptionsGroup, "", false);
ToggleGroup(ItemSettingsGroup, "Pants Settings", true);
ToggleGroup(PackageOptionsBox, "", false);
InitPackageGroup(false);
Template = GlobalPaths.ConfigDirTemplates + "\\PantsTemplate.rbxm";
FileDialogFilter1 = "*.png";
FileDialogName1 = "Pants Template";
RequiresIconForTexture = false;
HatOptionsGroup.Location = new Point(610, 215);
MeshOptionsGroup.Location = new Point(911, 20);
PackageOptionsBox.Location = new Point(1180, 67);
break;
case RobloxFileType.Package:
ToggleOptionSet(Option1Label, Option1TextBox, Option1BrowseButton, "", false, false);
Option1Path = "";
Option1Required = false;
ToggleHatMeshBox("", false);
ToggleHatTextureBox("", false);
ToggleOptionSet(Option2Label, Option2TextBox, Option2BrowseButton, "", false, false);
Option2Path = "";
Option2Required = false;
PackageMeshPaths = new string[] { "","","","","",""};
ToggleGroup(CoordGroup, "", false);
ToggleGroup(CoordGroup2, "", false);
ToggleGroup(CoordGroup3, "", false);
ToggleGroup(MeshOptionsGroup, "", false);
ToggleGroup(HatOptionsGroup, "", false);
ToggleGroup(ItemSettingsGroup, "Package Options", true);
ToggleGroup(PackageOptionsBox, "Package Contents", true);
InitPackageGroup();
Template = GlobalPaths.ConfigDirTemplates + "\\PackageTemplate.rbxm";
RequiresIconForTexture = false;
FileDialogFilter1 = "*.mesh";
FileDialogName1 = "Part Mesh";
HatOptionsGroup.Location = new Point(911, 20);
MeshOptionsGroup.Location = new Point(911, 20);
PackageOptionsBox.Location = new Point(334, 30);
break;
default:
break;
@ -1238,6 +1550,8 @@ public partial class ItemCreationSDK : Form
return GlobalPaths.shirtdir;
case RobloxFileType.Pants:
return GlobalPaths.pantsdir;
case RobloxFileType.Package:
return GlobalPaths.extradir;
default:
return "";
}
@ -1260,6 +1574,7 @@ public partial class ItemCreationSDK : Form
return RobloxDefs.ItemShirtTexture.Dir;
case RobloxFileType.Pants:
return RobloxDefs.ItemPantsTexture.Dir;
case RobloxFileType.Package:
default:
return null;
}
@ -1283,6 +1598,8 @@ public partial class ItemCreationSDK : Form
return RobloxFileType.Shirt;
case 6:
return RobloxFileType.Pants;
case 7:
return RobloxFileType.Package;
default:
return RobloxFileType.RBXM;
}
@ -1306,6 +1623,8 @@ public partial class ItemCreationSDK : Form
return 5;
case RobloxFileType.Pants:
return 6;
case RobloxFileType.Package:
return 7;
default:
return -1;
}
@ -1359,7 +1678,6 @@ public partial class ItemCreationSDK : Form
break;
case RobloxFileType.Shirt:
SetItemFontVals(doc, RobloxDefs.ItemShirtTexture, 0, 0, 0, assetfilenames[0], assetfilenames[2]);
savDocPath = GlobalPaths.shirtdir;
break;
case RobloxFileType.Pants:
SetItemFontVals(doc, RobloxDefs.ItemPantsTexture, 0, 0, 0, assetfilenames[0], assetfilenames[2]);
@ -1375,6 +1693,15 @@ public partial class ItemCreationSDK : Form
SetItemCoordValsNoClassSearch(doc, coordoptions, "Vector3", "Scale");
SetItemCoordValsNoClassSearch(doc, coordoptions2, "Vector3", "VertexColor");
break;
case RobloxFileType.Package:
SetPackageName(doc, PackageNameBox.Text);
SetPackagePartVal(doc, "Head", Head_LoadFileBox.Text, (int)BodyParts.HEAD);
SetPackagePartVal(doc, "Torso", Torso_LoadFileBox.Text, (int)BodyParts.TORSO);
SetPackagePartVal(doc, "Right Arm", RightArm_LoadFileBox.Text, (int)BodyParts.RARM);
SetPackagePartVal(doc, "Left Arm", LeftArm_LoadFileBox.Text, (int)BodyParts.LARM);
SetPackagePartVal(doc, "Right Leg", RightLeg_LoadFileBox.Text, (int)BodyParts.RLEG);
SetPackagePartVal(doc, "Left Leg", LeftLeg_LoadFileBox.Text, (int)BodyParts.LLEG);
break;
default:
break;
}
@ -1407,6 +1734,16 @@ public partial class ItemCreationSDK : Form
return fileBaseName;
}
private void LoadPartMesh(XDocument doc, ComboBox box, string partName)
{
string PAKHeadMeshFilename = GetFileBaseNameUsingSplit(GetPackagePartVal(doc, partName)) + ".mesh";
int head = box.FindStringExact(PAKHeadMeshFilename);
if (head >= 0)
{
box.SelectedIndex = head;
}
}
public bool LoadItem(string filepath, RobloxFileType type)
{
Option1Path = "";
@ -1584,6 +1921,15 @@ public partial class ItemCreationSDK : Form
string PantsTextureFilename = GetFileBaseNameUsingSplit(GetItemFontVals(doc, RobloxDefs.ItemPantsTexture, 0)) + ".png";
Option1TextBox.Text = PantsTextureFilename;
break;
case RobloxFileType.Package:
LoadPartMesh(doc, Head_ExistingFileBox, "Head");
LoadPartMesh(doc, Torso_ExistingFileBox, "Torso");
LoadPartMesh(doc, RightArm_ExistingFileBox, "Right Arm");
LoadPartMesh(doc, LeftArm_ExistingFileBox, "Left Arm");
LoadPartMesh(doc, RightLeg_ExistingFileBox, "Right Leg");
LoadPartMesh(doc, LeftLeg_ExistingFileBox, "Left Leg");
PackageNameBox.Text = GetPackageName(doc);
break;
default:
break;
}
@ -1674,6 +2020,35 @@ public partial class ItemCreationSDK : Form
}
}
private void TogglePackageMeshBox(ComboBox box, Button button, bool enable = true)
{
box.Enabled = enable;
button.Enabled = enable;
if (enable && Directory.Exists(GlobalPaths.extradirFonts))
{
box.Items.Clear();
box.Items.Add("None");
DirectoryInfo dinfo = new DirectoryInfo(GlobalPaths.extradirFonts);
FileInfo[] Files = dinfo.GetFiles("*.mesh");
foreach (FileInfo file in Files)
{
if (file.Name.Equals(string.Empty))
{
continue;
}
box.Items.Add(file.Name);
}
box.SelectedItem = "None";
}
else
{
box.Items.Clear();
}
}
private string LoadAsset(string assetName, string assetFilter)
{
openFileDialog1 = new OpenFileDialog()
@ -1815,21 +2190,32 @@ public partial class ItemCreationSDK : Form
DescBox.Text = "";
}
string rxbmpath = GetPathForType(type) + "\\" + ItemNameBox.Text.Replace(" ", "") + ".rbxm";
if (!IsReskin)
{
string rxbmpath = GetPathForType(type) + "\\" + ItemNameBox.Text.Replace(" ", "") + ".rbxm";
if (File.Exists(rxbmpath))
{
LoadItem(rxbmpath, type);
}
else
{
if (!IsReskin)
if (File.Exists(rxbmpath))
{
LoadItem(rxbmpath, type);
}
else
{
Reset();
}
}
}
private void InitPackageGroup(bool enable = true)
{
PackageNameBox.Text = "";
TogglePackageMeshBox(Head_ExistingFileBox, Head_ExistingFileButton, enable);
TogglePackageMeshBox(Torso_ExistingFileBox, Torso_ExistingFileButton, enable);
TogglePackageMeshBox(LeftArm_ExistingFileBox, LeftArm_ExistingFileButton, enable);
TogglePackageMeshBox(RightArm_ExistingFileBox, RightArm_ExistingFileButton, enable);
TogglePackageMeshBox(LeftLeg_ExistingFileBox, LeftLeg_ExistingFileButton, enable);
TogglePackageMeshBox(RightLeg_ExistingFileBox, RightLeg_ExistingFileButton, enable);
}
private void UpdateWarnings()
{
string warningtext = "";
@ -1862,7 +2248,7 @@ public partial class ItemCreationSDK : Form
}
}
private void Reset(bool full = false)
private void Reset(bool full = false, bool editmode = false)
{
if (full)
{
@ -1872,42 +2258,45 @@ public partial class ItemCreationSDK : Form
ItemIcon.Image = null;
EditItemBox.Checked = false;
ReskinBox.Checked = false;
UpdateWarnings();
SetupSDK();
}
UsesHatMeshBox.SelectedItem = "None";
UsesHatTexBox.SelectedItem = "None";
SpecialMeshTypeBox.SelectedItem = "Head";
Option1TextBox.Text = "";
Option2TextBox.Text = "";
XBox.Value = 1;
YBox.Value = 1;
ZBox.Value = 1;
XBox360.Value = 1;
YBox2.Value = 1;
ZBox2.Value = 1;
XBoxOne.Value = 1;
YBox3.Value = 1;
ZBox3.Value = 1;
BevelBox.Value = 0M;
RoundnessBox.Value = 0M;
BulgeBox.Value = 0M;
LODXBox.Value = 1M;
LODYBox.Value = 2M;
rightXBox.Value = 1;
rightYBox.Value = 0;
rightZBox.Value = 0;
upXBox.Value = 0;
upYBox.Value = 1;
upZBox.Value = 0;
forwardXBox.Value = 0;
forwardYBox.Value = 0;
forwardZBox.Value = -1;
transparencyBox.Value = 0;
reflectivenessBox.Value = 0;
partColorID = 194;
partColorLabel.Text = partColorID.ToString();
if (!editmode)
{
UsesHatMeshBox.SelectedItem = "None";
UsesHatTexBox.SelectedItem = "None";
SpecialMeshTypeBox.SelectedItem = "Head";
Option1TextBox.Text = "";
Option2TextBox.Text = "";
XBox.Value = 1;
YBox.Value = 1;
ZBox.Value = 1;
XBox360.Value = 1;
YBox2.Value = 1;
ZBox2.Value = 1;
XBoxOne.Value = 1;
YBox3.Value = 1;
ZBox3.Value = 1;
BevelBox.Value = 0M;
RoundnessBox.Value = 0M;
BulgeBox.Value = 0M;
LODXBox.Value = 1M;
LODYBox.Value = 2M;
rightXBox.Value = 1;
rightYBox.Value = 0;
rightZBox.Value = 0;
upXBox.Value = 0;
upYBox.Value = 1;
upZBox.Value = 0;
forwardXBox.Value = 0;
forwardYBox.Value = 0;
forwardZBox.Value = -1;
transparencyBox.Value = 0;
reflectivenessBox.Value = 0;
partColorID = 194;
partColorLabel.Text = partColorID.ToString();
InitPackageGroup();
}
}
#endregion
}

View File

@ -1,3 +1,22 @@
EDGE Snapshot v24.8786.37407.1
Enhancements:
- Improved the Item SDK in regards to testing items.
- The Item SDK will no longer re-open the Character Customization panel if it's already open.
- The Item SDK will only turn off Item Editing if the category changes, and not when an item is saved.
- If the "Keep Loaded Item Options" box is checked, the Item SDK will keep all item options regardless of if a new item is loaded.
- Added support for the basic package system in the Item SDK.
Fixes:
- Fixed GoldenHair's brick being unlocked.
Items:
- ROBLOXian 2.0 (Extra)
- Blue Checkerboard (Shirt, Pants, T-Shirt)
- Purple Checkerboard (Shirt, Pants, T-Shirt)
- Source 1 Error (HL2 Version, Hat)
- Source 1 Error (P2 Version, Hat)
- Source 2 Error (Hat)
---------------------------------------------------------------------------
EDGE Snapshot v24.8785.40763.1
Enhancements:
- Play Solo now uses its own port (1027)
@ -6,6 +25,9 @@ Enhancements:
Fixes:
- Fixed a crash involving setting certain fields wrong in the Stylish Style.
- Fixed some clothing types not functioning in 2011 clients.
Items:
- Girl Torso (Extra)
---------------------------------------------------------------------------
EDGE Snapshot v23.8783.34531.1
Notes:

View File

@ -16,6 +16,7 @@ if not exist "%gamescriptdir%/2009E" mkdir "%gamescriptdir%/2009E"
if not exist "%gamescriptdir%/2009E-HD" mkdir "%gamescriptdir%/2009E-HD"
if not exist "%gamescriptdir%/2009L" mkdir "%gamescriptdir%/2009L"
if not exist "%gamescriptdir%/2010L" mkdir "%gamescriptdir%/2010L"
if not exist "%gamescriptdir%/2011E" mkdir "%gamescriptdir%/2011E"
if not exist "%gamescriptdir%/2011M" mkdir "%gamescriptdir%/2011M"
if not exist "%gamescriptdir%/2012M" mkdir "%gamescriptdir%/2012M"
@ -31,6 +32,7 @@ XCOPY "%cd%\Novetus\clients\2009E\content\scripts\CSMPFunctions.lua" "%gamescrip
XCOPY "%cd%\Novetus\clients\2009E-HD\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2009E-HD" /y
XCOPY "%cd%\Novetus\clients\2009L\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2009L" /y
XCOPY "%cd%\Novetus\clients\2010L\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2010L" /y
XCOPY "%cd%\Novetus\clients\2011E\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2011E" /y
XCOPY "%cd%\Novetus\clients\2011M\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2011M" /y
XCOPY "%cd%\Novetus\clients\2012M\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2012M" /y
@ -59,6 +61,7 @@ XCOPY "%cd%\Novetus\clients\2009E\content\fonts\libraries.rbxm" "%gamescriptdir%
XCOPY "%cd%\Novetus\clients\2009E-HD\content\fonts\libraries.rbxm" "%gamescriptdir%/2009E-HD" /y
XCOPY "%cd%\Novetus\clients\2009L\content\fonts\libraries.rbxm" "%gamescriptdir%/2009L" /y
XCOPY "%cd%\Novetus\clients\2010L\content\fonts\libraries.rbxm" "%gamescriptdir%/2010L" /y
XCOPY "%cd%\Novetus\clients\2011E\content\fonts\libraries.rbxm" "%gamescriptdir%/2011E" /y
XCOPY "%cd%\Novetus\clients\2011M\content\fonts\libraries.rbxm" "%gamescriptdir%/2011M" /y
XCOPY "%cd%\Novetus\clients\2012M\content\fonts\libraries.rbxm" "%gamescriptdir%/2012M" /y
@ -73,6 +76,7 @@ del /s /q "%tempdir%\GlobalSettings_4_2009E.xml"
del /s /q "%tempdir%\GlobalSettings_4_2009E-HD.xml"
del /s /q "%tempdir%\GlobalSettings_4_2009L.xml"
del /s /q "%tempdir%\GlobalSettings_4_2010L.xml"
del /s /q "%tempdir%\GlobalSettings_4_2011E.xml"
del /s /q "%tempdir%\GlobalSettings_4_2011M.xml"
del /s /q "%tempdir%\GlobalSettings4_2006S.xml"
del /s /q "%tempdir%\GlobalSettings4_2006S-Shaders.xml"
@ -87,6 +91,7 @@ XCOPY "%tempdir%\GlobalSettings_4_2009E_default.xml" "%gamescriptdir%/2009E" /y
XCOPY "%tempdir%\GlobalSettings_4_2009E-HD_default.xml" "%gamescriptdir%/2009E-HD" /y
XCOPY "%tempdir%\GlobalSettings_4_2009L_default.xml" "%gamescriptdir%/2009L" /y
XCOPY "%tempdir%\GlobalSettings_4_2010L_default.xml" "%gamescriptdir%/2010L" /y
XCOPY "%tempdir%\GlobalSettings_4_2011E_default.xml" "%gamescriptdir%/2011E" /y
XCOPY "%tempdir%\GlobalSettings_4_2011M_default.xml" "%gamescriptdir%/2011M" /y
XCOPY "%tempdir%\GlobalSettings4_2006S_default.xml" "%gamescriptdir%/2006S" /y
XCOPY "%tempdir%\GlobalSettings4_2006S-Shaders_default.xml" "%gamescriptdir%/2006S-Shaders" /y

View File

@ -294,35 +294,47 @@ function LoadCharacterNew(playerApp,newChar)
if newItem[1].Name == "Package" then
for _,packageVal in pairs(newItem[1]:GetChildren()) do
if packageVal.Name == "Head" then
newHead = Instance.new("SpecialMesh")
newHead.MeshId = packageVal.Value
newHead.MeshType = 5
newHead.Parent = charparts[1]
if packageVal.Value ~= "" then
newHead = Instance.new("SpecialMesh")
newHead.MeshId = packageVal.Value
newHead.MeshType = 5
newHead.Parent = charparts[1]
end
elseif packageVal.Name == "Torso" then
newTorso = Instance.new("SpecialMesh")
newTorso.MeshId = packageVal.Value
newTorso.MeshType = 5
newTorso.Parent = charparts[2]
if packageVal.Value ~= "" then
newTorso = Instance.new("SpecialMesh")
newTorso.MeshId = packageVal.Value
newTorso.MeshType = 5
newTorso.Parent = charparts[2]
end
elseif packageVal.Name == "Left Arm" then
newLeftArm = Instance.new("SpecialMesh")
newLeftArm.MeshId = packageVal.Value
newLeftArm.MeshType = 5
newLeftArm.Parent = charparts[3]
if packageVal.Value ~= "" then
newLeftArm = Instance.new("SpecialMesh")
newLeftArm.MeshId = packageVal.Value
newLeftArm.MeshType = 5
newLeftArm.Parent = charparts[3]
end
elseif packageVal.Name == "Right Arm" then
newRightArm = Instance.new("SpecialMesh")
newRightArm.MeshId = packageVal.Value
newRightArm.MeshType = 5
newRightArm.Parent = charparts[4]
if packageVal.Value ~= "" then
newRightArm = Instance.new("SpecialMesh")
newRightArm.MeshId = packageVal.Value
newRightArm.MeshType = 5
newRightArm.Parent = charparts[4]
end
elseif packageVal.Name == "Left Leg" then
newLeftLeg = Instance.new("SpecialMesh")
newLeftLeg.MeshId = packageVal.Value
newLeftLeg.MeshType = 5
newLeftLeg.Parent = charparts[5]
if packageVal.Value ~= "" then
newLeftLeg = Instance.new("SpecialMesh")
newLeftLeg.MeshId = packageVal.Value
newLeftLeg.MeshType = 5
newLeftLeg.Parent = charparts[5]
end
elseif packageVal.Name == "Right Leg" then
newRightLeg = Instance.new("SpecialMesh")
newRightLeg.MeshId = packageVal.Value
newRightLeg.MeshType = 5
newRightLeg.Parent = charparts[6]
if packageVal.Value ~= "" then
newRightLeg = Instance.new("SpecialMesh")
newRightLeg.MeshId = packageVal.Value
newRightLeg.MeshType = 5
newRightLeg.Parent = charparts[6]
end
end
packageVal:remove()

View File

@ -65,6 +65,8 @@ function LoadCharacterNew(playerApp,newChar)
PlayerService = game:GetService("Players")
Player = PlayerService:GetPlayerFromCharacter(newChar)
wait(0.65)
local function kick()
KickPlayer(Player, "Modified Client")
@ -287,11 +289,63 @@ function LoadCharacterNew(playerApp,newChar)
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
elseif newItem[1].className == "SpecialMesh" or newItem[1].className == "CylinderMesh" or newItem[1].className == "BlockMesh" then
newWaitForChild(charparts[1],"Mesh"):remove()
newItem[1].Parent = charparts[1]
else
newItem[1].Parent = newChar
if newItem[1].Name == "Package" then
for _,packageVal in pairs(newItem[1]:GetChildren()) do
if packageVal.Name == "Head" then
if packageVal.Value ~= "" then
newHead = Instance.new("SpecialMesh")
newHead.MeshId = packageVal.Value
newHead.MeshType = 5
newHead.Parent = charparts[1]
end
elseif packageVal.Name == "Torso" then
if packageVal.Value ~= "" then
newTorso = Instance.new("SpecialMesh")
newTorso.MeshId = packageVal.Value
newTorso.MeshType = 5
newTorso.Parent = charparts[2]
end
elseif packageVal.Name == "Left Arm" then
if packageVal.Value ~= "" then
newLeftArm = Instance.new("SpecialMesh")
newLeftArm.MeshId = packageVal.Value
newLeftArm.MeshType = 5
newLeftArm.Parent = charparts[3]
end
elseif packageVal.Name == "Right Arm" then
if packageVal.Value ~= "" then
newRightArm = Instance.new("SpecialMesh")
newRightArm.MeshId = packageVal.Value
newRightArm.MeshType = 5
newRightArm.Parent = charparts[4]
end
elseif packageVal.Name == "Left Leg" then
if packageVal.Value ~= "" then
newLeftLeg = Instance.new("SpecialMesh")
newLeftLeg.MeshId = packageVal.Value
newLeftLeg.MeshType = 5
newLeftLeg.Parent = charparts[5]
end
elseif packageVal.Name == "Right Leg" then
if packageVal.Value ~= "" then
newRightLeg = Instance.new("SpecialMesh")
newRightLeg.MeshId = packageVal.Value
newRightLeg.MeshType = 5
newRightLeg.Parent = charparts[6]
end
end
packageVal:remove()
end
newItem[1]:remove()
else
newItem[1].Parent = newChar
end
end
end
end)
@ -794,11 +848,25 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
InitalizeTripcode(Player,Tripcode)
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2011E") end)
dofile("rbxasset://scripts\\cores\\StarterScript.lua")
game:GetService("RunService"):Run()
pcall(function() _G.CSScript_PreInit("Studio", "2011E") end)
dofile("rbxasset://scripts\\cores\\StarterScriptStudio.lua")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
dofile("rbxasset://scripts\\cores\\StarterScript3DView.lua")
game:GetService("RunService"):Run()
game:SetMessage("Loading Player...")
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
@ -813,49 +881,53 @@ function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,
end
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.7)
wait(0.79)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
game:GetService("Visit"):SetUploadUrl("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
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
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character["HealthScript v3.0"]:remove()
plr.Character.RobloxTeam:remove()
plr.Character.Sound:remove()
plr.PlayerGui.HealthGUI:remove()
game.CoreGui.RobloxGui.TopLeftControl:Remove()
game.CoreGui.RobloxGui.BottomLeftControl:Remove()
game.CoreGui.RobloxGui.BottomRightControl:Remove()
game.GuiRoot.RightPalette:Remove()
game.GuiRoot.ChatMenuPanel:Remove()
game.GuiRoot.ScoreHud:Remove()
game.GuiRoot.ChatHud:Remove()
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Watch
local cf = CFrame.new(0, 10, 18) * CFrame.Angles(math.rad(180), 0, 0)
camera.CoordinateFrame = cf;
camera.CameraSubject = target
i = true
local function fixJump(prop)
plr.Character.Torso.Velocity = plr.Character.Torso.Velocity * Vector3.new (1, 0, 1)
if i == true then
plr.Character.Torso.CFrame = plr.Character.Torso.CFrame - Vector3.new(0, 1.8, 0)
i = false
else
i = true
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2011E") end)
dofile("rbxasset://scripts\\cores\\StarterScriptStudio.lua")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
local human = plr.Character.Humanoid
human.WalkSpeed = 0
human.Jumping:connect(fixJump)
game:GetService("Visit"):SetUploadUrl("")
game:ClearMessage()
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView

View File

@ -296,35 +296,47 @@ function LoadCharacterNew(playerApp,newChar)
if newItem[1].Name == "Package" then
for _,packageVal in pairs(newItem[1]:GetChildren()) do
if packageVal.Name == "Head" then
newHead = Instance.new("SpecialMesh")
newHead.MeshId = packageVal.Value
newHead.MeshType = 5
newHead.Parent = charparts[1]
if packageVal.Value ~= "" then
newHead = Instance.new("SpecialMesh")
newHead.MeshId = packageVal.Value
newHead.MeshType = 5
newHead.Parent = charparts[1]
end
elseif packageVal.Name == "Torso" then
newTorso = Instance.new("SpecialMesh")
newTorso.MeshId = packageVal.Value
newTorso.MeshType = 5
newTorso.Parent = charparts[2]
if packageVal.Value ~= "" then
newTorso = Instance.new("SpecialMesh")
newTorso.MeshId = packageVal.Value
newTorso.MeshType = 5
newTorso.Parent = charparts[2]
end
elseif packageVal.Name == "Left Arm" then
newLeftArm = Instance.new("SpecialMesh")
newLeftArm.MeshId = packageVal.Value
newLeftArm.MeshType = 5
newLeftArm.Parent = charparts[3]
if packageVal.Value ~= "" then
newLeftArm = Instance.new("SpecialMesh")
newLeftArm.MeshId = packageVal.Value
newLeftArm.MeshType = 5
newLeftArm.Parent = charparts[3]
end
elseif packageVal.Name == "Right Arm" then
newRightArm = Instance.new("SpecialMesh")
newRightArm.MeshId = packageVal.Value
newRightArm.MeshType = 5
newRightArm.Parent = charparts[4]
if packageVal.Value ~= "" then
newRightArm = Instance.new("SpecialMesh")
newRightArm.MeshId = packageVal.Value
newRightArm.MeshType = 5
newRightArm.Parent = charparts[4]
end
elseif packageVal.Name == "Left Leg" then
newLeftLeg = Instance.new("SpecialMesh")
newLeftLeg.MeshId = packageVal.Value
newLeftLeg.MeshType = 5
newLeftLeg.Parent = charparts[5]
if packageVal.Value ~= "" then
newLeftLeg = Instance.new("SpecialMesh")
newLeftLeg.MeshId = packageVal.Value
newLeftLeg.MeshType = 5
newLeftLeg.Parent = charparts[5]
end
elseif packageVal.Name == "Right Leg" then
newRightLeg = Instance.new("SpecialMesh")
newRightLeg.MeshId = packageVal.Value
newRightLeg.MeshType = 5
newRightLeg.Parent = charparts[6]
if packageVal.Value ~= "" then
newRightLeg = Instance.new("SpecialMesh")
newRightLeg.MeshId = packageVal.Value
newRightLeg.MeshType = 5
newRightLeg.Parent = charparts[6]
end
end
packageVal:remove()

View File

@ -297,35 +297,47 @@ function LoadCharacterNew(playerApp,newChar)
if newItem[1].Name == "Package" then
for _,packageVal in pairs(newItem[1]:GetChildren()) do
if packageVal.Name == "Head" then
newHead = Instance.new("SpecialMesh")
newHead.MeshId = packageVal.Value
newHead.MeshType = 5
newHead.Parent = charparts[1]
if packageVal.Value ~= "" then
newHead = Instance.new("SpecialMesh")
newHead.MeshId = packageVal.Value
newHead.MeshType = 5
newHead.Parent = charparts[1]
end
elseif packageVal.Name == "Torso" then
newTorso = Instance.new("SpecialMesh")
newTorso.MeshId = packageVal.Value
newTorso.MeshType = 5
newTorso.Parent = charparts[2]
if packageVal.Value ~= "" then
newTorso = Instance.new("SpecialMesh")
newTorso.MeshId = packageVal.Value
newTorso.MeshType = 5
newTorso.Parent = charparts[2]
end
elseif packageVal.Name == "Left Arm" then
newLeftArm = Instance.new("SpecialMesh")
newLeftArm.MeshId = packageVal.Value
newLeftArm.MeshType = 5
newLeftArm.Parent = charparts[3]
if packageVal.Value ~= "" then
newLeftArm = Instance.new("SpecialMesh")
newLeftArm.MeshId = packageVal.Value
newLeftArm.MeshType = 5
newLeftArm.Parent = charparts[3]
end
elseif packageVal.Name == "Right Arm" then
newRightArm = Instance.new("SpecialMesh")
newRightArm.MeshId = packageVal.Value
newRightArm.MeshType = 5
newRightArm.Parent = charparts[4]
if packageVal.Value ~= "" then
newRightArm = Instance.new("SpecialMesh")
newRightArm.MeshId = packageVal.Value
newRightArm.MeshType = 5
newRightArm.Parent = charparts[4]
end
elseif packageVal.Name == "Left Leg" then
newLeftLeg = Instance.new("SpecialMesh")
newLeftLeg.MeshId = packageVal.Value
newLeftLeg.MeshType = 5
newLeftLeg.Parent = charparts[5]
if packageVal.Value ~= "" then
newLeftLeg = Instance.new("SpecialMesh")
newLeftLeg.MeshId = packageVal.Value
newLeftLeg.MeshType = 5
newLeftLeg.Parent = charparts[5]
end
elseif packageVal.Name == "Right Leg" then
newRightLeg = Instance.new("SpecialMesh")
newRightLeg.MeshId = packageVal.Value
newRightLeg.MeshType = 5
newRightLeg.Parent = charparts[6]
if packageVal.Value ~= "" then
newRightLeg = Instance.new("SpecialMesh")
newRightLeg.MeshId = packageVal.Value
newRightLeg.MeshType = 5
newRightLeg.Parent = charparts[6]
end
end
packageVal:remove()

View File

@ -10,5 +10,5 @@ ExtendedVersionNumber=True
//ExtendedVersionTemplate=%version% Snapshot v24.%build%.%revision%.%extended-revision%
ExtendedVersionTemplate=EDGE Snapshot v24.%build%.%revision%.%extended-revision%
ExtendedVersionRevision=1
InitialBootup=False
InitialBootup=True
IsLite=False