diff --git a/Novetus/NovetusCore/CharCustom/CharacterCustomizationShared.cs b/Novetus/NovetusCore/CharCustom/CharacterCustomizationShared.cs
index 304ea9a..49cf189 100644
--- a/Novetus/NovetusCore/CharCustom/CharacterCustomizationShared.cs
+++ b/Novetus/NovetusCore/CharCustom/CharacterCustomizationShared.cs
@@ -6,6 +6,7 @@ using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
+using System.Net;
using System.Windows.Forms;
#endregion
@@ -21,9 +22,11 @@ class CharacterCustomizationShared
public Provider[] contentProviders;
public Form Parent;
public Settings.Style FormStyle;
- public Button HeadButton, TorsoButton, LeftArmButton, RightArmButton, LeftLegButton, RightLegButton;
+ public Button HeadButton, TorsoButton, LeftArmButton, RightArmButton, LeftLegButton, RightLegButton, BrowseIconButton;
public ComboBox FaceTypeBox, TShirtsTypeBox, ShirtsTypeBox, PantsTypeBox;
- public TextBox FaceIDBox, TShirtsIDBox, ShirtsIDBox, PantsIDBox, CharacterIDBox, Hat1Desc, Hat2Desc, Hat3Desc, HeadDesc, TShirtDesc, ShirtDesc, PantsDesc, FaceDesc, ExtraItemDesc;
+ public TextBox FaceIDBox, TShirtsIDBox, ShirtsIDBox, PantsIDBox, CharacterIDBox,
+ Hat1Desc, Hat2Desc, Hat3Desc, HeadDesc, TShirtDesc, ShirtDesc, PantsDesc, FaceDesc, ExtraItemDesc,
+ IconURLBox;
public CheckBox ShowHatsInExtraBox;
public Label SelectedPartLabel, IconLabel, AestheticDivider;
public TabControl CharacterTabControl;
@@ -119,7 +122,14 @@ class CharacterCustomizationShared
ReloadColors();
//icon
- IconLabel.Text = GlobalVars.UserCustomization.Icon;
+ if (GlobalVars.UserCustomization.Icon.Contains("http://") || GlobalVars.UserCustomization.Icon.Contains("https://"))
+ {
+ IconLabel.Text = "NBC";
+ }
+ else
+ {
+ IconLabel.Text = GlobalVars.UserCustomization.Icon;
+ }
//charid
CharacterIDBox.Text = GlobalVars.UserCustomization.CharacterID;
@@ -202,8 +212,15 @@ class CharacterCustomizationShared
FaceList.Items.Clear();
ExtraItemList.Items.Clear();
- Image icon1 = GlobalFuncs.LoadImage(GlobalPaths.extradirIcons + "\\" + GlobalVars.UserConfiguration.PlayerName + ".png", GlobalPaths.extradir + "\\NoExtra.png");
- IconImage.Image = icon1;
+ if (GlobalVars.UserCustomization.Icon.Contains("http://") || GlobalVars.UserCustomization.Icon.Contains("https://"))
+ {
+ IconURLBox.Text = GlobalVars.UserCustomization.Icon;
+ LoadRemoteIcon();
+ }
+ else
+ {
+ LoadLocalIcon();
+ }
break;
case TabPage pg2 when pg2 == CharacterTabControl.TabPages["tabPage2"]:
@@ -770,6 +787,77 @@ class CharacterCustomizationShared
GlobalFuncs.LogExceptions(ex);
}
}
+
+ public void LaunchLoadLocalIcon()
+ {
+ IconLoader icon = new IconLoader();
+ try
+ {
+ icon.LoadImage();
+ }
+ catch (Exception ex)
+ {
+ GlobalFuncs.LogExceptions(ex);
+ }
+
+ if (!string.IsNullOrWhiteSpace(icon.getInstallOutcome()))
+ {
+ MessageBoxIcon boxicon = MessageBoxIcon.Information;
+
+ if (icon.getInstallOutcome().Contains("Error"))
+ {
+ boxicon = MessageBoxIcon.Error;
+ }
+
+ MessageBox.Show(icon.getInstallOutcome(), "Novetus - Icon Installed", MessageBoxButtons.OK, boxicon);
+ }
+
+ LoadLocalIcon();
+ }
+
+ public void LoadLocalIcon()
+ {
+ Image icon1 = GlobalFuncs.LoadImage(GlobalPaths.extradirIcons + "\\" + GlobalVars.UserConfiguration.PlayerName + ".png", GlobalPaths.extradir + "\\NoExtra.png");
+ IconImage.Image = icon1;
+ }
+
+ public void LoadRemoteIcon()
+ {
+ if (string.IsNullOrWhiteSpace(IconURLBox.Text) ||
+ IconURLBox.Text.Contains("BC") ||
+ IconURLBox.Text.Contains("TBC") ||
+ IconURLBox.Text.Contains("OBC") ||
+ IconURLBox.Text.Contains("NBC"))
+ {
+ IconURLBox.Text = "";
+ GlobalVars.UserCustomization.Icon = "NBC";
+ IconLabel.Text = GlobalVars.UserCustomization.Icon;
+ BrowseIconButton.Enabled = true;
+ LoadLocalIcon();
+ return;
+ }
+ else if (IconURLBox.Text.Contains("http://") || IconURLBox.Text.Contains("https://"))
+ {
+ GlobalVars.UserCustomization.Icon = IconURLBox.Text;
+ IconLabel.Text = "NBC";
+ BrowseIconButton.Enabled = false;
+ }
+
+ try
+ {
+ WebClient wc = new WebClient();
+ byte[] bytes = wc.DownloadData(IconURLBox.Text);
+ MemoryStream ms = new MemoryStream(bytes);
+ Image img = Image.FromStream(ms);
+ IconImage.Image = img;
+ }
+ catch (Exception ex)
+ {
+ Image icon1 = GlobalFuncs.LoadImage(GlobalPaths.extradir + "\\NoExtra.png", GlobalPaths.extradir + "\\NoExtra.png");
+ IconImage.Image = icon1;
+ GlobalFuncs.LogExceptions(ex);
+ }
+ }
#endregion
}
#endregion
\ No newline at end of file
diff --git a/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.Designer.cs b/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.Designer.cs
index 43c31d1..66f3a3e 100644
--- a/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.Designer.cs
+++ b/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.Designer.cs
@@ -131,6 +131,8 @@ partial class CharacterCustomizationCompact
this.pictureBox9 = new System.Windows.Forms.PictureBox();
this.listBox9 = new System.Windows.Forms.ListBox();
this.tabPage7 = new System.Windows.Forms.TabPage();
+ this.IconURLLabel = new System.Windows.Forms.Label();
+ this.IconURLBox = new System.Windows.Forms.TextBox();
this.button7 = new System.Windows.Forms.Button();
this.button71 = new System.Windows.Forms.Button();
this.label8 = new System.Windows.Forms.Label();
@@ -1146,6 +1148,8 @@ partial class CharacterCustomizationCompact
//
// tabPage7
//
+ this.tabPage7.Controls.Add(this.IconURLLabel);
+ this.tabPage7.Controls.Add(this.IconURLBox);
this.tabPage7.Controls.Add(this.button7);
this.tabPage7.Controls.Add(this.button71);
this.tabPage7.Controls.Add(this.label8);
@@ -1169,11 +1173,28 @@ partial class CharacterCustomizationCompact
this.tabPage7.Text = "OTHER";
this.tabPage7.UseVisualStyleBackColor = true;
//
+ // IconURLLabel
+ //
+ this.IconURLLabel.AutoSize = true;
+ this.IconURLLabel.Location = new System.Drawing.Point(367, 88);
+ this.IconURLLabel.Name = "IconURLLabel";
+ this.IconURLLabel.Size = new System.Drawing.Size(62, 13);
+ this.IconURLLabel.TabIndex = 16;
+ this.IconURLLabel.Text = "Online URL";
+ //
+ // IconURLBox
+ //
+ this.IconURLBox.Location = new System.Drawing.Point(343, 104);
+ this.IconURLBox.Name = "IconURLBox";
+ this.IconURLBox.Size = new System.Drawing.Size(117, 20);
+ this.IconURLBox.TabIndex = 15;
+ this.IconURLBox.TextChanged += new System.EventHandler(this.IconURLBox_TextChanged);
+ //
// button7
//
- this.button7.Location = new System.Drawing.Point(365, 70);
+ this.button7.Location = new System.Drawing.Point(375, 214);
this.button7.Name = "button7";
- this.button7.Size = new System.Drawing.Size(99, 31);
+ this.button7.Size = new System.Drawing.Size(75, 24);
this.button7.TabIndex = 14;
this.button7.Text = "Load Outfit";
this.button7.UseVisualStyleBackColor = true;
@@ -1181,9 +1202,9 @@ partial class CharacterCustomizationCompact
//
// button71
//
- this.button71.Location = new System.Drawing.Point(365, 37);
+ this.button71.Location = new System.Drawing.Point(375, 188);
this.button71.Name = "button71";
- this.button71.Size = new System.Drawing.Size(99, 31);
+ this.button71.Size = new System.Drawing.Size(75, 24);
this.button71.TabIndex = 13;
this.button71.Text = "Save Outfit";
this.button71.UseVisualStyleBackColor = true;
@@ -1191,37 +1212,37 @@ partial class CharacterCustomizationCompact
//
// label8
//
- this.label8.Location = new System.Drawing.Point(293, 6);
+ this.label8.Location = new System.Drawing.Point(302, 16);
this.label8.Name = "label8";
- this.label8.Size = new System.Drawing.Size(69, 29);
+ this.label8.Size = new System.Drawing.Size(69, 17);
this.label8.TabIndex = 12;
- this.label8.Text = "Custom Icon (Client Side)";
+ this.label8.Text = "Custom Icon";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pictureBox10
//
- this.pictureBox10.Location = new System.Drawing.Point(294, 37);
+ this.pictureBox10.Location = new System.Drawing.Point(250, 36);
this.pictureBox10.Name = "pictureBox10";
- this.pictureBox10.Size = new System.Drawing.Size(65, 64);
+ this.pictureBox10.Size = new System.Drawing.Size(88, 88);
this.pictureBox10.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox10.TabIndex = 11;
this.pictureBox10.TabStop = false;
//
// button60
//
- this.button60.Location = new System.Drawing.Point(294, 105);
+ this.button60.Location = new System.Drawing.Point(344, 36);
this.button60.Name = "button60";
- this.button60.Size = new System.Drawing.Size(68, 23);
+ this.button60.Size = new System.Drawing.Size(115, 35);
this.button60.TabIndex = 10;
- this.button60.Text = "Browse...";
+ this.button60.Text = "Browse Local Image...";
this.button60.UseVisualStyleBackColor = true;
this.button60.Click += new System.EventHandler(this.button60_Click);
//
// button43
//
- this.button43.Location = new System.Drawing.Point(365, 3);
+ this.button43.Location = new System.Drawing.Point(294, 188);
this.button43.Name = "button43";
- this.button43.Size = new System.Drawing.Size(99, 34);
+ this.button43.Size = new System.Drawing.Size(75, 50);
this.button43.TabIndex = 1;
this.button43.Text = "Avatar 3D Preview";
this.button43.UseVisualStyleBackColor = true;
@@ -1229,7 +1250,7 @@ partial class CharacterCustomizationCompact
//
// textBox1
//
- this.textBox1.Location = new System.Drawing.Point(113, 213);
+ this.textBox1.Location = new System.Drawing.Point(20, 215);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(241, 20);
this.textBox1.TabIndex = 9;
@@ -1247,7 +1268,7 @@ partial class CharacterCustomizationCompact
//
// label6
//
- this.label6.Location = new System.Drawing.Point(105, 191);
+ this.label6.Location = new System.Drawing.Point(12, 193);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(257, 19);
this.label6.TabIndex = 7;
@@ -1256,18 +1277,18 @@ partial class CharacterCustomizationCompact
//
// button55
//
- this.button55.Location = new System.Drawing.Point(116, 94);
+ this.button55.Location = new System.Drawing.Point(42, 108);
this.button55.Name = "button55";
- this.button55.Size = new System.Drawing.Size(167, 34);
+ this.button55.Size = new System.Drawing.Size(183, 21);
this.button55.TabIndex = 6;
- this.button55.Text = "Disable Icon/ Enable Custom Icons";
+ this.button55.Text = "Disable Icon/Enable Custom Icons";
this.button55.UseVisualStyleBackColor = true;
this.button55.Click += new System.EventHandler(this.Button55Click);
//
// label5
//
- this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label5.Location = new System.Drawing.Point(231, 9);
+ this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label5.Location = new System.Drawing.Point(159, 9);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(56, 19);
this.label5.TabIndex = 5;
@@ -1277,18 +1298,19 @@ partial class CharacterCustomizationCompact
//
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.Color.Red;
- this.label4.Location = new System.Drawing.Point(73, 125);
+ this.label4.Location = new System.Drawing.Point(20, 137);
this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(316, 60);
+ this.label4.Size = new System.Drawing.Size(440, 43);
this.label4.TabIndex = 4;
this.label4.Text = "NOTE: The icon will only function in a client with a custom scoreboard (I.E 2011M" +
- ").";
+ "). Icons from a local image will load only for the player, while online images w" +
+ "ill show up for all players.";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label3
//
- this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label3.Location = new System.Drawing.Point(104, 9);
+ this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label3.Location = new System.Drawing.Point(52, 9);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(131, 19);
this.label3.TabIndex = 3;
@@ -1298,9 +1320,9 @@ partial class CharacterCustomizationCompact
//
this.button54.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button54.BackgroundImage")));
this.button54.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
- this.button54.Location = new System.Drawing.Point(231, 31);
+ this.button54.Location = new System.Drawing.Point(162, 31);
this.button54.Name = "button54";
- this.button54.Size = new System.Drawing.Size(52, 62);
+ this.button54.Size = new System.Drawing.Size(55, 76);
this.button54.TabIndex = 2;
this.button54.Text = "OBC";
this.button54.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
@@ -1311,9 +1333,9 @@ partial class CharacterCustomizationCompact
//
this.button53.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button53.BackgroundImage")));
this.button53.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
- this.button53.Location = new System.Drawing.Point(174, 31);
+ this.button53.Location = new System.Drawing.Point(104, 31);
this.button53.Name = "button53";
- this.button53.Size = new System.Drawing.Size(52, 62);
+ this.button53.Size = new System.Drawing.Size(55, 76);
this.button53.TabIndex = 1;
this.button53.Text = "TBC";
this.button53.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
@@ -1324,9 +1346,9 @@ partial class CharacterCustomizationCompact
//
this.button52.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button52.BackgroundImage")));
this.button52.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
- this.button52.Location = new System.Drawing.Point(116, 31);
+ this.button52.Location = new System.Drawing.Point(47, 31);
this.button52.Name = "button52";
- this.button52.Size = new System.Drawing.Size(52, 62);
+ this.button52.Size = new System.Drawing.Size(55, 76);
this.button52.TabIndex = 0;
this.button52.Text = "BC";
this.button52.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
@@ -1444,6 +1466,8 @@ partial class CharacterCustomizationCompact
characterCustomizationForm.PantsDesc = textBox9;
characterCustomizationForm.FaceDesc = textBox6;
characterCustomizationForm.ExtraItemDesc = textBox10;
+ characterCustomizationForm.IconURLBox = IconURLBox;
+ characterCustomizationForm.BrowseIconButton = button60;
}
private System.Windows.Forms.TabPage tabPage12;
@@ -1555,4 +1579,6 @@ partial class CharacterCustomizationCompact
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.Label label30;
private System.Windows.Forms.Button button7;
+ private System.Windows.Forms.Label IconURLLabel;
+ private System.Windows.Forms.TextBox IconURLBox;
}
\ No newline at end of file
diff --git a/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.cs b/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.cs
index 6c50277..31293c8 100644
--- a/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.cs
+++ b/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.cs
@@ -782,54 +782,40 @@ public partial class CharacterCustomizationCompact : Form
#region Icon
void Button52Click(object sender, EventArgs e)
{
+ IconURLBox.Text = "";
GlobalVars.UserCustomization.Icon = "BC";
label5.Text = GlobalVars.UserCustomization.Icon;
}
void Button53Click(object sender, EventArgs e)
{
+ IconURLBox.Text = "";
GlobalVars.UserCustomization.Icon = "TBC";
label5.Text = GlobalVars.UserCustomization.Icon;
}
void Button54Click(object sender, EventArgs e)
{
+ IconURLBox.Text = "";
GlobalVars.UserCustomization.Icon = "OBC";
label5.Text = GlobalVars.UserCustomization.Icon;
}
void Button55Click(object sender, EventArgs e)
{
+ IconURLBox.Text = "";
GlobalVars.UserCustomization.Icon = "NBC";
label5.Text = GlobalVars.UserCustomization.Icon;
}
private void button60_Click(object sender, EventArgs e)
{
- IconLoader icon = new IconLoader();
- try
- {
- icon.LoadImage();
- }
- catch (Exception ex)
- {
- GlobalFuncs.LogExceptions(ex);
- }
+ characterCustomizationForm.LaunchLoadLocalIcon();
+ }
- if (!string.IsNullOrWhiteSpace(icon.getInstallOutcome()))
- {
- MessageBoxIcon boxicon = MessageBoxIcon.Information;
-
- if (icon.getInstallOutcome().Contains("Error"))
- {
- boxicon = MessageBoxIcon.Error;
- }
-
- MessageBox.Show(icon.getInstallOutcome(), "Novetus - Icon Installed", MessageBoxButtons.OK, boxicon);
- }
-
- Image icon1 = GlobalFuncs.LoadImage(GlobalPaths.extradirIcons + "\\" + GlobalVars.UserConfiguration.PlayerName + ".png", GlobalPaths.extradir + "\\NoExtra.png");
- pictureBox10.Image = icon1;
+ private void IconURLBox_TextChanged(object sender, EventArgs e)
+ {
+ characterCustomizationForm.LoadRemoteIcon();
}
#endregion
diff --git a/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.Designer.cs b/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.Designer.cs
index a60a93c..d396e89 100644
--- a/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.Designer.cs
+++ b/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.Designer.cs
@@ -144,6 +144,8 @@ partial class CharacterCustomizationExtended
this.pictureBox9 = new System.Windows.Forms.PictureBox();
this.listBox9 = new System.Windows.Forms.ListBox();
this.tabPage7 = new System.Windows.Forms.TabPage();
+ this.IconURLLabel = new System.Windows.Forms.Label();
+ this.IconURLBox = new System.Windows.Forms.TextBox();
this.label17 = new System.Windows.Forms.Label();
this.button7 = new System.Windows.Forms.Button();
this.label8 = new System.Windows.Forms.Label();
@@ -1322,6 +1324,8 @@ partial class CharacterCustomizationExtended
//
// tabPage7
//
+ this.tabPage7.Controls.Add(this.IconURLLabel);
+ this.tabPage7.Controls.Add(this.IconURLBox);
this.tabPage7.Controls.Add(this.label17);
this.tabPage7.Controls.Add(this.button7);
this.tabPage7.Controls.Add(this.label8);
@@ -1345,6 +1349,23 @@ partial class CharacterCustomizationExtended
this.tabPage7.Text = "OTHER";
this.tabPage7.UseVisualStyleBackColor = true;
//
+ // IconURLLabel
+ //
+ this.IconURLLabel.AutoSize = true;
+ this.IconURLLabel.Location = new System.Drawing.Point(451, 115);
+ this.IconURLLabel.Name = "IconURLLabel";
+ this.IconURLLabel.Size = new System.Drawing.Size(62, 13);
+ this.IconURLLabel.TabIndex = 18;
+ this.IconURLLabel.Text = "Online URL";
+ //
+ // IconURLBox
+ //
+ this.IconURLBox.Location = new System.Drawing.Point(428, 131);
+ this.IconURLBox.Name = "IconURLBox";
+ this.IconURLBox.Size = new System.Drawing.Size(111, 20);
+ this.IconURLBox.TabIndex = 17;
+ this.IconURLBox.TextChanged += new System.EventHandler(this.IconURLBox_TextChanged);
+ //
// label17
//
this.label17.AutoSize = true;
@@ -1366,18 +1387,18 @@ partial class CharacterCustomizationExtended
//
// label8
//
- this.label8.Location = new System.Drawing.Point(410, 6);
+ this.label8.Location = new System.Drawing.Point(389, 45);
this.label8.Name = "label8";
- this.label8.Size = new System.Drawing.Size(118, 29);
+ this.label8.Size = new System.Drawing.Size(101, 13);
this.label8.TabIndex = 12;
- this.label8.Text = "Custom Icon (Client Side)";
+ this.label8.Text = "Custom Icon";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pictureBox10
//
- this.pictureBox10.Location = new System.Drawing.Point(410, 38);
+ this.pictureBox10.Location = new System.Drawing.Point(336, 63);
this.pictureBox10.Name = "pictureBox10";
- this.pictureBox10.Size = new System.Drawing.Size(118, 118);
+ this.pictureBox10.Size = new System.Drawing.Size(88, 88);
this.pictureBox10.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox10.TabIndex = 11;
this.pictureBox10.TabStop = false;
@@ -1394,11 +1415,11 @@ partial class CharacterCustomizationExtended
//
// button60
//
- this.button60.Location = new System.Drawing.Point(434, 162);
+ this.button60.Location = new System.Drawing.Point(439, 63);
this.button60.Name = "button60";
- this.button60.Size = new System.Drawing.Size(68, 23);
+ this.button60.Size = new System.Drawing.Size(92, 35);
this.button60.TabIndex = 10;
- this.button60.Text = "Browse...";
+ this.button60.Text = "Browse Local Image...";
this.button60.UseVisualStyleBackColor = true;
this.button60.Click += new System.EventHandler(this.button60_Click);
//
@@ -1430,9 +1451,9 @@ partial class CharacterCustomizationExtended
//
// button55
//
- this.button55.Location = new System.Drawing.Point(11, 162);
+ this.button55.Location = new System.Drawing.Point(7, 151);
this.button55.Name = "button55";
- this.button55.Size = new System.Drawing.Size(367, 23);
+ this.button55.Size = new System.Drawing.Size(314, 23);
this.button55.TabIndex = 6;
this.button55.Text = "Disable Icon/Enable Custom Icons";
this.button55.UseVisualStyleBackColor = true;
@@ -1441,7 +1462,7 @@ partial class CharacterCustomizationExtended
// label5
//
this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label5.Location = new System.Drawing.Point(229, 9);
+ this.label5.Location = new System.Drawing.Point(191, 9);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(56, 19);
this.label5.TabIndex = 5;
@@ -1449,20 +1470,21 @@ partial class CharacterCustomizationExtended
//
// label4
//
- this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.Color.Red;
- this.label4.Location = new System.Drawing.Point(37, 178);
+ this.label4.Location = new System.Drawing.Point(43, 182);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(465, 44);
this.label4.TabIndex = 4;
this.label4.Text = "NOTE: The icon will only function in a client with a custom scoreboard (I.E 2011M" +
- ").";
+ "). Icons from a local image will load only for the player, while online images w" +
+ "ill show up for all players.";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label3
//
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label3.Location = new System.Drawing.Point(122, 9);
+ this.label3.Location = new System.Drawing.Point(86, 9);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(111, 19);
this.label3.TabIndex = 3;
@@ -1473,9 +1495,9 @@ partial class CharacterCustomizationExtended
this.button54.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.button54.ImageKey = "OBC.png";
this.button54.ImageList = this.imageList1;
- this.button54.Location = new System.Drawing.Point(260, 38);
+ this.button54.Location = new System.Drawing.Point(219, 37);
this.button54.Name = "button54";
- this.button54.Size = new System.Drawing.Size(118, 118);
+ this.button54.Size = new System.Drawing.Size(100, 111);
this.button54.TabIndex = 2;
this.button54.Text = "OBC";
this.button54.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
@@ -1487,9 +1509,9 @@ partial class CharacterCustomizationExtended
this.button53.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.button53.ImageKey = "TBC.png";
this.button53.ImageList = this.imageList1;
- this.button53.Location = new System.Drawing.Point(136, 38);
+ this.button53.Location = new System.Drawing.Point(113, 37);
this.button53.Name = "button53";
- this.button53.Size = new System.Drawing.Size(118, 118);
+ this.button53.Size = new System.Drawing.Size(100, 111);
this.button53.TabIndex = 1;
this.button53.Text = "TBC";
this.button53.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
@@ -1501,9 +1523,9 @@ partial class CharacterCustomizationExtended
this.button52.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.button52.ImageKey = "BC.png";
this.button52.ImageList = this.imageList1;
- this.button52.Location = new System.Drawing.Point(11, 38);
+ this.button52.Location = new System.Drawing.Point(7, 37);
this.button52.Name = "button52";
- this.button52.Size = new System.Drawing.Size(118, 118);
+ this.button52.Size = new System.Drawing.Size(100, 111);
this.button52.TabIndex = 0;
this.button52.Text = "BC";
this.button52.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
@@ -1692,6 +1714,8 @@ partial class CharacterCustomizationExtended
characterCustomizationForm.PantsDesc = textBox9;
characterCustomizationForm.FaceDesc = textBox6;
characterCustomizationForm.ExtraItemDesc = textBox10;
+ characterCustomizationForm.IconURLBox = IconURLBox;
+ characterCustomizationForm.BrowseIconButton = button60;
}
private System.Windows.Forms.TabPage tabPage12;
@@ -1823,4 +1847,6 @@ partial class CharacterCustomizationExtended
private System.Windows.Forms.Label label30;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Button button7;
+ private System.Windows.Forms.Label IconURLLabel;
+ private System.Windows.Forms.TextBox IconURLBox;
}
diff --git a/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.cs b/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.cs
index 8c35752..5f36094 100644
--- a/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.cs
+++ b/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.cs
@@ -784,54 +784,40 @@ public partial class CharacterCustomizationExtended : Form
#region Icon
void Button52Click(object sender, EventArgs e)
{
+ IconURLBox.Text = "";
GlobalVars.UserCustomization.Icon = "BC";
label5.Text = GlobalVars.UserCustomization.Icon;
}
void Button53Click(object sender, EventArgs e)
{
+ IconURLBox.Text = "";
GlobalVars.UserCustomization.Icon = "TBC";
label5.Text = GlobalVars.UserCustomization.Icon;
}
void Button54Click(object sender, EventArgs e)
{
+ IconURLBox.Text = "";
GlobalVars.UserCustomization.Icon = "OBC";
label5.Text = GlobalVars.UserCustomization.Icon;
}
void Button55Click(object sender, EventArgs e)
{
+ IconURLBox.Text = "";
GlobalVars.UserCustomization.Icon = "NBC";
label5.Text = GlobalVars.UserCustomization.Icon;
}
private void button60_Click(object sender, EventArgs e)
{
- IconLoader icon = new IconLoader();
- try
- {
- icon.LoadImage();
- }
- catch (Exception ex)
- {
- GlobalFuncs.LogExceptions(ex);
- }
+ characterCustomizationForm.LaunchLoadLocalIcon();
+ }
- if (!string.IsNullOrWhiteSpace(icon.getInstallOutcome()))
- {
- MessageBoxIcon boxicon = MessageBoxIcon.Information;
-
- if (icon.getInstallOutcome().Contains("Error"))
- {
- boxicon = MessageBoxIcon.Error;
- }
-
- MessageBox.Show(icon.getInstallOutcome(), "Novetus - Icon Installed", MessageBoxButtons.OK, boxicon);
- }
-
- Image icon1 = GlobalFuncs.LoadImage(GlobalPaths.extradirIcons + "\\" + GlobalVars.UserConfiguration.PlayerName + ".png", GlobalPaths.extradir + "\\NoExtra.png");
- pictureBox10.Image = icon1;
+ private void IconURLBox_TextChanged(object sender, EventArgs e)
+ {
+ characterCustomizationForm.LoadRemoteIcon();
}
#endregion
@@ -938,6 +924,5 @@ public partial class CharacterCustomizationExtended : Form
}
}
#endregion
-
}
#endregion
diff --git a/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.resx b/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.resx
index dbaa7ef..1de92d1 100644
--- a/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.resx
+++ b/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.resx
@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACe
- OAAAAk1TRnQBSQFMAgEBAwEAAYwBAQGMAQEBQAEAAUABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ OAAAAk1TRnQBSQFMAgEBAwEAAawBAQGsAQEBQAEAAUABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
BAABAQIAAUADAAEBAQABCAYAAUAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
diff --git a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs
index 25ce223..b532cc8 100644
--- a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs
+++ b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs
@@ -2002,7 +2002,7 @@ public class GlobalFuncs
string args = "";
GlobalVars.ValidatedExtraFiles = 0;
- if (!info.AlreadyHasSecurity || !GlobalVars.AdminMode)
+ if (!GlobalVars.AdminMode && !info.AlreadyHasSecurity)
{
string validstart = "";
string validend = "";
diff --git a/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs
index 5c9adff..9dde5a5 100644
--- a/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs
+++ b/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs
@@ -58,14 +58,14 @@ public class ScriptFuncs
+ GlobalVars.Loadout + ","
+ md5s + ",'"
+ GlobalVars.UserConfiguration.PlayerTripcode
- + ((GlobalVars.ValidatedExtraFiles > 0) ? "'," + GlobalVars.ValidatedExtraFiles.ToString() + ",);" : "',0);");
+ + ((GlobalVars.ValidatedExtraFiles > 0) ? "'," + GlobalVars.ValidatedExtraFiles.ToString() + ");" : "',0);");
case ScriptType.Server:
return "_G.CSServer("
+ GlobalVars.UserConfiguration.RobloxPort + ","
+ GlobalVars.UserConfiguration.PlayerLimit + ","
+ md5s + ","
+ GlobalVars.UserConfiguration.ShowServerNotifications.ToString().ToLower()
- + ((GlobalVars.ValidatedExtraFiles > 0) ? "," + GlobalVars.ValidatedExtraFiles.ToString() : ");") + ",0);";
+ + ((GlobalVars.ValidatedExtraFiles > 0) ? "," + GlobalVars.ValidatedExtraFiles.ToString() + ");" : ",0);");
case ScriptType.Solo:
case ScriptType.EasterEgg:
return "_G.CSSolo("
diff --git a/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs b/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs
index 65b8fdf..1abf6d6 100644
--- a/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs
+++ b/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs
@@ -411,20 +411,27 @@ public partial class ClientinfoEditor : Form
{
string fullpath = SelectedClientInfoPath + "\\" + RelativePath;
- DirectoryInfo dir = new DirectoryInfo(fullpath);
- FileInfo[] Files = dir.GetFiles("*.*");
- List text = new List();
-
- foreach (FileInfo file in Files)
+ if (Directory.Exists(fullpath))
{
- string fileMD5 = SecurityFuncs.GenerateMD5(file.FullName);
- string filePathStrip = file.FullName.Replace(SelectedClientInfoPath, "");
- text.Add("" + filePathStrip.TrimStart('/', '\\') + "|" + fileMD5 + "");
+ DirectoryInfo dir = new DirectoryInfo(fullpath);
+ FileInfo[] Files = dir.GetFiles("*.*");
+ List text = new List();
+
+ foreach (FileInfo file in Files)
+ {
+ string fileMD5 = SecurityFuncs.GenerateMD5(file.FullName);
+ string filePathStrip = file.FullName.Replace(SelectedClientInfoPath, "");
+ text.Add("" + filePathStrip.TrimStart('/', '\\') + "|" + fileMD5 + "");
+ }
+
+ string joined = string.Join("\r\n", text);
+
+ AddClientinfoText(joined.Replace(@"\", "/"));
+ }
+ else
+ {
+ MessageBox.Show("The directory does not exist. Please use an existing directory path in your client's folder.", "Novetus Client SDK - Error when adding Validate tags.", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
-
- string joined = string.Join("\r\n", text);
-
- AddClientinfoText(joined.Replace(@"\", "/"));
}
else
{
diff --git a/README-AND-CREDITS.TXT b/README-AND-CREDITS.TXT
index 0e1ba83..de7d4db 100644
--- a/README-AND-CREDITS.TXT
+++ b/README-AND-CREDITS.TXT
@@ -306,8 +306,9 @@ ROBLOX Script Generator was made by S. Costeira.
Thank you to NT_x86 for helping me with security fixes.
Thank you XlXi for the idea of the original logo. This logo was remade in newer verions in higher quality.
Thank you Nukley for the idea of the Splash Tester.
-- Credits go to Nostal-ia for getting 2011M corescripts working and helping me with 2011E corescripts.
+Credits go to Nostal-ia for getting 2011M corescripts working and helping me with 2011E corescripts.
Credits to Hazelnut (creator of JRBX) for the buttons used in the Stylish style.
+Credits go to davcs86 for the HWID generation code (https://github.com/davcs86/csharp-uhwid)
All credits for the used pieces of code go to the respective authors.
------------------------------------------------------------
diff --git a/changelog.txt b/changelog.txt
index 63dbe3e..33502a4 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -10,19 +10,21 @@ New Features:
- %tshirttexid%, %shirttexid%, %pantstexid%, %facetexid% - Returns the texture URL for the respective online clothing type. Returns nothing if the URL is invalid, the item isn't using Online Clothing, or %localizeonlineclothing% is not defined in the script.
- %tshirttexidlocal%, %shirttexidlocal%, %pantstexidlocal%, %facetexlocal%" - Returns the texture rbxasset URL for the respective online clothing type. Returns nothing if the URL is invalid, the item isn't using Online Clothing, or %localizeonlineclothing% is not defined in the script. Only the client who downloads the clothing would be able to see it.
- %localizeonlineclothing% - Grabs texture IDS for the %texid% variables and localizes the texture for the %texidlocal% variables. This WILL increase load times of your client depending on how many items are being downloaded.
+- Users may now use a image URL to load custom icons.
+ - Icons loaded from a URL will show up on all clients.
Enhancements:
+- The Bootstrapper now creates error logs of its own.
- Added an additional warning about certain GUI elements being disabled in later clients when No3D is selected.
- Novetus no longer requires the Script MD5 when generating a clientinfo.nov.
- Placed the %port% ClientScript variable into the Server category.
- The server browser no longer requires a server to be the same exact version as the current running version of Novetus.
- The server browser now displays versions in red if they're not the same exact version.
- The master server security warning will now show up once for every Novetus session.
-- Novetus now bases your tripcode off of your computer's hardware information.
+- Novetus now bases your tripcode off of your computer's hardware information. (Powered by https://github.com/davcs86/csharp-uhwid)
Fixes:
- Fixed the URL Override box in the Asset SDK not being functional.
-- The Bootstrapper now creates error logs of its own.
- Fixed logging for most Novetus applications.
- Fixed a bug in all clients where kicking a player would kick the entire server.
- Fixed a crash that occured in 2010L after kicking a player.
diff --git a/scripts/game/2011E/CSMPFunctions.lua b/scripts/game/2011E/CSMPFunctions.lua
index 43a0575..ff9653b 100644
--- a/scripts/game/2011E/CSMPFunctions.lua
+++ b/scripts/game/2011E/CSMPFunctions.lua
@@ -293,7 +293,7 @@ function LoadCharacterNew(playerApp,newChar)
end
end
-function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
+function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
local newCharApp = Instance.new("IntValue",Player)
newCharApp.Name = "Appearance"
--BODY COLORS
@@ -462,6 +462,18 @@ function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,Torso
typeValue.Name = "CustomizationType"
typeValue.Parent = newItem
typeValue.Value = 8
+ --ICON
+ local newIcon = Instance.new("StringValue",newCharApp)
+ if (IconType ~= nil) then
+ newIcon.Value = IconType
+ else
+ newIcon.Value = "NBC"
+ end
+ newIcon.Name = "Icon"
+ local typeValue = Instance.new("NumberValue")
+ typeValue.Name = "CustomizationType"
+ typeValue.Parent = newIcon
+ typeValue.Value = 9
end
function LoadSecurity(playerApp,Player,ServerSecurityLocation)
@@ -748,12 +760,12 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
Player:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
Player:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
- elseif (IconType == "NBC") then
+ elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
Player:SetMembershipType(Enum.MembershipType.None)
end
pcall(function() Visit:SetUploadUrl("") end)
- InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
+ InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
InitalizeSecurityValues(Player,ClientEXEMD5,LauncherMD5,ClientScriptMD5,ValidatedScripts)
InitalizeTripcode(Player,Tripcode)
end
@@ -769,11 +781,11 @@ function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,
plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
- elseif (IconType == "NBC") then
+ elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
plr:SetMembershipType(Enum.MembershipType.None)
end
plr.CharacterAppearance=0
- InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
+ InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.7)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
diff --git a/scripts/game/2011M/CSMPFunctions.lua b/scripts/game/2011M/CSMPFunctions.lua
index 5fe10c9..1f02a40 100644
--- a/scripts/game/2011M/CSMPFunctions.lua
+++ b/scripts/game/2011M/CSMPFunctions.lua
@@ -291,7 +291,7 @@ function LoadCharacterNew(playerApp,newChar)
end
end
-function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
+function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
local newCharApp = Instance.new("IntValue",Player)
newCharApp.Name = "Appearance"
--BODY COLORS
@@ -460,6 +460,18 @@ function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,Torso
typeValue.Name = "CustomizationType"
typeValue.Parent = newItem
typeValue.Value = 8
+ --ICON
+ local newIcon = Instance.new("StringValue",newCharApp)
+ if (IconType ~= nil) then
+ newIcon.Value = IconType
+ else
+ newIcon.Value = "NBC"
+ end
+ newIcon.Name = "Icon"
+ local typeValue = Instance.new("NumberValue")
+ typeValue.Name = "CustomizationType"
+ typeValue.Parent = newIcon
+ typeValue.Value = 9
end
function LoadSecurity(playerApp,Player,ServerSecurityLocation)
@@ -739,12 +751,12 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
Player:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
Player:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
- elseif (IconType == "NBC") then
+ elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
Player:SetMembershipType(Enum.MembershipType.None)
end
pcall(function() Visit:SetUploadUrl("") end)
- InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
+ InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
InitalizeSecurityValues(Player,ClientEXEMD5,LauncherMD5,ClientScriptMD5,ValidatedScripts)
InitalizeTripcode(Player,Tripcode)
end
@@ -761,12 +773,12 @@ function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,
plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
- elseif (IconType == "NBC") then
+ elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
plr:SetMembershipType(Enum.MembershipType.None)
end
game.GuiRoot.ScoreHud:Remove()
plr.CharacterAppearance=0
- InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
+ InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.7)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
diff --git a/scripts/game/2011M/cores/PlayerlistScript.lua b/scripts/game/2011M/cores/PlayerlistScript.lua
index b6823ca..c4c867f 100644
--- a/scripts/game/2011M/cores/PlayerlistScript.lua
+++ b/scripts/game/2011M/cores/PlayerlistScript.lua
@@ -2363,7 +2363,17 @@ if UserSettings and LoadLibrary then
local function getMembershipTypeIcon(membershipType, playerName)
if membershipType == Enum.MembershipType.None then
- return "rbxasset://../../../shareddata/charcustom/custom/icons/"..playerName..".png"
+ plr = game.Players[playerName]
+ if plr:FindFirstChild("Appearance") then
+ waitForChild(plr.Appearance,"Icon")
+ if string.match(plr.Appearance.Icon.Value, "http") == "http" then
+ return plr.Appearance.Icon.Value
+ else
+ return "rbxasset://../../../shareddata/charcustom/custom/icons/"..playerName..".png"
+ end
+ else
+ return "rbxasset://../../../shareddata/charcustom/custom/icons/"..playerName..".png"
+ end
elseif membershipType == Enum.MembershipType.BuildersClub then
return "rbxasset://textures/ui/TinyBcIcon.png"
elseif membershipType == Enum.MembershipType.TurboBuildersClub then
diff --git a/scripts/launcher/3DView/CSView.lua b/scripts/launcher/3DView/CSView.lua
index 73a81ac..2142efe 100644
--- a/scripts/launcher/3DView/CSView.lua
+++ b/scripts/launcher/3DView/CSView.lua
@@ -238,7 +238,7 @@ function LoadCharacterNew(playerApp,newChar)
end
end
-function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
+function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
local newCharApp = Instance.new("IntValue",Player)
newCharApp.Name = "Appearance"
--BODY COLORS
@@ -407,6 +407,18 @@ function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,Torso
typeValue.Name = "CustomizationType"
typeValue.Parent = newItem
typeValue.Value = 8
+ --ICON
+ local newIcon = Instance.new("StringValue",newCharApp)
+ if (IconType ~= nil) then
+ newIcon.Value = IconType
+ else
+ newIcon.Value = "NBC"
+ end
+ newIcon.Name = "Icon"
+ local typeValue = Instance.new("NumberValue")
+ typeValue.Name = "CustomizationType"
+ typeValue.Parent = newIcon
+ typeValue.Value = 9
end
print("3DView loaded. Nerd.")
@@ -424,11 +436,11 @@ function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorI
plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
- elseif (IconType == "NBC") then
+ elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
plr:SetMembershipType(Enum.MembershipType.None)
end
plr.CharacterAppearance=0
- InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
+ InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.7)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
diff --git a/scripts/launcher/3DView/cores/PlayerlistScript.lua b/scripts/launcher/3DView/cores/PlayerlistScript.lua
index b6823ca..c4c867f 100644
--- a/scripts/launcher/3DView/cores/PlayerlistScript.lua
+++ b/scripts/launcher/3DView/cores/PlayerlistScript.lua
@@ -2363,7 +2363,17 @@ if UserSettings and LoadLibrary then
local function getMembershipTypeIcon(membershipType, playerName)
if membershipType == Enum.MembershipType.None then
- return "rbxasset://../../../shareddata/charcustom/custom/icons/"..playerName..".png"
+ plr = game.Players[playerName]
+ if plr:FindFirstChild("Appearance") then
+ waitForChild(plr.Appearance,"Icon")
+ if string.match(plr.Appearance.Icon.Value, "http") == "http" then
+ return plr.Appearance.Icon.Value
+ else
+ return "rbxasset://../../../shareddata/charcustom/custom/icons/"..playerName..".png"
+ end
+ else
+ return "rbxasset://../../../shareddata/charcustom/custom/icons/"..playerName..".png"
+ end
elseif membershipType == Enum.MembershipType.BuildersClub then
return "rbxasset://textures/ui/TinyBcIcon.png"
elseif membershipType == Enum.MembershipType.TurboBuildersClub then