add <validate>
This commit is contained in:
parent
ca96aa32a4
commit
889ba4a72e
|
|
@ -1837,7 +1837,7 @@ public class GlobalFuncs
|
|||
else if (GlobalVars.UserConfiguration.FirstServerLaunch)
|
||||
{
|
||||
#if LAUNCHER
|
||||
MessageBox.Show("For your first time hosting a server, make sure your server's port forwarded (set up in your router), going through a tunnel server, or running from UPnP.\nIf your port is forwarded or you are going through a tunnel server, make sure your port is set up as UDP, not TCP.\nRoblox does NOT use TCP, only UDP.", "Novetus - Hosting Tips", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
MessageBox.Show("For your first time hosting a server, make sure your server's port forwarded (set up in your router), going through a tunnel server, or running from UPnP.\nIf your port is forwarded or you are going through a tunnel server, make sure your port is set up as UDP, not TCP.\nRoblox does NOT use TCP, only UDP.", "Novetus - Hosting Tips", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
#elif CMD
|
||||
ConsolePrint("For your first time hosting a server, make sure your server's port forwarded (set up in your router), going through a tunnel server, or running from UPnP.\nIf your port is forwarded or you are going through a tunnel server, make sure your port is set up as UDP, not TCP.\nRoblox does NOT use TCP, only UDP.\nPress any key to continue...", 4);
|
||||
Console.ReadKey();
|
||||
|
|
@ -1878,8 +1878,69 @@ public class GlobalFuncs
|
|||
FileFormat.ClientInfo info = GetClientInfoValues(ClientName);
|
||||
string quote = "\"";
|
||||
string args = "";
|
||||
GlobalVars.ValidatedExtraFiles = 0;
|
||||
|
||||
if (info.CommandLineArgs.Equals("%args%"))
|
||||
if (!info.AlreadyHasSecurity)
|
||||
{
|
||||
string validstart = "<validate>";
|
||||
string validend = "</validate>";
|
||||
|
||||
foreach (string line in info.CommandLineArgs.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
|
||||
{
|
||||
if (line.Contains(validstart) && line.Contains(validend))
|
||||
{
|
||||
string extractedFile = ScriptFuncs.ClientScript.GetArgsFromTag(line, validstart, validend);
|
||||
if (!string.IsNullOrWhiteSpace(extractedFile))
|
||||
{
|
||||
try
|
||||
{
|
||||
string[] parsedFileParams = extractedFile.Split('|');
|
||||
string filePath = parsedFileParams[0];
|
||||
string fileMD5 = parsedFileParams[1];
|
||||
string fullFilePath = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\" + filePath;
|
||||
|
||||
if (!SecurityFuncs.CheckMD5(fileMD5, fullFilePath))
|
||||
{
|
||||
#if URI
|
||||
if (label != null)
|
||||
{
|
||||
label.Text = "The client has been detected as modified.";
|
||||
}
|
||||
#elif LAUNCHER
|
||||
if (box != null)
|
||||
{
|
||||
ConsolePrint("ERROR - Failed to launch Novetus. (The client has been detected as modified.)", 2, box);
|
||||
}
|
||||
#elif CMD
|
||||
ConsolePrint("ERROR - Failed to launch Novetus. (The client has been detected as modified.)", 2);
|
||||
#endif
|
||||
|
||||
#if URI || LAUNCHER
|
||||
MessageBox.Show("Failed to launch Novetus. (Error: The client has been detected as modified.)", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalVars.ValidatedExtraFiles += 1;
|
||||
}
|
||||
}
|
||||
#if URI || LAUNCHER || CMD
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogExceptions(ex);
|
||||
#else
|
||||
catch (Exception)
|
||||
{
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (info.CommandLineArgs.Contains("%args%"))
|
||||
{
|
||||
if (!info.Fix2007)
|
||||
{
|
||||
|
|
@ -1997,6 +2058,8 @@ public class GlobalFuncs
|
|||
GlobalVars.GameOpened = GlobalVars.OpenedGame.Client;
|
||||
break;
|
||||
}
|
||||
|
||||
GlobalVars.ValidatedExtraFiles = 0;
|
||||
}
|
||||
#if URI || LAUNCHER || CMD
|
||||
catch (Exception ex)
|
||||
|
|
|
|||
|
|
@ -66,13 +66,6 @@ public static class GlobalVars
|
|||
public static string soloLoadout = "";
|
||||
#endregion
|
||||
|
||||
#region Booleans
|
||||
public static bool ExtendedVersionNumber = false;
|
||||
public static bool LocalPlayMode = false;
|
||||
public static bool AdminMode = false;
|
||||
public static bool ColorsLoaded = false;
|
||||
#endregion
|
||||
|
||||
#region Discord Variables
|
||||
//discord
|
||||
public static DiscordRPC.RichPresence presence;
|
||||
|
|
@ -83,5 +76,13 @@ public static class GlobalVars
|
|||
public static string image_instudio = "instudio_small";
|
||||
public static string image_incustomization = "incustomization_small";
|
||||
#endregion
|
||||
|
||||
#region Other
|
||||
public static bool ExtendedVersionNumber = false;
|
||||
public static bool LocalPlayMode = false;
|
||||
public static bool AdminMode = false;
|
||||
public static bool ColorsLoaded = false;
|
||||
public static int ValidatedExtraFiles = 0;
|
||||
#endregion
|
||||
}
|
||||
#endregion
|
||||
|
|
|
|||
|
|
@ -67,13 +67,15 @@ public class ScriptFuncs
|
|||
+ (info.UsesPlayerName ? GlobalVars.UserConfiguration.PlayerName : "Player") + "',"
|
||||
+ GlobalVars.Loadout + ","
|
||||
+ md5s + ",'"
|
||||
+ GlobalVars.UserConfiguration.PlayerTripcode + "');";
|
||||
+ GlobalVars.UserConfiguration.PlayerTripcode
|
||||
+ ((GlobalVars.ValidatedExtraFiles > 0) ? "'," + GlobalVars.ValidatedExtraFiles.ToString() + ");" : "');");
|
||||
case ScriptType.Server:
|
||||
return "_G.CSServer("
|
||||
+ GlobalVars.UserConfiguration.RobloxPort + ","
|
||||
+ GlobalVars.UserConfiguration.PlayerLimit + ","
|
||||
+ md5s + ","
|
||||
+ GlobalVars.UserConfiguration.ShowServerNotifications.ToString().ToLower() + ");";
|
||||
+ GlobalVars.UserConfiguration.ShowServerNotifications.ToString().ToLower()
|
||||
+ ((GlobalVars.ValidatedExtraFiles > 0) ? "," + GlobalVars.ValidatedExtraFiles.ToString() : "") + ");";
|
||||
case ScriptType.Solo:
|
||||
case ScriptType.EasterEgg:
|
||||
return "_G.CSSolo("
|
||||
|
|
@ -203,11 +205,6 @@ public class ScriptFuncs
|
|||
}
|
||||
}
|
||||
|
||||
public static string GetRawArgsForType(ScriptType type, string ClientName, string luafile)
|
||||
{
|
||||
return "dofile('" + luafile + "'); " + Generator.GetScriptFuncForType(ClientName, type);
|
||||
}
|
||||
|
||||
public static int ConvertIconStringToInt()
|
||||
{
|
||||
switch (GlobalVars.UserCustomization.Icon)
|
||||
|
|
@ -256,6 +253,20 @@ public class ScriptFuncs
|
|||
return GetFolderAndMapName(source, " -");
|
||||
}
|
||||
|
||||
public static string GetRawArgsForType(ScriptType type, string ClientName, string luafile)
|
||||
{
|
||||
FileFormat.ClientInfo info = GlobalFuncs.GetClientInfoValues(ClientName);
|
||||
|
||||
if (!info.Fix2007)
|
||||
{
|
||||
return Generator.GetScriptFuncForType(ClientName, type);
|
||||
}
|
||||
else
|
||||
{
|
||||
return luafile;
|
||||
}
|
||||
}
|
||||
|
||||
public static string CompileScript(string code, string tag, string endtag, string mapfile, string luafile, string rbxexe, bool usesharedtags = true)
|
||||
{
|
||||
return CompileScript(GlobalVars.UserConfiguration.SelectedClient, code, tag, endtag, mapfile, luafile, rbxexe, usesharedtags);
|
||||
|
|
@ -310,43 +321,43 @@ public class ScriptFuncs
|
|||
string md5sd = "'" + md5exe + "','" + md5dir + "','" + md5script + "'";
|
||||
string md5s = "'" + info.ClientMD5 + "','" + md5dir + "','" + info.ScriptMD5 + "'";
|
||||
string compiled = extractedCode.Replace("%version%", GlobalVars.ProgramInformation.Version)
|
||||
.Replace("%mapfile%", mapfile)
|
||||
.Replace("%luafile%", luafile)
|
||||
.Replace("%charapp%", GlobalVars.UserCustomization.CharacterID)
|
||||
.Replace("%ip%", GlobalVars.IP)
|
||||
.Replace("%port%", GlobalVars.UserConfiguration.RobloxPort.ToString())
|
||||
.Replace("%mapfile%", mapfile)
|
||||
.Replace("%luafile%", luafile)
|
||||
.Replace("%charapp%", GlobalVars.UserCustomization.CharacterID)
|
||||
.Replace("%ip%", GlobalVars.IP)
|
||||
.Replace("%port%", GlobalVars.UserConfiguration.RobloxPort.ToString())
|
||||
.Replace("%joinport%", GlobalVars.JoinPort.ToString())
|
||||
.Replace("%name%", GlobalVars.UserConfiguration.PlayerName)
|
||||
.Replace("%icone%", ConvertIconStringToInt().ToString())
|
||||
.Replace("%icon%", GlobalVars.UserCustomization.Icon)
|
||||
.Replace("%id%", GlobalVars.UserConfiguration.UserID.ToString())
|
||||
.Replace("%face%", GlobalVars.UserCustomization.Face)
|
||||
.Replace("%head%", GlobalVars.UserCustomization.Head)
|
||||
.Replace("%tshirt%", GlobalVars.UserCustomization.TShirt)
|
||||
.Replace("%shirt%", GlobalVars.UserCustomization.Shirt)
|
||||
.Replace("%pants%", GlobalVars.UserCustomization.Pants)
|
||||
.Replace("%hat1%", GlobalVars.UserCustomization.Hat1)
|
||||
.Replace("%hat2%", GlobalVars.UserCustomization.Hat2)
|
||||
.Replace("%hat3%", GlobalVars.UserCustomization.Hat3)
|
||||
.Replace("%faced%", GlobalVars.UserCustomization.Face.Contains("http://") ? GlobalVars.UserCustomization.Face : GlobalPaths.faceGameDir + GlobalVars.UserCustomization.Face)
|
||||
.Replace("%headd%", GlobalPaths.headGameDir + GlobalVars.UserCustomization.Head)
|
||||
.Replace("%tshirtd%", GlobalVars.UserCustomization.TShirt.Contains("http://") ? GlobalVars.UserCustomization.TShirt : GlobalPaths.tshirtGameDir + GlobalVars.UserCustomization.TShirt)
|
||||
.Replace("%shirtd%", GlobalVars.UserCustomization.Shirt.Contains("http://") ? GlobalVars.UserCustomization.Shirt : GlobalPaths.shirtGameDir + GlobalVars.UserCustomization.Shirt)
|
||||
.Replace("%pantsd%", GlobalVars.UserCustomization.Pants.Contains("http://") ? GlobalVars.UserCustomization.Pants : GlobalPaths.pantsGameDir + GlobalVars.UserCustomization.Pants)
|
||||
.Replace("%hat1d%", GlobalPaths.hatGameDir + GlobalVars.UserCustomization.Hat1)
|
||||
.Replace("%hat2d%", GlobalPaths.hatGameDir + GlobalVars.UserCustomization.Hat2)
|
||||
.Replace("%hat3d%", GlobalPaths.hatGameDir + GlobalVars.UserCustomization.Hat3)
|
||||
.Replace("%headcolor%", GlobalVars.UserCustomization.HeadColorID.ToString())
|
||||
.Replace("%torsocolor%", GlobalVars.UserCustomization.TorsoColorID.ToString())
|
||||
.Replace("%larmcolor%", GlobalVars.UserCustomization.LeftArmColorID.ToString())
|
||||
.Replace("%llegcolor%", GlobalVars.UserCustomization.LeftLegColorID.ToString())
|
||||
.Replace("%rarmcolor%", GlobalVars.UserCustomization.RightArmColorID.ToString())
|
||||
.Replace("%rlegcolor%", GlobalVars.UserCustomization.RightLegColorID.ToString())
|
||||
.Replace("%md5launcher%", md5dir)
|
||||
.Replace("%md5script%", info.ScriptMD5)
|
||||
.Replace("%md5exe%", info.ClientMD5)
|
||||
.Replace("%md5scriptd%", md5script)
|
||||
.Replace("%md5exed%", md5exe)
|
||||
.Replace("%name%", GlobalVars.UserConfiguration.PlayerName)
|
||||
.Replace("%icone%", ConvertIconStringToInt().ToString())
|
||||
.Replace("%icon%", GlobalVars.UserCustomization.Icon)
|
||||
.Replace("%id%", GlobalVars.UserConfiguration.UserID.ToString())
|
||||
.Replace("%face%", GlobalVars.UserCustomization.Face)
|
||||
.Replace("%head%", GlobalVars.UserCustomization.Head)
|
||||
.Replace("%tshirt%", GlobalVars.UserCustomization.TShirt)
|
||||
.Replace("%shirt%", GlobalVars.UserCustomization.Shirt)
|
||||
.Replace("%pants%", GlobalVars.UserCustomization.Pants)
|
||||
.Replace("%hat1%", GlobalVars.UserCustomization.Hat1)
|
||||
.Replace("%hat2%", GlobalVars.UserCustomization.Hat2)
|
||||
.Replace("%hat3%", GlobalVars.UserCustomization.Hat3)
|
||||
.Replace("%faced%", GlobalVars.UserCustomization.Face.Contains("http://") ? GlobalVars.UserCustomization.Face : GlobalPaths.faceGameDir + GlobalVars.UserCustomization.Face)
|
||||
.Replace("%headd%", GlobalPaths.headGameDir + GlobalVars.UserCustomization.Head)
|
||||
.Replace("%tshirtd%", GlobalVars.UserCustomization.TShirt.Contains("http://") ? GlobalVars.UserCustomization.TShirt : GlobalPaths.tshirtGameDir + GlobalVars.UserCustomization.TShirt)
|
||||
.Replace("%shirtd%", GlobalVars.UserCustomization.Shirt.Contains("http://") ? GlobalVars.UserCustomization.Shirt : GlobalPaths.shirtGameDir + GlobalVars.UserCustomization.Shirt)
|
||||
.Replace("%pantsd%", GlobalVars.UserCustomization.Pants.Contains("http://") ? GlobalVars.UserCustomization.Pants : GlobalPaths.pantsGameDir + GlobalVars.UserCustomization.Pants)
|
||||
.Replace("%hat1d%", GlobalPaths.hatGameDir + GlobalVars.UserCustomization.Hat1)
|
||||
.Replace("%hat2d%", GlobalPaths.hatGameDir + GlobalVars.UserCustomization.Hat2)
|
||||
.Replace("%hat3d%", GlobalPaths.hatGameDir + GlobalVars.UserCustomization.Hat3)
|
||||
.Replace("%headcolor%", GlobalVars.UserCustomization.HeadColorID.ToString())
|
||||
.Replace("%torsocolor%", GlobalVars.UserCustomization.TorsoColorID.ToString())
|
||||
.Replace("%larmcolor%", GlobalVars.UserCustomization.LeftArmColorID.ToString())
|
||||
.Replace("%llegcolor%", GlobalVars.UserCustomization.LeftLegColorID.ToString())
|
||||
.Replace("%rarmcolor%", GlobalVars.UserCustomization.RightArmColorID.ToString())
|
||||
.Replace("%rlegcolor%", GlobalVars.UserCustomization.RightLegColorID.ToString())
|
||||
.Replace("%md5launcher%", md5dir)
|
||||
.Replace("%md5script%", info.ScriptMD5)
|
||||
.Replace("%md5exe%", info.ClientMD5)
|
||||
.Replace("%md5scriptd%", md5script)
|
||||
.Replace("%md5exed%", md5exe)
|
||||
.Replace("%md5s%", md5s)
|
||||
.Replace("%md5sd%", md5sd)
|
||||
.Replace("%limit%", GlobalVars.UserConfiguration.PlayerLimit.ToString())
|
||||
|
|
@ -354,7 +365,6 @@ public class ScriptFuncs
|
|||
.Replace("%hat4%", GlobalVars.UserCustomization.Extra)
|
||||
.Replace("%extrad%", GlobalPaths.extraGameDir + GlobalVars.UserCustomization.Extra)
|
||||
.Replace("%hat4d%", GlobalPaths.hatGameDir + GlobalVars.UserCustomization.Extra)
|
||||
.Replace("%args%", GetRawArgsForType(type, ClientName, luafile))
|
||||
.Replace("%mapfiled%", GlobalPaths.BaseGameDir + GlobalVars.UserConfiguration.MapPathSnip.Replace(@"\\", @"\").Replace(@"/", @"\"))
|
||||
.Replace("%mapfilec%", extractedCode.Contains("%mapfilec%") ? GlobalFuncs.CopyMapToRBXAsset() : "")
|
||||
.Replace("%tripcode%", GlobalVars.UserConfiguration.PlayerTripcode)
|
||||
|
|
@ -362,7 +372,9 @@ public class ScriptFuncs
|
|||
.Replace("%addonscriptpath%", GlobalPaths.AddonScriptPath)
|
||||
.Replace("%notifications%", GlobalVars.UserConfiguration.ShowServerNotifications.ToString().ToLower())
|
||||
.Replace("%loadout%", code.Contains("<solo>") ? GlobalVars.soloLoadout : GlobalVars.Loadout)
|
||||
.Replace("%doublequote%", "\"");
|
||||
.Replace("%doublequote%", "\"")
|
||||
.Replace("%validatedextrafiles%", GlobalVars.ValidatedExtraFiles.ToString())
|
||||
.Replace("%argstring%", GetRawArgsForType(type, ClientName, luafile));
|
||||
|
||||
if (compiled.Contains("%disabled%"))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -135,6 +135,9 @@ public class SecurityFuncs
|
|||
|
||||
public static bool CheckMD5(string MD5Hash, string path)
|
||||
{
|
||||
if (!File.Exists(path))
|
||||
return false;
|
||||
|
||||
using (var md5 = MD5.Create())
|
||||
{
|
||||
using (var stream = File.OpenRead(path))
|
||||
|
|
|
|||
|
|
@ -144,6 +144,10 @@ partial class ClientinfoEditor
|
|||
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.checkBox5 = new System.Windows.Forms.CheckBox();
|
||||
this.validatedextrafilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.validateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.argstringToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addValidateTagsForRelativePathToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
|
|
@ -326,50 +330,51 @@ partial class ClientinfoEditor
|
|||
this.soloToolStripMenuItem,
|
||||
this.studioToolStripMenuItem,
|
||||
this.no3dToolStripMenuItem,
|
||||
this.sharedToolStripMenuItem});
|
||||
this.sharedToolStripMenuItem,
|
||||
this.validateToolStripMenuItem});
|
||||
this.tagsToolStripMenuItem.Name = "tagsToolStripMenuItem";
|
||||
this.tagsToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
|
||||
this.tagsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.tagsToolStripMenuItem.Text = "Add Tags";
|
||||
//
|
||||
// clientToolStripMenuItem
|
||||
//
|
||||
this.clientToolStripMenuItem.Name = "clientToolStripMenuItem";
|
||||
this.clientToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
|
||||
this.clientToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.clientToolStripMenuItem.Text = "<client>";
|
||||
this.clientToolStripMenuItem.Click += new System.EventHandler(this.clientToolStripMenuItem_Click);
|
||||
//
|
||||
// serverToolStripMenuItem
|
||||
//
|
||||
this.serverToolStripMenuItem.Name = "serverToolStripMenuItem";
|
||||
this.serverToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
|
||||
this.serverToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.serverToolStripMenuItem.Text = "<server>";
|
||||
this.serverToolStripMenuItem.Click += new System.EventHandler(this.serverToolStripMenuItem_Click);
|
||||
//
|
||||
// soloToolStripMenuItem
|
||||
//
|
||||
this.soloToolStripMenuItem.Name = "soloToolStripMenuItem";
|
||||
this.soloToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
|
||||
this.soloToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.soloToolStripMenuItem.Text = "<solo>";
|
||||
this.soloToolStripMenuItem.Click += new System.EventHandler(this.soloToolStripMenuItem_Click);
|
||||
//
|
||||
// studioToolStripMenuItem
|
||||
//
|
||||
this.studioToolStripMenuItem.Name = "studioToolStripMenuItem";
|
||||
this.studioToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
|
||||
this.studioToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.studioToolStripMenuItem.Text = "<studio>";
|
||||
this.studioToolStripMenuItem.Click += new System.EventHandler(this.studioToolStripMenuItem_Click);
|
||||
//
|
||||
// no3dToolStripMenuItem
|
||||
//
|
||||
this.no3dToolStripMenuItem.Name = "no3dToolStripMenuItem";
|
||||
this.no3dToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
|
||||
this.no3dToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.no3dToolStripMenuItem.Text = "<no3d>";
|
||||
this.no3dToolStripMenuItem.Click += new System.EventHandler(this.no3dToolStripMenuItem_Click);
|
||||
//
|
||||
// sharedToolStripMenuItem
|
||||
//
|
||||
this.sharedToolStripMenuItem.Name = "sharedToolStripMenuItem";
|
||||
this.sharedToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
|
||||
this.sharedToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.sharedToolStripMenuItem.Text = "<shared>";
|
||||
this.sharedToolStripMenuItem.Click += new System.EventHandler(this.sharedToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -383,7 +388,7 @@ partial class ClientinfoEditor
|
|||
this.debuggingToolStripMenuItem,
|
||||
this.argsToolStripMenuItem});
|
||||
this.variablesToolStripMenuItem.Name = "variablesToolStripMenuItem";
|
||||
this.variablesToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
|
||||
this.variablesToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.variablesToolStripMenuItem.Text = "Add Variables";
|
||||
//
|
||||
// generalToolStripMenuItem
|
||||
|
|
@ -399,85 +404,87 @@ partial class ClientinfoEditor
|
|||
this.scripttypeToolStripMenuItem,
|
||||
this.versionToolStripMenuItem,
|
||||
this.doublequoteToolStripMenuItem,
|
||||
this.joinportToolStripMenuItem});
|
||||
this.joinportToolStripMenuItem,
|
||||
this.validatedextrafilesToolStripMenuItem,
|
||||
this.argstringToolStripMenuItem});
|
||||
this.generalToolStripMenuItem.Name = "generalToolStripMenuItem";
|
||||
this.generalToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
|
||||
this.generalToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.generalToolStripMenuItem.Text = "General";
|
||||
//
|
||||
// mapfileToolStripMenuItem
|
||||
//
|
||||
this.mapfileToolStripMenuItem.Name = "mapfileToolStripMenuItem";
|
||||
this.mapfileToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.mapfileToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.mapfileToolStripMenuItem.Text = "%mapfile%";
|
||||
this.mapfileToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// mapfiledToolStripMenuItem
|
||||
//
|
||||
this.mapfiledToolStripMenuItem.Name = "mapfiledToolStripMenuItem";
|
||||
this.mapfiledToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.mapfiledToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.mapfiledToolStripMenuItem.Text = "%mapfiled%";
|
||||
this.mapfiledToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// mapfilecToolStripMenuItem
|
||||
//
|
||||
this.mapfilecToolStripMenuItem.Name = "mapfilecToolStripMenuItem";
|
||||
this.mapfilecToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.mapfilecToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.mapfilecToolStripMenuItem.Text = "%mapfilec%";
|
||||
this.mapfilecToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// luafileToolStripMenuItem
|
||||
//
|
||||
this.luafileToolStripMenuItem.Name = "luafileToolStripMenuItem";
|
||||
this.luafileToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.luafileToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.luafileToolStripMenuItem.Text = "%luafile%";
|
||||
this.luafileToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// ipToolStripMenuItem
|
||||
//
|
||||
this.ipToolStripMenuItem.Name = "ipToolStripMenuItem";
|
||||
this.ipToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.ipToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.ipToolStripMenuItem.Text = "%ip%";
|
||||
this.ipToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// portToolStripMenuItem
|
||||
//
|
||||
this.portToolStripMenuItem.Name = "portToolStripMenuItem";
|
||||
this.portToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.portToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.portToolStripMenuItem.Text = "%port%";
|
||||
this.portToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// addonscriptpathToolStripMenuItem
|
||||
//
|
||||
this.addonscriptpathToolStripMenuItem.Name = "addonscriptpathToolStripMenuItem";
|
||||
this.addonscriptpathToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.addonscriptpathToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.addonscriptpathToolStripMenuItem.Text = "%addonscriptpath%";
|
||||
this.addonscriptpathToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// scripttypeToolStripMenuItem
|
||||
//
|
||||
this.scripttypeToolStripMenuItem.Name = "scripttypeToolStripMenuItem";
|
||||
this.scripttypeToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.scripttypeToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.scripttypeToolStripMenuItem.Text = "%scripttype%";
|
||||
this.scripttypeToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// versionToolStripMenuItem
|
||||
//
|
||||
this.versionToolStripMenuItem.Name = "versionToolStripMenuItem";
|
||||
this.versionToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.versionToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.versionToolStripMenuItem.Text = "%version%";
|
||||
this.versionToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// doublequoteToolStripMenuItem
|
||||
//
|
||||
this.doublequoteToolStripMenuItem.Name = "doublequoteToolStripMenuItem";
|
||||
this.doublequoteToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.doublequoteToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.doublequoteToolStripMenuItem.Text = "%doublequote%";
|
||||
this.doublequoteToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// joinportToolStripMenuItem
|
||||
//
|
||||
this.joinportToolStripMenuItem.Name = "joinportToolStripMenuItem";
|
||||
this.joinportToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.joinportToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.joinportToolStripMenuItem.Text = "%joinport%";
|
||||
this.joinportToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -487,20 +494,20 @@ partial class ClientinfoEditor
|
|||
this.limitToolStripMenuItem,
|
||||
this.notificationsToolStripMenuItem});
|
||||
this.serverToolStripMenuItem1.Name = "serverToolStripMenuItem1";
|
||||
this.serverToolStripMenuItem1.Size = new System.Drawing.Size(163, 22);
|
||||
this.serverToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
|
||||
this.serverToolStripMenuItem1.Text = "Server";
|
||||
//
|
||||
// limitToolStripMenuItem
|
||||
//
|
||||
this.limitToolStripMenuItem.Name = "limitToolStripMenuItem";
|
||||
this.limitToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
|
||||
this.limitToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.limitToolStripMenuItem.Text = "%limit%";
|
||||
this.limitToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// notificationsToolStripMenuItem
|
||||
//
|
||||
this.notificationsToolStripMenuItem.Name = "notificationsToolStripMenuItem";
|
||||
this.notificationsToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
|
||||
this.notificationsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.notificationsToolStripMenuItem.Text = "%notifications%";
|
||||
this.notificationsToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -515,55 +522,55 @@ partial class ClientinfoEditor
|
|||
this.md5sToolStripMenuItem,
|
||||
this.md5sdToolStripMenuItem});
|
||||
this.securityToolStripMenuItem.Name = "securityToolStripMenuItem";
|
||||
this.securityToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
|
||||
this.securityToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.securityToolStripMenuItem.Text = "Security";
|
||||
//
|
||||
// md5launcherToolStripMenuItem
|
||||
//
|
||||
this.md5launcherToolStripMenuItem.Name = "md5launcherToolStripMenuItem";
|
||||
this.md5launcherToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
|
||||
this.md5launcherToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.md5launcherToolStripMenuItem.Text = "%md5launcher%";
|
||||
this.md5launcherToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// md5scriptToolStripMenuItem
|
||||
//
|
||||
this.md5scriptToolStripMenuItem.Name = "md5scriptToolStripMenuItem";
|
||||
this.md5scriptToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
|
||||
this.md5scriptToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.md5scriptToolStripMenuItem.Text = "%md5script%";
|
||||
this.md5scriptToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// md5exeToolStripMenuItem
|
||||
//
|
||||
this.md5exeToolStripMenuItem.Name = "md5exeToolStripMenuItem";
|
||||
this.md5exeToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
|
||||
this.md5exeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.md5exeToolStripMenuItem.Text = "%md5exe%";
|
||||
this.md5exeToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// md5scriptdToolStripMenuItem
|
||||
//
|
||||
this.md5scriptdToolStripMenuItem.Name = "md5scriptdToolStripMenuItem";
|
||||
this.md5scriptdToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
|
||||
this.md5scriptdToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.md5scriptdToolStripMenuItem.Text = "%md5scriptd%";
|
||||
this.md5scriptdToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// md5exedToolStripMenuItem
|
||||
//
|
||||
this.md5exedToolStripMenuItem.Name = "md5exedToolStripMenuItem";
|
||||
this.md5exedToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
|
||||
this.md5exedToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.md5exedToolStripMenuItem.Text = "%md5exed%";
|
||||
this.md5exedToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// md5sToolStripMenuItem
|
||||
//
|
||||
this.md5sToolStripMenuItem.Name = "md5sToolStripMenuItem";
|
||||
this.md5sToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
|
||||
this.md5sToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.md5sToolStripMenuItem.Text = "%md5s%";
|
||||
this.md5sToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// md5sdToolStripMenuItem
|
||||
//
|
||||
this.md5sdToolStripMenuItem.Name = "md5sdToolStripMenuItem";
|
||||
this.md5sdToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
|
||||
this.md5sdToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.md5sdToolStripMenuItem.Text = "%md5sd%";
|
||||
this.md5sdToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -575,7 +582,7 @@ partial class ClientinfoEditor
|
|||
this.idToolStripMenuItem,
|
||||
this.tripcodeToolStripMenuItem});
|
||||
this.playerToolStripMenuItem.Name = "playerToolStripMenuItem";
|
||||
this.playerToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
|
||||
this.playerToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.playerToolStripMenuItem.Text = "Player";
|
||||
//
|
||||
// customizationToolStripMenuItem
|
||||
|
|
@ -592,7 +599,7 @@ partial class ClientinfoEditor
|
|||
this.charappToolStripMenuItem,
|
||||
this.loadoutToolStripMenuItem});
|
||||
this.customizationToolStripMenuItem.Name = "customizationToolStripMenuItem";
|
||||
this.customizationToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
|
||||
this.customizationToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.customizationToolStripMenuItem.Text = "Customization";
|
||||
//
|
||||
// bodyColorsToolStripMenuItem
|
||||
|
|
@ -892,21 +899,21 @@ partial class ClientinfoEditor
|
|||
// nameToolStripMenuItem
|
||||
//
|
||||
this.nameToolStripMenuItem.Name = "nameToolStripMenuItem";
|
||||
this.nameToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
|
||||
this.nameToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.nameToolStripMenuItem.Text = "%name%";
|
||||
this.nameToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// idToolStripMenuItem
|
||||
//
|
||||
this.idToolStripMenuItem.Name = "idToolStripMenuItem";
|
||||
this.idToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
|
||||
this.idToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.idToolStripMenuItem.Text = "%id%";
|
||||
this.idToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// tripcodeToolStripMenuItem
|
||||
//
|
||||
this.tripcodeToolStripMenuItem.Name = "tripcodeToolStripMenuItem";
|
||||
this.tripcodeToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
|
||||
this.tripcodeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.tripcodeToolStripMenuItem.Text = "%tripcode%";
|
||||
this.tripcodeToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -916,34 +923,34 @@ partial class ClientinfoEditor
|
|||
this.donothingToolStripMenuItem,
|
||||
this.disabledToolStripMenuItem});
|
||||
this.debuggingToolStripMenuItem.Name = "debuggingToolStripMenuItem";
|
||||
this.debuggingToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
|
||||
this.debuggingToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.debuggingToolStripMenuItem.Text = "Debugging/Misc";
|
||||
//
|
||||
// donothingToolStripMenuItem
|
||||
//
|
||||
this.donothingToolStripMenuItem.Name = "donothingToolStripMenuItem";
|
||||
this.donothingToolStripMenuItem.Size = new System.Drawing.Size(150, 22);
|
||||
this.donothingToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.donothingToolStripMenuItem.Text = "%donothing%";
|
||||
this.donothingToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// disabledToolStripMenuItem
|
||||
//
|
||||
this.disabledToolStripMenuItem.Name = "disabledToolStripMenuItem";
|
||||
this.disabledToolStripMenuItem.Size = new System.Drawing.Size(150, 22);
|
||||
this.disabledToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.disabledToolStripMenuItem.Text = "%disabled%";
|
||||
this.disabledToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// argsToolStripMenuItem
|
||||
//
|
||||
this.argsToolStripMenuItem.Name = "argsToolStripMenuItem";
|
||||
this.argsToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
|
||||
this.argsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.argsToolStripMenuItem.Text = "%args%";
|
||||
this.argsToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// documentationToolStripMenuItem1
|
||||
//
|
||||
this.documentationToolStripMenuItem1.Name = "documentationToolStripMenuItem1";
|
||||
this.documentationToolStripMenuItem1.Size = new System.Drawing.Size(157, 22);
|
||||
this.documentationToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
|
||||
this.documentationToolStripMenuItem1.Text = "Documentation";
|
||||
this.documentationToolStripMenuItem1.Click += new System.EventHandler(this.documentationToolStripMenuItem_Click);
|
||||
//
|
||||
|
|
@ -1070,6 +1077,36 @@ partial class ClientinfoEditor
|
|||
this.checkBox5.UseVisualStyleBackColor = true;
|
||||
this.checkBox5.CheckedChanged += new System.EventHandler(this.checkBox5_CheckedChanged);
|
||||
//
|
||||
// validatedextrafilesToolStripMenuItem
|
||||
//
|
||||
this.validatedextrafilesToolStripMenuItem.Name = "validatedextrafilesToolStripMenuItem";
|
||||
this.validatedextrafilesToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.validatedextrafilesToolStripMenuItem.Text = "%validatedextrafiles%";
|
||||
this.validatedextrafilesToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// validateToolStripMenuItem
|
||||
//
|
||||
this.validateToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.addValidateTagsForRelativePathToolStripMenuItem});
|
||||
this.validateToolStripMenuItem.Name = "validateToolStripMenuItem";
|
||||
this.validateToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.validateToolStripMenuItem.Text = "<validate>";
|
||||
this.validateToolStripMenuItem.Click += new System.EventHandler(this.validateToolStripMenuItem_Click);
|
||||
//
|
||||
// argstringToolStripMenuItem
|
||||
//
|
||||
this.argstringToolStripMenuItem.Name = "argstringToolStripMenuItem";
|
||||
this.argstringToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
|
||||
this.argstringToolStripMenuItem.Text = "%argstring%";
|
||||
this.argstringToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
|
||||
//
|
||||
// addValidateTagsForRelativePathToolStripMenuItem
|
||||
//
|
||||
this.addValidateTagsForRelativePathToolStripMenuItem.Name = "addValidateTagsForRelativePathToolStripMenuItem";
|
||||
this.addValidateTagsForRelativePathToolStripMenuItem.Size = new System.Drawing.Size(255, 22);
|
||||
this.addValidateTagsForRelativePathToolStripMenuItem.Text = "Add Validate Tags for Relative Path";
|
||||
this.addValidateTagsForRelativePathToolStripMenuItem.Click += new System.EventHandler(this.addValidateTagsForRelativePathToolStripMenuItem_click);
|
||||
//
|
||||
// ClientinfoEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
|
@ -1216,4 +1253,8 @@ partial class ClientinfoEditor
|
|||
private System.Windows.Forms.ToolStripMenuItem notificationsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem joinportToolStripMenuItem;
|
||||
private System.Windows.Forms.CheckBox checkBox5;
|
||||
private System.Windows.Forms.ToolStripMenuItem validateToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem validatedextrafilesToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem argstringToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem addValidateTagsForRelativePathToolStripMenuItem;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using System;
|
|||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Globalization;
|
||||
using System.Collections.Generic;
|
||||
#endregion
|
||||
|
||||
#region Client SDK
|
||||
|
|
@ -12,10 +13,11 @@ public partial class ClientinfoEditor : Form
|
|||
private FileFormat.ClientInfo SelectedClientInfo = new FileFormat.ClientInfo();
|
||||
private string SelectedClientInfoPath = "";
|
||||
private bool Locked = false;
|
||||
#endregion
|
||||
public string RelativePath = "";
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
public ClientinfoEditor()
|
||||
public ClientinfoEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
|
@ -262,7 +264,7 @@ public partial class ClientinfoEditor : Form
|
|||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("You must save the into a seperate directory with a client in it, generate the IDs, then use this option.", "Novetus Client SDK - Error when saving to client.", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
MessageBox.Show("This client info file is not saved in your client's directory. Please save it in your client's directory before using.", "Novetus Client SDK - Error when saving to client.", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -378,6 +380,11 @@ public partial class ClientinfoEditor : Form
|
|||
AddClientinfoText("<shared></shared>");
|
||||
}
|
||||
|
||||
private void validateToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
AddClientinfoText("<validate>[FILE PATH IN CLIENT DIRECTORY]|[FILE MD5]</validate>");
|
||||
}
|
||||
|
||||
private void variableToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
ToolStripMenuItem senderitem = (ToolStripMenuItem)sender;
|
||||
|
|
@ -394,6 +401,37 @@ public partial class ClientinfoEditor : Form
|
|||
{
|
||||
SelectedClientInfo.SeperateFolders = checkBox5.Checked;
|
||||
}
|
||||
|
||||
private void addValidateTagsForRelativePathToolStripMenuItem_click(object sender, EventArgs e)
|
||||
{
|
||||
ClientinfoCreatorValidatePathForm pathForm = new ClientinfoCreatorValidatePathForm(this);
|
||||
pathForm.ShowDialog();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(SelectedClientInfoPath))
|
||||
{
|
||||
string fullpath = SelectedClientInfoPath + "\\" + RelativePath;
|
||||
|
||||
DirectoryInfo dir = new DirectoryInfo(fullpath);
|
||||
FileInfo[] Files = dir.GetFiles("*.*");
|
||||
List<string> text = new List<string>();
|
||||
|
||||
foreach (FileInfo file in Files)
|
||||
{
|
||||
string fileMD5 = SecurityFuncs.GenerateMD5(file.FullName);
|
||||
string filePathStrip = file.FullName.Replace(SelectedClientInfoPath, "");
|
||||
string filePathStripCheck = (string.IsNullOrWhiteSpace(RelativePath) ? filePathStrip.Replace(@"/", "").Replace(@"\", "") : filePathStrip);
|
||||
text.Add("<validate>" + filePathStripCheck + "|" + fileMD5 + "</validate>");
|
||||
}
|
||||
|
||||
string joined = string.Join("\r\n", text);
|
||||
|
||||
AddClientinfoText(joined.Replace(@"\", "/"));
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("This client info file is not saved in your client's directory. Please save it in your client's directory before using.", "Novetus Client SDK - Error when adding Validate tags.", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Functions
|
||||
|
|
|
|||
87
Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreatorValidatePathForm.Designer.cs
generated
Normal file
87
Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreatorValidatePathForm.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
|
||||
partial class ClientinfoCreatorValidatePathForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClientinfoCreatorValidatePathForm));
|
||||
this.TextEntry = new System.Windows.Forms.TextBox();
|
||||
this.infoLabel = new System.Windows.Forms.Label();
|
||||
this.applyButton = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// TextEntry
|
||||
//
|
||||
this.TextEntry.Location = new System.Drawing.Point(12, 25);
|
||||
this.TextEntry.Name = "TextEntry";
|
||||
this.TextEntry.Size = new System.Drawing.Size(295, 20);
|
||||
this.TextEntry.TabIndex = 0;
|
||||
//
|
||||
// infoLabel
|
||||
//
|
||||
this.infoLabel.AutoSize = true;
|
||||
this.infoLabel.Location = new System.Drawing.Point(75, 9);
|
||||
this.infoLabel.Name = "infoLabel";
|
||||
this.infoLabel.Size = new System.Drawing.Size(179, 13);
|
||||
this.infoLabel.TabIndex = 1;
|
||||
this.infoLabel.Text = "Enter path relative to client directory.";
|
||||
//
|
||||
// applyButton
|
||||
//
|
||||
this.applyButton.Location = new System.Drawing.Point(122, 51);
|
||||
this.applyButton.Name = "applyButton";
|
||||
this.applyButton.Size = new System.Drawing.Size(75, 23);
|
||||
this.applyButton.TabIndex = 2;
|
||||
this.applyButton.Text = "OK";
|
||||
this.applyButton.UseVisualStyleBackColor = true;
|
||||
this.applyButton.Click += new System.EventHandler(this.applyButton_Click);
|
||||
//
|
||||
// ClientinfoCreatorValidatePathForm
|
||||
//
|
||||
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(320, 80);
|
||||
this.Controls.Add(this.applyButton);
|
||||
this.Controls.Add(this.infoLabel);
|
||||
this.Controls.Add(this.TextEntry);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "ClientinfoCreatorValidatePathForm";
|
||||
this.Text = "Add Validate Tags for Relative Path";
|
||||
this.Load += new System.EventHandler(this.ClientinfoCreatorValidatePathForm_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public System.Windows.Forms.TextBox TextEntry;
|
||||
private System.Windows.Forms.Label infoLabel;
|
||||
private System.Windows.Forms.Button applyButton;
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
using System.Windows.Forms;
|
||||
|
||||
public partial class ClientinfoCreatorValidatePathForm : Form
|
||||
{
|
||||
private ClientinfoEditor FormParent;
|
||||
|
||||
public ClientinfoCreatorValidatePathForm(ClientinfoEditor par)
|
||||
{
|
||||
InitializeComponent();
|
||||
FormParent = par;
|
||||
}
|
||||
|
||||
private void ClientinfoCreatorValidatePathForm_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
CenterToScreen();
|
||||
}
|
||||
|
||||
private void applyButton_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
FormParent.RelativePath = TextEntry.Text;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -111,6 +111,7 @@ public partial class NovetusSDK : Form
|
|||
#else
|
||||
GlobalFuncs.LaunchRBXClient("ClientScriptTester", ScriptType.Client, false, false, null);
|
||||
#endif
|
||||
GlobalVars.GameOpened = GlobalVars.OpenedGame.None;
|
||||
break;
|
||||
case SDKApps.XMLContentEditor:
|
||||
XMLContentEditor xml = new XMLContentEditor();
|
||||
|
|
|
|||
|
|
@ -221,6 +221,12 @@
|
|||
<Compile Include="Forms\SDK\ClientScriptDocumentation.Designer.cs">
|
||||
<DependentUpon>ClientScriptDocumentation.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\SDK\ClientinfoCreatorValidatePathForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\SDK\ClientinfoCreatorValidatePathForm.Designer.cs">
|
||||
<DependentUpon>ClientinfoCreatorValidatePathForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\SDK\DiogenesEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
|
@ -316,6 +322,9 @@
|
|||
<EmbeddedResource Include="Forms\SDK\ClientScriptDocumentation.resx">
|
||||
<DependentUpon>ClientScriptDocumentation.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\SDK\ClientinfoCreatorValidatePathForm.resx">
|
||||
<DependentUpon>ClientinfoCreatorValidatePathForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\SDK\DiogenesEditor.resx">
|
||||
<DependentUpon>DiogenesEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
|
|
|||
|
|
@ -58,11 +58,19 @@ Changes from Pre-Release 5:
|
|||
- You can no longer change clients when a game is open.
|
||||
- Novetus will not let you close the launcher unless the currently running game is closed.
|
||||
- Novetus will not let you change styles unless the currently running game is closed.
|
||||
- Nonetus will not let you restart the launcher after changing a setting that requires it to restart.
|
||||
- Novetus will not let you restart the launcher after changing a setting that requires it to restart.
|
||||
- These changes were done so master server lists can have valid servers, and to reduce accidential closings of Novetus.
|
||||
- Novetus will show hosting tips when hosting servers for the first time.
|
||||
- Added proper core scripts to 2011M and 2011E.
|
||||
- Credits go to Nostal-ia for getting 2011M corescripts working and helping me with 2011E corescripts.
|
||||
- Clientscript changes:
|
||||
- Added the following tags:
|
||||
<validate> - Validates a file via MD5 in the following format: [FILE PATH IN CLIENT DIRECTORY]|[FILE MD5]. Only tag compatible with %args%.
|
||||
- Added the following variables:
|
||||
%validatedextrafiles% - Returns the total number of files that have been validated with <validate>.
|
||||
%argstring% - Gets the default script arguments for a tag.
|
||||
- ClientScript will no longer load %args% as a variable. If %args% is detected in any way, the client will NOT use any tag except for <validate>. Use %argstring% if you need %args% as a variable.
|
||||
- The Client SDK now allows users to create <validate> tags for a directory relative to a client's directory.
|
||||
Changes from 1.2.4.1:
|
||||
- The OBJ2MeshV1GUI, The Asset Localizer, and the Item SDK have been merged to form the Asset SDK!
|
||||
- Works with the Roblox Asset Delivery API! Note: Script assets wil have to be downloaded manually in order to be used in scripts.
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ List of tags:
|
|||
<solo> - Tag for Solo.
|
||||
<studio> - Tag for Studio.
|
||||
<shared> - Shared tag used for all types.
|
||||
<validate> - Validates a file via MD5 in the following format: [FILE PATH IN CLIENT DIRECTORY]|[FILE MD5]. Only tag compatible with %args%.
|
||||
|
||||
List of variables:
|
||||
------------------
|
||||
|
|
@ -14,14 +15,17 @@ General:
|
|||
%mapfiled% - Returns the rbxasset:// file path of the selected map.
|
||||
%mapfilec% - Copies the map file to the base rbxasset:// directory then returns the rbxasset:// path to the map. Returns empty if unsuccessful. Useful for newer clients.
|
||||
%luafile% - Selected client's script filename + path.
|
||||
%args% - Default arguments provided by Novetus for launching clients. Use only this without any tags if you want default Novetus arguments or use with tags to get the default arguments for a tag (requires quotation marks for the latter).
|
||||
%args% - Default arguments provided by Novetus for launching clients. Use only this without any tags (except for <validate>) if you want default Novetus arguments.
|
||||
%argstring% - Gets the default script arguments for a tag.
|
||||
%ip% - Current IP address.
|
||||
%port% - Returns the port when hosting a server.
|
||||
%addonscriptpath% - The path to an additional server script used by NovetusCMD.
|
||||
%scripttype% - Returns the type of script we are using as a string.
|
||||
%version% - Returns Novetus' version.
|
||||
%doublequote% - Returns a double-quote character. Use in place of a normal double quote (").
|
||||
Returns the port when joining a server. - Returns the port when joining a server.
|
||||
%joinport% - Returns the port when joining a server.
|
||||
%validatedfiles% - Returns the total number of files that have been validated.
|
||||
%validatedextrafiles% - Returns the total number of files that have been validated with <validate>.
|
||||
|
||||
Server:
|
||||
%limit% - Max Player limit.
|
||||
|
|
|
|||
Loading…
Reference in New Issue