WIP itemmaker download feature
This commit is contained in:
parent
16a4f28a27
commit
b638c3b689
Binary file not shown.
|
|
@ -31,7 +31,7 @@ class Downloader
|
||||||
return downloadOutcome;
|
return downloadOutcome;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitDownload(string additionalText = "")
|
public void InitDownload(bool gzip, string additionalText = "")
|
||||||
{
|
{
|
||||||
downloadOutcomeAddText = additionalText;
|
downloadOutcomeAddText = additionalText;
|
||||||
|
|
||||||
|
|
@ -47,7 +47,7 @@ class Downloader
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
int read = DownloadGZipFile(fileURL, saveFileDialog1.FileName);
|
int read = DownloadFile(fileURL, saveFileDialog1.FileName, gzip);
|
||||||
downloadOutcome = "File " + Path.GetFileName(saveFileDialog1.FileName) + " downloaded! " + read + " bytes written!" + downloadOutcomeAddText;
|
downloadOutcome = "File " + Path.GetFileName(saveFileDialog1.FileName) + " downloaded! " + read + " bytes written!" + downloadOutcomeAddText;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
@ -56,8 +56,8 @@ class Downloader
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// currently this only DLs GZipped files. Will mod it to download both types later on. - Bitl
|
|
||||||
public static int DownloadGZipFile(string remoteFilename, string localFilename)
|
private static int DownloadFile(string remoteFilename, string localFilename, bool gzip)
|
||||||
{
|
{
|
||||||
//credit to Tom Archer (https://www.codeguru.com/columns/dotnettips/article.php/c7005/Downloading-Files-with-the-WebRequest-and-WebResponse-Classes.htm)
|
//credit to Tom Archer (https://www.codeguru.com/columns/dotnettips/article.php/c7005/Downloading-Files-with-the-WebRequest-and-WebResponse-Classes.htm)
|
||||||
//and Brokenglass (https://stackoverflow.com/questions/4567313/uncompressing-gzip-response-from-webclient/4567408#4567408)
|
//and Brokenglass (https://stackoverflow.com/questions/4567313/uncompressing-gzip-response-from-webclient/4567408#4567408)
|
||||||
|
|
@ -77,42 +77,17 @@ class Downloader
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Create a request for the specified remote file name
|
// Create a request for the specified remote file name
|
||||||
//WebRequest request = WebRequest.Create(remoteFilename);
|
if (gzip)
|
||||||
var request = (HttpWebRequest)WebRequest.Create(remoteFilename);
|
|
||||||
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
|
|
||||||
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
|
|
||||||
if (request != null)
|
|
||||||
{
|
{
|
||||||
// Send the request to the server and retrieve the
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(remoteFilename);
|
||||||
// WebResponse object
|
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
|
||||||
response = request.GetResponse();
|
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
|
||||||
if (response != null)
|
processRequest(request, response, remoteStream, localStream, localFilename, bytesProcessed);
|
||||||
{
|
}
|
||||||
// Once the WebResponse object has been retrieved,
|
else
|
||||||
// get the stream object associated with the response's data
|
{
|
||||||
remoteStream = response.GetResponseStream();
|
WebRequest request = WebRequest.Create(remoteFilename);
|
||||||
|
processRequest(request, response, remoteStream, localStream, localFilename, bytesProcessed);
|
||||||
// Create the local file
|
|
||||||
localStream = File.Create(localFilename);
|
|
||||||
|
|
||||||
// Allocate a 1k buffer
|
|
||||||
byte[] buffer = new byte[1024];
|
|
||||||
int bytesRead;
|
|
||||||
|
|
||||||
// Simple do/while loop to read from stream until
|
|
||||||
// no bytes are returned
|
|
||||||
do
|
|
||||||
{
|
|
||||||
// Read data (up to 1k) from the stream
|
|
||||||
bytesRead = remoteStream.Read(buffer, 0, buffer.Length);
|
|
||||||
|
|
||||||
// Write the data to the local file
|
|
||||||
localStream.Write(buffer, 0, bytesRead);
|
|
||||||
|
|
||||||
// Increment total bytes processed
|
|
||||||
bytesProcessed += bytesRead;
|
|
||||||
} while (bytesRead > 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
|
@ -133,6 +108,43 @@ class Downloader
|
||||||
return bytesProcessed;
|
return bytesProcessed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void processRequest(WebRequest request, WebResponse response, Stream remoteStream, Stream localStream, string localFilename, int bytesProcessed)
|
||||||
|
{
|
||||||
|
if (request != null)
|
||||||
|
{
|
||||||
|
// Send the request to the server and retrieve the
|
||||||
|
// WebResponse object
|
||||||
|
response = request.GetResponse();
|
||||||
|
if (response != null)
|
||||||
|
{
|
||||||
|
// Once the WebResponse object has been retrieved,
|
||||||
|
// get the stream object associated with the response's data
|
||||||
|
remoteStream = response.GetResponseStream();
|
||||||
|
|
||||||
|
// Create the local file
|
||||||
|
localStream = File.Create(localFilename);
|
||||||
|
|
||||||
|
// Allocate a 1k buffer
|
||||||
|
byte[] buffer = new byte[1024];
|
||||||
|
int bytesRead;
|
||||||
|
|
||||||
|
// Simple do/while loop to read from stream until
|
||||||
|
// no bytes are returned
|
||||||
|
do
|
||||||
|
{
|
||||||
|
// Read data (up to 1k) from the stream
|
||||||
|
bytesRead = remoteStream.Read(buffer, 0, buffer.Length);
|
||||||
|
|
||||||
|
// Write the data to the local file
|
||||||
|
localStream.Write(buffer, 0, bytesRead);
|
||||||
|
|
||||||
|
// Increment total bytes processed
|
||||||
|
bytesProcessed += bytesRead;
|
||||||
|
} while (bytesRead > 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
|
void wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
|
||||||
{
|
{
|
||||||
downloadProgress.Value = e.ProgressPercentage;
|
downloadProgress.Value = e.ProgressPercentage;
|
||||||
|
|
|
||||||
|
|
@ -36,111 +36,139 @@ namespace NovetusLauncher
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ItemMaker));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ItemMaker));
|
||||||
this.button1 = new System.Windows.Forms.Button();
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||||
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
|
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
||||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
|
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||||
this.SuspendLayout();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
//
|
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||||
// button1
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
|
||||||
//
|
this.SuspendLayout();
|
||||||
this.button1.Location = new System.Drawing.Point(3, 80);
|
//
|
||||||
this.button1.Name = "button1";
|
// button1
|
||||||
this.button1.Size = new System.Drawing.Size(238, 23);
|
//
|
||||||
this.button1.TabIndex = 1;
|
this.button1.Location = new System.Drawing.Point(3, 80);
|
||||||
this.button1.Text = "Create!";
|
this.button1.Name = "button1";
|
||||||
this.button1.UseVisualStyleBackColor = true;
|
this.button1.Size = new System.Drawing.Size(238, 23);
|
||||||
this.button1.Click += new System.EventHandler(this.Button1Click);
|
this.button1.TabIndex = 1;
|
||||||
//
|
this.button1.Text = "Create!";
|
||||||
// textBox2
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
//
|
this.button1.Click += new System.EventHandler(this.Button1Click);
|
||||||
this.textBox2.Location = new System.Drawing.Point(46, 27);
|
//
|
||||||
this.textBox2.Name = "textBox2";
|
// textBox2
|
||||||
this.textBox2.Size = new System.Drawing.Size(76, 20);
|
//
|
||||||
this.textBox2.TabIndex = 2;
|
this.textBox2.Location = new System.Drawing.Point(98, 25);
|
||||||
//
|
this.textBox2.Name = "textBox2";
|
||||||
// numericUpDown1
|
this.textBox2.Size = new System.Drawing.Size(76, 20);
|
||||||
//
|
this.textBox2.TabIndex = 2;
|
||||||
this.numericUpDown1.Location = new System.Drawing.Point(161, 27);
|
//
|
||||||
this.numericUpDown1.Maximum = new decimal(new int[] {
|
// numericUpDown1
|
||||||
99,
|
//
|
||||||
0,
|
this.numericUpDown1.Location = new System.Drawing.Point(193, 25);
|
||||||
0,
|
this.numericUpDown1.Maximum = new decimal(new int[] {
|
||||||
0});
|
99,
|
||||||
this.numericUpDown1.Name = "numericUpDown1";
|
0,
|
||||||
this.numericUpDown1.Size = new System.Drawing.Size(36, 20);
|
0,
|
||||||
this.numericUpDown1.TabIndex = 3;
|
0});
|
||||||
//
|
this.numericUpDown1.Name = "numericUpDown1";
|
||||||
// label2
|
this.numericUpDown1.Size = new System.Drawing.Size(36, 20);
|
||||||
//
|
this.numericUpDown1.TabIndex = 3;
|
||||||
this.label2.Location = new System.Drawing.Point(63, 10);
|
//
|
||||||
this.label2.Name = "label2";
|
// label2
|
||||||
this.label2.Size = new System.Drawing.Size(46, 14);
|
//
|
||||||
this.label2.TabIndex = 6;
|
this.label2.Location = new System.Drawing.Point(116, 9);
|
||||||
this.label2.Text = "Item ID";
|
this.label2.Name = "label2";
|
||||||
//
|
this.label2.Size = new System.Drawing.Size(41, 14);
|
||||||
// label3
|
this.label2.TabIndex = 6;
|
||||||
//
|
this.label2.Text = "Item ID";
|
||||||
this.label3.Location = new System.Drawing.Point(161, 9);
|
//
|
||||||
this.label3.Name = "label3";
|
// label3
|
||||||
this.label3.Size = new System.Drawing.Size(42, 14);
|
//
|
||||||
this.label3.TabIndex = 7;
|
this.label3.Location = new System.Drawing.Point(190, 9);
|
||||||
this.label3.Text = "Version";
|
this.label3.Name = "label3";
|
||||||
this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
this.label3.Size = new System.Drawing.Size(42, 14);
|
||||||
//
|
this.label3.TabIndex = 7;
|
||||||
// comboBox1
|
this.label3.Text = "Version";
|
||||||
//
|
this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||||
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
//
|
||||||
this.comboBox1.FormattingEnabled = true;
|
// comboBox1
|
||||||
this.comboBox1.Items.AddRange(new object[] {
|
//
|
||||||
"http://www.roblox.com/",
|
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
"http://assetgame.roblox.com/",
|
this.comboBox1.FormattingEnabled = true;
|
||||||
"https://www.roblox.com/catalog/",
|
this.comboBox1.Items.AddRange(new object[] {
|
||||||
"https://www.roblox.com/library/"});
|
"http://www.roblox.com/",
|
||||||
this.comboBox1.Location = new System.Drawing.Point(3, 53);
|
"http://assetgame.roblox.com/",
|
||||||
this.comboBox1.Name = "comboBox1";
|
"https://www.roblox.com/catalog/",
|
||||||
this.comboBox1.Size = new System.Drawing.Size(238, 21);
|
"https://www.roblox.com/library/"});
|
||||||
this.comboBox1.TabIndex = 8;
|
this.comboBox1.Location = new System.Drawing.Point(3, 53);
|
||||||
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.ComboBox1SelectedIndexChanged);
|
this.comboBox1.Name = "comboBox1";
|
||||||
//
|
this.comboBox1.Size = new System.Drawing.Size(238, 21);
|
||||||
// checkBox1
|
this.comboBox1.TabIndex = 8;
|
||||||
//
|
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.ComboBox1SelectedIndexChanged);
|
||||||
this.checkBox1.Location = new System.Drawing.Point(18, 109);
|
//
|
||||||
this.checkBox1.Name = "checkBox1";
|
// checkBox1
|
||||||
this.checkBox1.Size = new System.Drawing.Size(214, 24);
|
//
|
||||||
this.checkBox1.TabIndex = 9;
|
this.checkBox1.Location = new System.Drawing.Point(12, 126);
|
||||||
this.checkBox1.Text = "Disable Help Message on Item Creation";
|
this.checkBox1.Name = "checkBox1";
|
||||||
this.checkBox1.UseVisualStyleBackColor = true;
|
this.checkBox1.Size = new System.Drawing.Size(220, 24);
|
||||||
this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged);
|
this.checkBox1.TabIndex = 9;
|
||||||
//
|
this.checkBox1.Text = "Disable Help Message on Item Creation";
|
||||||
// ItemMaker
|
this.checkBox1.UseVisualStyleBackColor = true;
|
||||||
//
|
this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged);
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
//
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
// progressBar1
|
||||||
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
//
|
||||||
this.ClientSize = new System.Drawing.Size(244, 139);
|
this.progressBar1.Location = new System.Drawing.Point(3, 110);
|
||||||
this.Controls.Add(this.checkBox1);
|
this.progressBar1.Name = "progressBar1";
|
||||||
this.Controls.Add(this.comboBox1);
|
this.progressBar1.Size = new System.Drawing.Size(238, 10);
|
||||||
this.Controls.Add(this.label3);
|
this.progressBar1.TabIndex = 10;
|
||||||
this.Controls.Add(this.label2);
|
//
|
||||||
this.Controls.Add(this.numericUpDown1);
|
// label1
|
||||||
this.Controls.Add(this.textBox2);
|
//
|
||||||
this.Controls.Add(this.button1);
|
this.label1.Location = new System.Drawing.Point(33, 9);
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
this.label1.Name = "label1";
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
this.label1.Size = new System.Drawing.Size(35, 14);
|
||||||
this.MaximizeBox = false;
|
this.label1.TabIndex = 11;
|
||||||
this.Name = "ItemMaker";
|
this.label1.Text = "Name";
|
||||||
this.Text = "Novetus Item SDK";
|
//
|
||||||
this.Closing += new System.ComponentModel.CancelEventHandler(this.ItemMakerClose);
|
// textBox1
|
||||||
this.Load += new System.EventHandler(this.ItemMakerLoad);
|
//
|
||||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
|
this.textBox1.Location = new System.Drawing.Point(12, 25);
|
||||||
this.ResumeLayout(false);
|
this.textBox1.Name = "textBox1";
|
||||||
this.PerformLayout();
|
this.textBox1.Size = new System.Drawing.Size(76, 20);
|
||||||
|
this.textBox1.TabIndex = 12;
|
||||||
|
//
|
||||||
|
// ItemMaker
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||||
|
this.ClientSize = new System.Drawing.Size(244, 152);
|
||||||
|
this.Controls.Add(this.textBox1);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.Controls.Add(this.progressBar1);
|
||||||
|
this.Controls.Add(this.checkBox1);
|
||||||
|
this.Controls.Add(this.comboBox1);
|
||||||
|
this.Controls.Add(this.label3);
|
||||||
|
this.Controls.Add(this.label2);
|
||||||
|
this.Controls.Add(this.numericUpDown1);
|
||||||
|
this.Controls.Add(this.textBox2);
|
||||||
|
this.Controls.Add(this.button1);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.Name = "ItemMaker";
|
||||||
|
this.Text = "Novetus Item SDK";
|
||||||
|
this.Closing += new System.ComponentModel.CancelEventHandler(this.ItemMakerClose);
|
||||||
|
this.Load += new System.EventHandler(this.ItemMakerLoad);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
}
|
}
|
||||||
private System.Windows.Forms.ComboBox comboBox1;
|
private System.Windows.Forms.ComboBox comboBox1;
|
||||||
|
|
@ -150,5 +178,8 @@ namespace NovetusLauncher
|
||||||
private System.Windows.Forms.TextBox textBox2;
|
private System.Windows.Forms.TextBox textBox2;
|
||||||
private System.Windows.Forms.Button button1;
|
private System.Windows.Forms.Button button1;
|
||||||
private System.Windows.Forms.CheckBox checkBox1;
|
private System.Windows.Forms.CheckBox checkBox1;
|
||||||
}
|
private System.Windows.Forms.ProgressBar progressBar1;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.TextBox textBox1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,14 +38,44 @@ namespace NovetusLauncher
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string version = ((numericUpDown1.Value != 0) && (isWebSite != true)) ? "&version=" + numericUpDown1.Value : "";
|
string version = ((numericUpDown1.Value != 0) && (isWebSite != true)) ? "&version=" + numericUpDown1.Value : "";
|
||||||
|
string fullURL = url + textBox2.Text + version;
|
||||||
System.Diagnostics.Process.Start(url + textBox2.Text + version);
|
|
||||||
|
if (!isWebSite)
|
||||||
if (!GlobalVars.DisabledHelp)
|
{
|
||||||
{
|
Downloader download = new Downloader(fullURL, textBox1.Text, "Roblox Model (*.rbxm)|*.rbxm|Roblox Mesh (*.mesh)|*.mesh|PNG Image (*.png)|*.png|WAV Sound (*.wav)|*.wav", progressBar1);
|
||||||
MessageBox.Show("In order for the item to work in Novetus, you'll need to find an icon for your item (it must be a .png file), then name it the same name as your item.\n\nIf you want to create a local (offline) item, you'll have to download the meshes/textures from the links in the rbxm file, then replace the links in the file pointing to where they are using rbxasset://. Look at the directory in the 'shareddata/charcustom' folder that best suits your item type, then look at the rbxm for any one of the items. If you get a corrupted file, change the URL using the drop down box.\n\nIf you're trying to create a offline item. please use these file extension names when saving your files:\n.rbxm - ROBLOX Model/Item\n.mesh - ROBLOX Mesh\n.png - Texture/Icon\n.wav - Sound","Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
||||||
}
|
if (!GlobalVars.DisabledHelp)
|
||||||
}
|
{
|
||||||
|
string helptext = "If you're trying to create a offline item, please use these file extension names when saving your files:\n.rbxm - ROBLOX Model/Item\n.mesh - ROBLOX Mesh\n.png - Texture/Icon\n.wav - Sound";
|
||||||
|
MessageBox.Show(helptext, "Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string helptext = "In order for the item to work in Novetus, you'll need to find an icon for your item (it must be a .png file), then name it the same name as your item.\n\nIf you want to create a local (offline) item, you'll have to download the meshes/textures from the links in the rbxm file, then replace the links in the file pointing to where they are using rbxasset://. Look at the directory in the 'shareddata/charcustom' folder that best suits your item type, then look at the rbxm for any one of the items. If you get a corrupted file, change the URL using the drop down box.";
|
||||||
|
download.InitDownload(true, (!GlobalVars.DisabledHelp) ? helptext : "");
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(download.getDownloadOutcome()))
|
||||||
|
{
|
||||||
|
MessageBox.Show(download.getDownloadOutcome(), "Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
System.Diagnostics.Process.Start(fullURL);
|
||||||
|
|
||||||
|
if (!GlobalVars.DisabledHelp)
|
||||||
|
{
|
||||||
|
string helptext = "In order for the item to work in Novetus, you'll need to find an icon for your item (it must be a .png file), then name it the same name as your item.\n\nIf you want to create a local (offline) item, you'll have to download the meshes/textures from the links in the rbxm file, then replace the links in the file pointing to where they are using rbxasset://. Look at the directory in the 'shareddata/charcustom' folder that best suits your item type, then look at the rbxm for any one of the items. If you get a corrupted file, change the URL using the drop down box.\n\nIf you're trying to create a offline item, please use these file extension names when saving your files:\n.rbxm - ROBLOX Model/Item\n.mesh - ROBLOX Mesh\n.png - Texture/Icon\n.wav - Sound";
|
||||||
|
MessageBox.Show(helptext, "Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
catch(Exception)
|
catch(Exception)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Error: Unable to download the file. Try using a different file name or ID.","Novetus Item SDK | Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show("Error: Unable to download the file. Try using a different file name or ID.","Novetus Item SDK | Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
|
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
</assembly>
|
||||||
Loading…
Reference in New Issue