customizable offline clothing

This commit is contained in:
Bitl 2020-09-28 15:12:38 -07:00
parent 8d9da1096e
commit 906c0ca542
20 changed files with 1860 additions and 1836 deletions

26
ContentProviders.xml Normal file
View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Novetus reads through this file in order to grab content providers for the Avatar Customization. -->
<ContentProviders>
<Providers>
<Provider>
<Name>Roblox (Epicgamers Redirect)</Name>
<URL>http://epicgamers.xyz/asset/?id=</URL>
<Icon>roblox.png</Icon>
</Provider>
<Provider>
<Name>Roblox (Epicgamers Redirect Shortened)</Name>
<URL>http://epiccc.xyz/asset/?id=</URL>
<Icon>roblox.png</Icon>
</Provider>
<Provider>
<Name>Finobe</Name>
<URL>http://finobe.com/asset/?id=</URL>
<Icon>finobe.png</Icon>
</Provider>
<Provider>
<Name>Imgur</Name>
<URL>http://i.imgur.com/</URL>
<Icon>imgur.png</Icon>
</Provider>
</Providers>
</ContentProviders>

View File

@ -42,6 +42,11 @@ using System.Windows.Forms;
}
public static void ChangeItem(string item, string itemdir, string defaultitem, PictureBox outputImage, TextBox outputString, ListBox box, bool initial, bool hatsinextra = false)
{
ChangeItem(item, itemdir, defaultitem, outputImage, outputString, box, initial, null, hatsinextra);
}
public static void ChangeItem(string item, string itemdir, string defaultitem, PictureBox outputImage, TextBox outputString, ListBox box, bool initial, Settings.Provider provider, bool hatsinextra = false)
{
if (Directory.Exists(itemdir))
{
@ -93,9 +98,9 @@ using System.Windows.Forms;
outputString.Text = item;
}
if (IsItemURL(item))
if (provider != null && IsItemURL(item))
{
outputImage.Image = GetItemURLImage(item);
outputImage.Image = GetItemURLImageFromProvider(provider);
}
else
{
@ -105,28 +110,18 @@ using System.Windows.Forms;
public static bool IsItemURL(string item)
{
switch (item)
{
case string finobe when finobe.Contains("http://finobe.com/asset/?id="):
return true;
case string roblox when roblox.Contains("http://epicgamers.xyz/asset/?id="):
return true;
default:
return false;
}
if (item.Contains("http://"))
return true;
return false;
}
public static Image GetItemURLImage(string item)
public static Image GetItemURLImageFromProvider(Settings.Provider provider)
{
switch (item)
{
case string finobe when finobe.Contains("http://finobe.com/asset/?id="):
return LoadImage(GlobalPaths.CustomPlayerDir + @"\\finobe.png", GlobalPaths.extradir + @"\\NoExtra.png");
case string roblox when roblox.Contains("http://epicgamers.xyz/asset/?id="):
return LoadImage(GlobalPaths.CustomPlayerDir + @"\\roblox.png", GlobalPaths.extradir + @"\\NoExtra.png");
default:
return LoadImage(GlobalPaths.extradir + @"\\NoExtra.png");
}
if (provider != null)
return LoadImage(GlobalPaths.CustomPlayerDir + @"\\" + provider.Icon, GlobalPaths.extradir + @"\\NoExtra.png");
return LoadImage(GlobalPaths.extradir + @"\\NoExtra.png");
}
//we launch the 3dview seperately from normal clients.

View File

@ -1200,9 +1200,6 @@ partial class CharacterCustomizationCompact
//
this.TShirtsTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.TShirtsTypeBox.FormattingEnabled = true;
this.TShirtsTypeBox.Items.AddRange(new object[] {
"Roblox",
"Finobe"});
this.TShirtsTypeBox.Location = new System.Drawing.Point(6, 162);
this.TShirtsTypeBox.Name = "TShirtsTypeBox";
this.TShirtsTypeBox.Size = new System.Drawing.Size(219, 21);
@ -1296,9 +1293,6 @@ partial class CharacterCustomizationCompact
//
this.ShirtsTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ShirtsTypeBox.FormattingEnabled = true;
this.ShirtsTypeBox.Items.AddRange(new object[] {
"Roblox",
"Finobe"});
this.ShirtsTypeBox.Location = new System.Drawing.Point(6, 162);
this.ShirtsTypeBox.Name = "ShirtsTypeBox";
this.ShirtsTypeBox.Size = new System.Drawing.Size(219, 21);
@ -1392,9 +1386,6 @@ partial class CharacterCustomizationCompact
//
this.PantsTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.PantsTypeBox.FormattingEnabled = true;
this.PantsTypeBox.Items.AddRange(new object[] {
"Roblox",
"Finobe"});
this.PantsTypeBox.Location = new System.Drawing.Point(6, 162);
this.PantsTypeBox.Name = "PantsTypeBox";
this.PantsTypeBox.Size = new System.Drawing.Size(219, 21);
@ -1723,9 +1714,6 @@ partial class CharacterCustomizationCompact
//
this.FaceTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.FaceTypeBox.FormattingEnabled = true;
this.FaceTypeBox.Items.AddRange(new object[] {
"Roblox",
"Finobe"});
this.FaceTypeBox.Location = new System.Drawing.Point(6, 162);
this.FaceTypeBox.Name = "FaceTypeBox";
this.FaceTypeBox.Size = new System.Drawing.Size(219, 21);

View File

@ -5,6 +5,7 @@ using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Windows.Forms;
#endregion
@ -13,11 +14,12 @@ public partial class CharacterCustomizationCompact : Form
{
#region Private Variables
private string SelectedPart = "Head";
private string Custom_T_Shirt_URL = "http://epicgamers.xyz/asset/?id=";
private string Custom_Shirt_URL = "http://epicgamers.xyz/asset/?id=";
private string Custom_Pants_URL = "http://epicgamers.xyz/asset/?id=";
private string Custom_Face_URL = "http://epicgamers.xyz/asset/?id=";
private string Custom_T_Shirt_URL = "";
private string Custom_Shirt_URL = "";
private string Custom_Pants_URL = "";
private string Custom_Face_URL = "";
private List<VarStorage.PartColors> PartColorList;
private Settings.Provider[] contentProviders;
#endregion
#region Constructor
@ -107,6 +109,60 @@ public partial class CharacterCustomizationCompact : Form
#region Form Events
void CharacterCustomizationLoad(object sender, EventArgs e)
{
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
contentProviders = Settings.OnlineClothing.GetContentProviders();
for (int i = 0; i < contentProviders.Length; i++)
{
FaceTypeBox.Items.Add(contentProviders[i].Name);
TShirtsTypeBox.Items.Add(contentProviders[i].Name);
ShirtsTypeBox.Items.Add(contentProviders[i].Name);
PantsTypeBox.Items.Add(contentProviders[i].Name);
}
//face
if (GlobalVars.UserCustomization.Face.Contains("http://"))
{
Settings.Provider faceProvider = Settings.OnlineClothing.FindContentProviderByURL(contentProviders, GlobalVars.UserCustomization.Face);
FaceIDBox.Text = GlobalVars.UserCustomization.Face.Replace(faceProvider.URL, "");
FaceTypeBox.SelectedItem = faceProvider.Name;
}
//clothing
if (GlobalVars.UserCustomization.TShirt.Contains("http://"))
{
Settings.Provider tShirtProvider = Settings.OnlineClothing.FindContentProviderByURL(contentProviders, GlobalVars.UserCustomization.TShirt);
TShirtsIDBox.Text = GlobalVars.UserCustomization.TShirt.Replace(tShirtProvider.URL, "");
TShirtsTypeBox.SelectedItem = tShirtProvider.Name;
}
if (GlobalVars.UserCustomization.Shirt.Contains("http://"))
{
Settings.Provider shirtProvider = Settings.OnlineClothing.FindContentProviderByURL(contentProviders, GlobalVars.UserCustomization.Shirt);
ShirtsIDBox.Text = GlobalVars.UserCustomization.Shirt.Replace(shirtProvider.URL, "");
ShirtsTypeBox.SelectedItem = shirtProvider.Name;
}
if (GlobalVars.UserCustomization.Pants.Contains("http://"))
{
Settings.Provider pantsProvider = Settings.OnlineClothing.FindContentProviderByURL(contentProviders, GlobalVars.UserCustomization.Pants);
PantsIDBox.Text = GlobalVars.UserCustomization.Pants.Replace(pantsProvider.URL, "");
PantsTypeBox.SelectedItem = pantsProvider.Name;
}
}
else
{
FaceTypeBox.Enabled = false;
TShirtsTypeBox.Enabled = false;
ShirtsTypeBox.Enabled = false;
PantsTypeBox.Enabled = false;
FaceIDBox.Enabled = false;
TShirtsIDBox.Enabled = false;
ShirtsIDBox.Enabled = false;
PantsIDBox.Enabled = false;
}
//body
label2.Text = SelectedPart;
button1.BackColor = ConvertStringtoColor(GlobalVars.UserCustomization.HeadColorString);
@ -124,88 +180,6 @@ public partial class CharacterCustomizationCompact : Form
checkBox1.Checked = GlobalVars.UserCustomization.ShowHatsInExtra;
//face
if (GlobalVars.UserCustomization.Face.Contains("http://"))
{
string FaceWebSource = "Roblox";
switch (GlobalVars.UserCustomization.Face)
{
case string finobe when finobe.Contains("http://finobe.com/asset/?id="):
FaceIDBox.Text = GlobalVars.UserCustomization.Face.Replace("http://finobe.com/asset/?id=", "");
FaceWebSource = "Finobe";
break;
case string roblox when roblox.Contains("http://epicgamers.xyz/asset/?id="):
default:
FaceIDBox.Text = GlobalVars.UserCustomization.Face.Replace("http://epicgamers.xyz/asset/?id=", "");
FaceWebSource = "Roblox";
break;
}
FaceTypeBox.SelectedItem = FaceWebSource;
}
//clothing
if (GlobalVars.UserCustomization.TShirt.Contains("http://"))
{
string TShirtWebSource = "Roblox";
switch (GlobalVars.UserCustomization.TShirt)
{
case string finobe when finobe.Contains("http://finobe.com/asset/?id="):
TShirtsIDBox.Text = GlobalVars.UserCustomization.TShirt.Replace("http://finobe.com/asset/?id=", "");
TShirtWebSource = "Finobe";
break;
case string roblox when roblox.Contains("http://epicgamers.xyz/asset/?id="):
default:
TShirtsIDBox.Text = GlobalVars.UserCustomization.TShirt.Replace("http://epicgamers.xyz/asset/?id=", "");
TShirtWebSource = "Roblox";
break;
}
TShirtsTypeBox.SelectedItem = TShirtWebSource;
}
if (GlobalVars.UserCustomization.Shirt.Contains("http://"))
{
string ShirtWebSource = "Roblox";
switch (GlobalVars.UserCustomization.Shirt)
{
case string finobe when finobe.Contains("http://finobe.com/asset/?id="):
ShirtsIDBox.Text = GlobalVars.UserCustomization.Shirt.Replace("http://finobe.com/asset/?id=", "");
ShirtWebSource = "Finobe";
break;
case string roblox when roblox.Contains("http://epicgamers.xyz/asset/?id="):
default:
ShirtsIDBox.Text = GlobalVars.UserCustomization.Shirt.Replace("http://epicgamers.xyz/asset/?id=", "");
ShirtWebSource = "Roblox";
break;
}
ShirtsTypeBox.SelectedItem = ShirtWebSource;
}
if (GlobalVars.UserCustomization.Pants.Contains("http://"))
{
string PantsWebSource = "Roblox";
switch (GlobalVars.UserCustomization.Pants)
{
case string finobe when finobe.Contains("http://finobe.com/asset/?id="):
PantsIDBox.Text = GlobalVars.UserCustomization.Pants.Replace("http://finobe.com/asset/?id=", "");
PantsWebSource = "Finobe";
break;
case string roblox when roblox.Contains("http://epicgamers.xyz/asset/?id="):
default:
PantsIDBox.Text = GlobalVars.UserCustomization.Pants.Replace("http://epicgamers.xyz/asset/?id=", "");
PantsWebSource = "Roblox";
break;
}
PantsTypeBox.SelectedItem = PantsWebSource;
}
//discord
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InCustomization, GlobalVars.UserConfiguration.Map);
@ -304,7 +278,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox4,
textBox6,
listBox4,
true
true,
FaceTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, FaceTypeBox.SelectedItem.ToString()) : null
);
break;
@ -327,7 +302,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox5,
textBox7,
listBox5,
true
true,
TShirtsTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, TShirtsTypeBox.SelectedItem.ToString()) : null
);
break;
@ -350,7 +326,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox6,
textBox8,
listBox6,
true
true,
ShirtsTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, ShirtsTypeBox.SelectedItem.ToString()) : null
);
break;
@ -373,7 +350,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox7,
textBox9,
listBox7,
true
true,
PantsTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, PantsTypeBox.SelectedItem.ToString()) : null
);
break;
@ -551,7 +529,10 @@ public partial class CharacterCustomizationCompact : Form
if (!FaceIDBox.Focused && !FaceTypeBox.Focused)
{
FaceIDBox.Text = "";
FaceTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
FaceTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
}
listBox4.SelectedItem = previtem;
GlobalVars.UserCustomization.Face = previtem;
@ -563,7 +544,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox4,
textBox6,
listBox4,
false
false,
FaceTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, FaceTypeBox.SelectedItem.ToString()) : null
);
}
}
@ -573,7 +555,10 @@ public partial class CharacterCustomizationCompact : Form
if (Directory.Exists(GlobalPaths.facedir))
{
FaceIDBox.Text = "";
FaceTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
FaceTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
Random random = new Random();
int randomFace1 = random.Next(listBox4.Items.Count);
listBox4.SelectedItem = listBox4.Items[randomFace1];
@ -585,7 +570,10 @@ public partial class CharacterCustomizationCompact : Form
if (Directory.Exists(GlobalPaths.facedir))
{
FaceIDBox.Text = "";
FaceTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
FaceTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
listBox4.SelectedItem = "DefaultFace.rbxm";
}
}
@ -611,20 +599,19 @@ public partial class CharacterCustomizationCompact : Form
pictureBox4,
textBox6,
listBox4,
false
false,
FaceTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, FaceTypeBox.SelectedItem.ToString()) : null
);
}
private void FaceTypeBox_SelectedIndexChanged(object sender, EventArgs e)
{
switch (FaceTypeBox.SelectedIndex)
Settings.Provider faceProvider = null;
if (FaceTypeBox.SelectedItem != null)
{
case 1:
Custom_Face_URL = "http://finobe.com/asset/?id=";
break;
default:
Custom_Face_URL = "http://epicgamers.xyz/asset/?id=";
break;
faceProvider = Settings.OnlineClothing.FindContentProviderByName(contentProviders, FaceTypeBox.SelectedItem.ToString());
Custom_Face_URL = faceProvider.URL;
}
if (!string.IsNullOrWhiteSpace(FaceIDBox.Text))
@ -637,7 +624,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox4,
textBox6,
listBox4,
false
false,
faceProvider
);
}
}
@ -654,7 +642,10 @@ public partial class CharacterCustomizationCompact : Form
if (!TShirtsIDBox.Focused && !TShirtsTypeBox.Focused)
{
TShirtsIDBox.Text = "";
TShirtsTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
TShirtsTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
}
listBox5.SelectedItem = previtem;
GlobalVars.UserCustomization.TShirt = previtem;
@ -666,7 +657,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox5,
textBox7,
listBox5,
false
false,
TShirtsTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, TShirtsTypeBox.SelectedItem.ToString()) : null
);
}
}
@ -676,7 +668,10 @@ public partial class CharacterCustomizationCompact : Form
if (Directory.Exists(GlobalPaths.tshirtdir))
{
TShirtsIDBox.Text = "";
TShirtsTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
TShirtsTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
Random random = new Random();
int randomTShirt1 = random.Next(listBox5.Items.Count);
listBox5.SelectedItem = listBox5.Items[randomTShirt1];
@ -688,7 +683,10 @@ public partial class CharacterCustomizationCompact : Form
if (Directory.Exists(GlobalPaths.tshirtdir))
{
TShirtsIDBox.Text = "";
TShirtsTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
TShirtsTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
listBox5.SelectedItem = "NoTShirt.rbxm";
}
}
@ -714,20 +712,19 @@ public partial class CharacterCustomizationCompact : Form
pictureBox5,
textBox7,
listBox5,
false
false,
TShirtsTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, TShirtsTypeBox.SelectedItem.ToString()) : null
);
}
private void TShirtsTypeBox_SelectedIndexChanged(object sender, EventArgs e)
{
switch (TShirtsTypeBox.SelectedIndex)
Settings.Provider tShirtProvider = null;
if (TShirtsTypeBox.SelectedItem != null)
{
case 1:
Custom_T_Shirt_URL = "http://finobe.com/asset/?id=";
break;
default:
Custom_T_Shirt_URL = "http://epicgamers.xyz/asset/?id=";
break;
tShirtProvider = Settings.OnlineClothing.FindContentProviderByName(contentProviders, TShirtsTypeBox.SelectedItem.ToString());
Custom_T_Shirt_URL = tShirtProvider.URL;
}
if (!string.IsNullOrWhiteSpace(TShirtsIDBox.Text))
@ -740,7 +737,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox5,
textBox7,
listBox5,
false
false,
tShirtProvider
);
}
}
@ -756,7 +754,10 @@ public partial class CharacterCustomizationCompact : Form
if (!ShirtsIDBox.Focused && !ShirtsTypeBox.Focused)
{
ShirtsIDBox.Text = "";
ShirtsTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
ShirtsTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
}
listBox6.SelectedItem = previtem;
GlobalVars.UserCustomization.Shirt = previtem;
@ -768,7 +769,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox6,
textBox8,
listBox6,
false
false,
ShirtsTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, ShirtsTypeBox.SelectedItem.ToString()) : null
);
}
}
@ -778,7 +780,10 @@ public partial class CharacterCustomizationCompact : Form
if (Directory.Exists(GlobalPaths.shirtdir))
{
ShirtsIDBox.Text = "";
ShirtsTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
ShirtsTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
Random random = new Random();
int randomShirt1 = random.Next(listBox6.Items.Count);
listBox6.SelectedItem = listBox6.Items[randomShirt1];
@ -790,7 +795,10 @@ public partial class CharacterCustomizationCompact : Form
if (Directory.Exists(GlobalPaths.shirtdir))
{
ShirtsIDBox.Text = "";
ShirtsTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
ShirtsTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
listBox6.SelectedItem = "NoShirt.rbxm";
}
}
@ -816,20 +824,19 @@ public partial class CharacterCustomizationCompact : Form
pictureBox6,
textBox8,
listBox6,
false
false,
ShirtsTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, ShirtsTypeBox.SelectedItem.ToString()) : null
);
}
private void ShirtsTypeBox_SelectedIndexChanged(object sender, EventArgs e)
{
switch (ShirtsTypeBox.SelectedIndex)
Settings.Provider shirtProvider = null;
if (ShirtsTypeBox.SelectedItem != null)
{
case 1:
Custom_Shirt_URL = "http://finobe.com/asset/?id=";
break;
default:
Custom_Shirt_URL = "http://epicgamers.xyz/asset/?id=";
break;
shirtProvider = Settings.OnlineClothing.FindContentProviderByName(contentProviders, ShirtsTypeBox.SelectedItem.ToString());
Custom_Shirt_URL = shirtProvider.URL;
}
if (!string.IsNullOrWhiteSpace(ShirtsIDBox.Text))
@ -842,7 +849,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox6,
textBox8,
listBox6,
false
false,
shirtProvider
);
}
}
@ -858,7 +866,10 @@ public partial class CharacterCustomizationCompact : Form
if (!PantsIDBox.Focused && !PantsTypeBox.Focused)
{
PantsIDBox.Text = "";
PantsTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
PantsTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
}
listBox7.SelectedItem = previtem;
GlobalVars.UserCustomization.Pants = previtem;
@ -870,7 +881,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox7,
textBox9,
listBox7,
false
false,
PantsTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, PantsTypeBox.SelectedItem.ToString()) : null
);
}
}
@ -880,7 +892,10 @@ public partial class CharacterCustomizationCompact : Form
if (Directory.Exists(GlobalPaths.pantsdir))
{
PantsIDBox.Text = "";
PantsTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
PantsTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
Random random = new Random();
int randomPants1 = random.Next(listBox7.Items.Count);
listBox7.SelectedItem = listBox7.Items[randomPants1];
@ -892,7 +907,10 @@ public partial class CharacterCustomizationCompact : Form
if (Directory.Exists(GlobalPaths.pantsdir))
{
PantsIDBox.Text = "";
PantsTypeBox.SelectedItem = "Roblox";
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
PantsTypeBox.SelectedItem = contentProviders.FirstOrDefault().Name;
}
listBox7.SelectedItem = "NoPants.rbxm";
}
}
@ -918,20 +936,19 @@ public partial class CharacterCustomizationCompact : Form
pictureBox7,
textBox9,
listBox7,
false
false,
PantsTypeBox.SelectedItem != null ? Settings.OnlineClothing.FindContentProviderByName(contentProviders, PantsTypeBox.SelectedItem.ToString()) : null
);
}
private void PantsTypeBox_SelectedIndexChanged(object sender, EventArgs e)
{
switch (PantsTypeBox.SelectedIndex)
Settings.Provider pantsProvider = null;
if (PantsTypeBox.SelectedItem != null)
{
case 1:
Custom_Pants_URL = "http://finobe.com/asset/?id=";
break;
default:
Custom_Pants_URL = "http://epicgamers.xyz/asset/?id=";
break;
pantsProvider = Settings.OnlineClothing.FindContentProviderByName(contentProviders, PantsTypeBox.SelectedItem.ToString());
Custom_Pants_URL = pantsProvider.URL;
}
if (!string.IsNullOrWhiteSpace(PantsIDBox.Text))
@ -944,7 +961,8 @@ public partial class CharacterCustomizationCompact : Form
pictureBox7,
textBox9,
listBox7,
false
false,
pantsProvider
);
}
}

View File

@ -1382,9 +1382,6 @@ partial class CharacterCustomizationExtended
//
this.TShirtsTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.TShirtsTypeBox.FormattingEnabled = true;
this.TShirtsTypeBox.Items.AddRange(new object[] {
"Roblox",
"Finobe"});
this.TShirtsTypeBox.Location = new System.Drawing.Point(3, 221);
this.TShirtsTypeBox.Name = "TShirtsTypeBox";
this.TShirtsTypeBox.Size = new System.Drawing.Size(253, 21);
@ -1478,9 +1475,6 @@ partial class CharacterCustomizationExtended
//
this.ShirtsTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ShirtsTypeBox.FormattingEnabled = true;
this.ShirtsTypeBox.Items.AddRange(new object[] {
"Roblox",
"Finobe"});
this.ShirtsTypeBox.Location = new System.Drawing.Point(3, 221);
this.ShirtsTypeBox.Name = "ShirtsTypeBox";
this.ShirtsTypeBox.Size = new System.Drawing.Size(253, 21);
@ -1574,9 +1568,6 @@ partial class CharacterCustomizationExtended
//
this.PantsTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.PantsTypeBox.FormattingEnabled = true;
this.PantsTypeBox.Items.AddRange(new object[] {
"Roblox",
"Finobe"});
this.PantsTypeBox.Location = new System.Drawing.Point(3, 221);
this.PantsTypeBox.Name = "PantsTypeBox";
this.PantsTypeBox.Size = new System.Drawing.Size(253, 21);
@ -1947,9 +1938,6 @@ partial class CharacterCustomizationExtended
//
this.FaceTypeBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.FaceTypeBox.FormattingEnabled = true;
this.FaceTypeBox.Items.AddRange(new object[] {
"Roblox",
"Finobe"});
this.FaceTypeBox.Location = new System.Drawing.Point(3, 221);
this.FaceTypeBox.Name = "FaceTypeBox";
this.FaceTypeBox.Size = new System.Drawing.Size(253, 21);

View File

@ -1,6 +1,8 @@
#region Settings
using System;
using System.IO;
using System.Linq;
using System.Xml.Serialization;
public class Settings
{
@ -239,5 +241,66 @@ public class Settings
}
}
#endregion
#region Content Provider Options
public class Provider
{
public string Name;
public string URL;
public string Icon;
}
[XmlRoot("ContentProviders")]
public class ContentProviders
{
[XmlArray("Providers")]
public Provider[] Providers;
}
public class OnlineClothing
{
public static Provider[] GetContentProviders()
{
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
XmlSerializer serializer = new XmlSerializer(typeof(ContentProviders));
FileStream fs = new FileStream(GlobalPaths.ConfigDir + "\\ContentProviders.xml", FileMode.Open);
ContentProviders providers;
providers = (ContentProviders)serializer.Deserialize(fs);
return providers.Providers;
}
else
{
return null;
}
}
public static Provider FindContentProviderByName(Provider[] providers, string query)
{
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
return providers.SingleOrDefault(item => query.Contains(item.Name));
}
else
{
return null;
}
}
public static Provider FindContentProviderByURL(Provider[] providers, string query)
{
if (File.Exists(GlobalPaths.ConfigDir + "\\ContentProviders.xml"))
{
return providers.SingleOrDefault(item => query.Contains(item.URL));
}
else
{
return null;
}
}
}
#endregion
}
#endregion

View File

@ -9,6 +9,7 @@ using System.ComponentModel;
using System.Reflection;
using Mono.Nat;
using System.Globalization;
using System.Linq;
#endregion
namespace NovetusLauncher

View File

@ -56,7 +56,11 @@ partial class ClientinfoEditor
this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toDirectoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toClientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveAsTextFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.textToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.iNIToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tagsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.clientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -149,8 +153,6 @@ partial class ClientinfoEditor
this.label9 = new System.Windows.Forms.Label();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label10 = new System.Windows.Forms.Label();
this.textToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.iNIToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
@ -330,10 +332,26 @@ partial class ClientinfoEditor
//
// saveToolStripMenuItem
//
this.saveToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toDirectoryToolStripMenuItem,
this.toClientToolStripMenuItem});
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveToolStripMenuItem.Text = "Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItemClick);
//
// toDirectoryToolStripMenuItem
//
this.toDirectoryToolStripMenuItem.Name = "toDirectoryToolStripMenuItem";
this.toDirectoryToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
this.toDirectoryToolStripMenuItem.Text = "To client directory...";
this.toDirectoryToolStripMenuItem.Click += new System.EventHandler(this.SaveToClientToolStripMenuItemClick);
//
// toClientToolStripMenuItem
//
this.toClientToolStripMenuItem.Name = "toClientToolStripMenuItem";
this.toClientToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
this.toClientToolStripMenuItem.Text = "To separate directory...";
this.toClientToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItemClick);
//
// saveAsTextFileToolStripMenuItem
//
@ -344,6 +362,20 @@ partial class ClientinfoEditor
this.saveAsTextFileToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveAsTextFileToolStripMenuItem.Text = "Save As";
//
// textToolStripMenuItem
//
this.textToolStripMenuItem.Name = "textToolStripMenuItem";
this.textToolStripMenuItem.Size = new System.Drawing.Size(95, 22);
this.textToolStripMenuItem.Text = "Text";
this.textToolStripMenuItem.Click += new System.EventHandler(this.saveAsTextFileToolStripMenuItem_Click);
//
// iNIToolStripMenuItem
//
this.iNIToolStripMenuItem.Name = "iNIToolStripMenuItem";
this.iNIToolStripMenuItem.Size = new System.Drawing.Size(95, 22);
this.iNIToolStripMenuItem.Text = "INI";
this.iNIToolStripMenuItem.Click += new System.EventHandler(this.saveAsINIFileToolStripMenuItem_Click);
//
// addToolStripMenuItem
//
this.addToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -1110,20 +1142,6 @@ partial class ClientinfoEditor
this.label10.TabIndex = 33;
this.label10.Text = "When applying the settings:";
//
// textToolStripMenuItem
//
this.textToolStripMenuItem.Name = "textToolStripMenuItem";
this.textToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.textToolStripMenuItem.Text = "Text";
this.textToolStripMenuItem.Click += new System.EventHandler(this.saveAsTextFileToolStripMenuItem_Click);
//
// iNIToolStripMenuItem
//
this.iNIToolStripMenuItem.Name = "iNIToolStripMenuItem";
this.iNIToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.iNIToolStripMenuItem.Text = "INI";
this.iNIToolStripMenuItem.Click += new System.EventHandler(this.saveAsINIFileToolStripMenuItem_Click);
//
// ClientinfoEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -1281,4 +1299,6 @@ partial class ClientinfoEditor
private System.Windows.Forms.Label label10;
private System.Windows.Forms.ToolStripMenuItem textToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem iNIToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toDirectoryToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toClientToolStripMenuItem;
}

View File

@ -338,6 +338,8 @@ public partial class ClientinfoEditor : Form
};
File.WriteAllText(sfd.FileName, SecurityFuncs.Base64Encode(string.Join("|", lines)));
SelectedClientInfoPath = Path.GetDirectoryName(sfd.FileName);
MessageBox.Show(sfd.FileName + " saved!", "Novetus Launcher - Novetus Client SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
@ -346,6 +348,38 @@ public partial class ClientinfoEditor : Form
textBox3.BackColor = System.Drawing.SystemColors.Control;
}
void SaveToClientToolStripMenuItemClick(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(SelectedClientInfoPath))
{
string[] lines = {
SecurityFuncs.Base64Encode(SelectedClientInfo.UsesPlayerName.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.UsesID.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.Warning.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.LegacyMode.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.ClientMD5.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.ScriptMD5.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.Description.ToString()),
SecurityFuncs.Base64Encode(Locked.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.Fix2007.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.AlreadyHasSecurity.ToString()),
SecurityFuncs.Base64Encode(Settings.GraphicsOptions.GetIntForClientLoadOptions(SelectedClientInfo.ClientLoadOptions).ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.CommandLineArgs.ToString())
};
File.WriteAllText(SelectedClientInfoPath + "\\clientinfo.nov", SecurityFuncs.Base64Encode(string.Join("|", lines)));
label9.Text = "v2 (v" + GlobalVars.ProgramInformation.Version + ")";
textBox2.BackColor = System.Drawing.SystemColors.Control;
textBox3.BackColor = System.Drawing.SystemColors.Control;
MessageBox.Show(SelectedClientInfoPath + "\\clientinfo.nov saved!", "Novetus Launcher - Novetus Client SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("You must save the into a seperate directory with a client in it, generate the IDs, then use this option.", "Novetus Launcher - Error when saving to client.", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void saveAsTextFileToolStripMenuItem_Click(object sender, EventArgs e)
{
using (var sfd = new SaveFileDialog())

View File

@ -25,4 +25,5 @@ XCOPY Novetus\clients\2009L\content\scripts\CSMPFunctions.lua %basedir%/2009L
XCOPY Novetus\clients\2010L\content\scripts\CSMPFunctions.lua %basedir%/2010L
XCOPY Novetus\clients\2011E\content\scripts\CSMPFunctions.lua %basedir%/2011E
XCOPY Novetus\clients\2011M\content\scripts\CSMPFunctions.lua %basedir%/2011M
XCOPY Novetus\bin\preview\content\scripts\CSView.lua %basedir%/3DView
XCOPY Novetus\bin\preview\content\scripts\CSView.lua %basedir%/3DView
XCOPY Novetus\config\ContentProviders.xml %CD%

View File

@ -83,11 +83,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (newVal.Name == "T-Shirt") then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar

View File

@ -83,11 +83,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (newVal.Name == "T-Shirt") then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar

View File

@ -84,11 +84,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 3) then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
@ -106,11 +102,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 4) then
pcall(function()
local newShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
@ -128,11 +120,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 5) then
pcall(function()
local newPants = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar

View File

@ -84,11 +84,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 3) then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
@ -106,11 +102,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 4) then
pcall(function()
local newShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
@ -128,11 +120,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 5) then
pcall(function()
local newPants = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
@ -150,13 +138,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 6) then
pcall(function()
local newFace = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value
newFace.Face = "Front"
newFace.Parent = charparts[1]
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value

View File

@ -88,11 +88,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 3) then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
@ -110,11 +106,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 4) then
pcall(function()
local newShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
@ -132,11 +124,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 5) then
pcall(function()
local newPants = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
@ -154,13 +142,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 6) then
pcall(function()
local newFace = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value
newFace.Face = "Front"
newFace.Parent = charparts[1]
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value

View File

@ -88,11 +88,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 3) then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
@ -110,11 +106,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 4) then
pcall(function()
local newShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
@ -132,11 +124,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 5) then
pcall(function()
local newPants = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
@ -154,13 +142,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 6) then
pcall(function()
local newFace = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value
newFace.Face = "Front"
newFace.Parent = charparts[1]
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value

View File

@ -105,11 +105,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 3) then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
@ -127,11 +123,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 4) then
pcall(function()
local newShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
@ -149,11 +141,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 5) then
pcall(function()
local newPants = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
@ -171,13 +159,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 6) then
pcall(function()
local newFace = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value
newFace.Face = "Front"
newFace.Parent = charparts[1]
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value

View File

@ -96,11 +96,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 3) then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
@ -118,11 +114,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 4) then
pcall(function()
local newShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
@ -140,11 +132,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 5) then
pcall(function()
local newPants = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
@ -162,13 +150,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 6) then
pcall(function()
local newFace = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value
newFace.Face = "Front"
newFace.Parent = charparts[1]
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value

View File

@ -36,11 +36,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 3) then
pcall(function()
local newTShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
@ -58,11 +54,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 4) then
pcall(function()
local newShirt = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
@ -80,11 +72,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 5) then
pcall(function()
local newPants = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
@ -102,13 +90,7 @@ function LoadCharacterNew(playerApp,newChar)
elseif (customtype == 6) then
pcall(function()
local newFace = "";
if (string.match(newVal.Value, "finobe") == "finobe") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value
newFace.Face = "Front"
newFace.Parent = charparts[1]
elseif (string.match(newVal.Value, "epicgamers") == "epicgamers") then
if (string.match(newVal.Value, "http") == "http") then
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value