more changes
This commit is contained in:
parent
ea49872a1c
commit
ca92fdb3d2
33
CSView.lua
33
CSView.lua
|
|
@ -1,3 +1,36 @@
|
|||
_G.rawset=nil
|
||||
function readonlytable(table)
|
||||
return setmetatable({}, {
|
||||
__index = table,
|
||||
__newindex = function(table, key, value)
|
||||
error("Attempt to modify read-only table")
|
||||
end,
|
||||
__metatable = false
|
||||
});
|
||||
end
|
||||
|
||||
function readonlytablechildren(table)
|
||||
for i,v in pairs(table) do
|
||||
if type(v)=="table" and table[i]~=_G._G then
|
||||
readonlytablechildren(table[i])
|
||||
table[i] = readonlytable(table[i])
|
||||
end
|
||||
if type(v)=="userdata" then
|
||||
local mt = getmetatable(table[i])
|
||||
if mt~=nil and mt~=false then
|
||||
mt.__metatable=false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
readonlytablechildren(_G)
|
||||
_G._G = readonlytable(_G)
|
||||
mt = getmetatable(game.Changed)
|
||||
mt.__metatable=false
|
||||
mt = getmetatable("curse you roblox")
|
||||
mt.__metatable=false
|
||||
|
||||
--function made by rbxbanland
|
||||
function newWaitForChild(newParent,name)
|
||||
local returnable = nil
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@ using System.Linq;
|
|||
using System.ComponentModel;
|
||||
using System.Net.Sockets;
|
||||
using System.Net;
|
||||
using System.Xml.Linq;
|
||||
using NAudio.Wave;
|
||||
using Mono.Nat;
|
||||
|
||||
namespace NovetusLauncher
|
||||
|
|
@ -280,6 +278,9 @@ namespace NovetusLauncher
|
|||
|
||||
public static void ReloadLoadtextValue()
|
||||
{
|
||||
//Temporarily removed until i can figure out a way to better integrate this.
|
||||
|
||||
/*
|
||||
if (GlobalVars.IsWebServerOn == true)
|
||||
{
|
||||
string extra = GlobalVars.Custom_Extra_SelectionIsHat == true ? GlobalVars.WebServer_HatDir + GlobalVars.Custom_Extra : GlobalVars.WebServer_ExtraDir + GlobalVars.Custom_Extra;
|
||||
|
|
@ -300,6 +301,7 @@ namespace NovetusLauncher
|
|||
}
|
||||
else
|
||||
{
|
||||
*/
|
||||
GlobalVars.loadtext = "'" + GlobalVars.Custom_Hat1ID_Offline + "','" +
|
||||
GlobalVars.Custom_Hat2ID_Offline + "','" +
|
||||
GlobalVars.Custom_Hat3ID_Offline + "'," +
|
||||
|
|
@ -318,7 +320,7 @@ namespace NovetusLauncher
|
|||
GlobalVars.Custom_Extra + "', false";
|
||||
|
||||
GlobalVars.sololoadtext = GlobalVars.loadtext;
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
public static void ReadClientValues(string clientpath)
|
||||
|
|
@ -2005,77 +2007,6 @@ namespace NovetusLauncher
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Stream for looping playback
|
||||
/// </summary>
|
||||
public class LoopStream : WaveStream
|
||||
{
|
||||
WaveStream sourceStream;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Loop stream
|
||||
/// </summary>
|
||||
/// <param name="sourceStream">The stream to read from. Note: the Read method of this stream should return 0 when it reaches the end
|
||||
/// or else we will not loop to the start again.</param>
|
||||
public LoopStream(WaveStream sourceStream)
|
||||
{
|
||||
this.sourceStream = sourceStream;
|
||||
this.EnableLooping = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use this to turn looping on or off
|
||||
/// </summary>
|
||||
public bool EnableLooping { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Return source stream's wave format
|
||||
/// </summary>
|
||||
public override WaveFormat WaveFormat
|
||||
{
|
||||
get { return sourceStream.WaveFormat; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// LoopStream simply returns
|
||||
/// </summary>
|
||||
public override long Length
|
||||
{
|
||||
get { return sourceStream.Length; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// LoopStream simply passes on positioning to source stream
|
||||
/// </summary>
|
||||
public override long Position
|
||||
{
|
||||
get { return sourceStream.Position; }
|
||||
set { sourceStream.Position = value; }
|
||||
}
|
||||
|
||||
public override int Read(byte[] buffer, int offset, int count)
|
||||
{
|
||||
int totalBytesRead = 0;
|
||||
|
||||
while (totalBytesRead < count)
|
||||
{
|
||||
int bytesRead = sourceStream.Read(buffer, offset + totalBytesRead, count - totalBytesRead);
|
||||
if (bytesRead == 0 || sourceStream.Position > sourceStream.Length)
|
||||
{
|
||||
if (sourceStream.Position == 0 || !EnableLooping)
|
||||
{
|
||||
// something wrong with the source stream
|
||||
break;
|
||||
}
|
||||
// loop
|
||||
sourceStream.Position = 0;
|
||||
}
|
||||
totalBytesRead += bytesRead;
|
||||
}
|
||||
return totalBytesRead;
|
||||
}
|
||||
}
|
||||
|
||||
public static class GlobalVars
|
||||
{
|
||||
public static string RootPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
||||
|
|
|
|||
|
|
@ -117,7 +117,6 @@ namespace NovetusLauncher
|
|||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.label16 = new System.Windows.Forms.Label();
|
||||
this.button24 = new System.Windows.Forms.Button();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
|
||||
|
|
@ -204,7 +203,7 @@ namespace NovetusLauncher
|
|||
// label31
|
||||
//
|
||||
this.label31.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label31.Location = new System.Drawing.Point(267, 5);
|
||||
this.label31.Name = "label31";
|
||||
this.label31.Size = new System.Drawing.Size(120, 13);
|
||||
|
|
@ -226,23 +225,23 @@ namespace NovetusLauncher
|
|||
//
|
||||
this.numericUpDown1.Location = new System.Drawing.Point(267, 21);
|
||||
this.numericUpDown1.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
65535,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown1.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown1.Name = "numericUpDown1";
|
||||
this.numericUpDown1.Size = new System.Drawing.Size(120, 20);
|
||||
this.numericUpDown1.TabIndex = 18;
|
||||
this.numericUpDown1.Value = new decimal(new int[] {
|
||||
53640,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
53640,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown1.ValueChanged += new System.EventHandler(this.NumericUpDown1ValueChanged);
|
||||
//
|
||||
// button19
|
||||
|
|
@ -289,7 +288,7 @@ namespace NovetusLauncher
|
|||
// label3
|
||||
//
|
||||
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label3.Location = new System.Drawing.Point(16, 5);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(241, 13);
|
||||
|
|
@ -342,7 +341,7 @@ namespace NovetusLauncher
|
|||
this.label17.Size = new System.Drawing.Size(382, 36);
|
||||
this.label17.TabIndex = 58;
|
||||
this.label17.Text = "NOTE: If you changed the server port, go to the CONSOLE and type \"webserver resta" +
|
||||
"rt\" or \"restart\" to restart the web server or restart the launcher.";
|
||||
"rt\" or \"restart\" to restart the web server or restart the launcher.";
|
||||
this.label17.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
//
|
||||
// checkBox4
|
||||
|
|
@ -418,46 +417,46 @@ namespace NovetusLauncher
|
|||
//
|
||||
this.numericUpDown3.Location = new System.Drawing.Point(217, 161);
|
||||
this.numericUpDown3.Maximum = new decimal(new int[] {
|
||||
256,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
256,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown3.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown3.Name = "numericUpDown3";
|
||||
this.numericUpDown3.Size = new System.Drawing.Size(49, 20);
|
||||
this.numericUpDown3.TabIndex = 49;
|
||||
this.numericUpDown3.Value = new decimal(new int[] {
|
||||
12,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
12,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown3.ValueChanged += new System.EventHandler(this.NumericUpDown3ValueChanged);
|
||||
//
|
||||
// numericUpDown2
|
||||
//
|
||||
this.numericUpDown2.Location = new System.Drawing.Point(81, 161);
|
||||
this.numericUpDown2.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
65535,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown2.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown2.Name = "numericUpDown2";
|
||||
this.numericUpDown2.Size = new System.Drawing.Size(63, 20);
|
||||
this.numericUpDown2.TabIndex = 48;
|
||||
this.numericUpDown2.Value = new decimal(new int[] {
|
||||
53640,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
53640,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown2.ValueChanged += new System.EventHandler(this.NumericUpDown2ValueChanged);
|
||||
//
|
||||
// label29
|
||||
|
|
@ -716,8 +715,8 @@ namespace NovetusLauncher
|
|||
// richTextBox1
|
||||
//
|
||||
this.richTextBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.richTextBox1.BackColor = System.Drawing.SystemColors.ControlText;
|
||||
this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.richTextBox1.ForeColor = System.Drawing.Color.White;
|
||||
|
|
@ -742,8 +741,8 @@ namespace NovetusLauncher
|
|||
// richTextBox2
|
||||
//
|
||||
this.richTextBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.richTextBox2.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.richTextBox2.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.richTextBox2.Location = new System.Drawing.Point(3, 3);
|
||||
|
|
@ -1019,17 +1018,6 @@ namespace NovetusLauncher
|
|||
this.label16.Size = new System.Drawing.Size(2, 65);
|
||||
this.label16.TabIndex = 51;
|
||||
//
|
||||
// button24
|
||||
//
|
||||
this.button24.Font = new System.Drawing.Font("Segoe UI Symbol", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.button24.Location = new System.Drawing.Point(390, 75);
|
||||
this.button24.Name = "button24";
|
||||
this.button24.Size = new System.Drawing.Size(22, 22);
|
||||
this.button24.TabIndex = 52;
|
||||
this.button24.Text = "⬛";
|
||||
this.button24.UseVisualStyleBackColor = true;
|
||||
this.button24.Click += new System.EventHandler(this.Button24Click);
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
|
@ -1037,7 +1025,6 @@ namespace NovetusLauncher
|
|||
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
|
||||
this.ClientSize = new System.Drawing.Size(417, 366);
|
||||
this.Controls.Add(this.button24);
|
||||
this.Controls.Add(this.label16);
|
||||
this.Controls.Add(this.label12);
|
||||
this.Controls.Add(this.label28);
|
||||
|
|
@ -1079,9 +1066,9 @@ namespace NovetusLauncher
|
|||
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
private System.Windows.Forms.Label label17;
|
||||
private System.Windows.Forms.Button button24;
|
||||
private System.Windows.Forms.CheckBox checkBox4;
|
||||
private System.Windows.Forms.Button button6;
|
||||
private System.Windows.Forms.TextBox textBox3;
|
||||
|
|
|
|||
|
|
@ -12,11 +12,8 @@ using System.Drawing;
|
|||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using System.ComponentModel;
|
||||
using System.Reflection;
|
||||
using NAudio.Wave;
|
||||
using NAudio.Wave.SampleProviders;
|
||||
using Mono.Nat;
|
||||
|
||||
namespace NovetusLauncher
|
||||
|
|
@ -27,9 +24,7 @@ namespace NovetusLauncher
|
|||
public partial class MainForm : Form
|
||||
{
|
||||
DiscordRpc.EventHandlers handlers;
|
||||
private WaveOutEvent outputDevice;
|
||||
private AudioFileReader audioFile;
|
||||
|
||||
|
||||
public MainForm()
|
||||
{
|
||||
_fieldsTreeCache = new TreeView();
|
||||
|
|
@ -210,47 +205,6 @@ namespace NovetusLauncher
|
|||
ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (Did not run as Administrator)", 2);
|
||||
}
|
||||
}
|
||||
|
||||
void StartMusic()
|
||||
{
|
||||
try
|
||||
{
|
||||
string file = GlobalVars.DataPath + "\\music\\music.mp3";
|
||||
|
||||
if (File.Exists(file))
|
||||
{
|
||||
if (outputDevice == null)
|
||||
{
|
||||
outputDevice = new WaveOutEvent();
|
||||
}
|
||||
if (audioFile == null)
|
||||
{
|
||||
audioFile = new AudioFileReader(file);
|
||||
LoopStream loop = new LoopStream(audioFile);
|
||||
outputDevice.Init(loop);
|
||||
}
|
||||
outputDevice.Play();
|
||||
}
|
||||
else
|
||||
{
|
||||
button24.Visible = false;
|
||||
button24.Enabled = false;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ConsolePrint("NAudio: Failed to play music. (" + ex.Message + ")", 2);
|
||||
}
|
||||
}
|
||||
|
||||
void EndMusic()
|
||||
{
|
||||
outputDevice.Stop();
|
||||
outputDevice.Dispose();
|
||||
outputDevice = null;
|
||||
audioFile.Dispose();
|
||||
audioFile = null;
|
||||
}
|
||||
|
||||
void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
|
@ -390,7 +344,6 @@ namespace NovetusLauncher
|
|||
InitUPnP();
|
||||
StartDiscord();
|
||||
StartWebServer();
|
||||
StartMusic();
|
||||
}
|
||||
|
||||
void MainFormClose(object sender, CancelEventArgs e)
|
||||
|
|
@ -1499,19 +1452,5 @@ namespace NovetusLauncher
|
|||
{
|
||||
MessageBox.Show("Please restart the Novetus launcher for UPnP to take effect.","Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
|
||||
void Button24Click(object sender, EventArgs e)
|
||||
{
|
||||
if (outputDevice.PlaybackState == PlaybackState.Playing)
|
||||
{
|
||||
outputDevice.Pause();
|
||||
button24.Text = "▶";
|
||||
}
|
||||
else if (outputDevice.PlaybackState == PlaybackState.Paused)
|
||||
{
|
||||
outputDevice.Play();
|
||||
button24.Text = "⬛";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -6,7 +6,7 @@
|
|||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>NovetusLauncher</RootNamespace>
|
||||
<AssemblyName>NovetusLauncher</AssemblyName>
|
||||
<AssemblyName>Novetus</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
|
|
@ -47,9 +47,6 @@
|
|||
<Reference Include="Mono.Nat">
|
||||
<HintPath>..\packages\Mono.Nat.1.2.24.0\lib\net40\Mono.Nat.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NAudio">
|
||||
<HintPath>..\packages\NAudio.1.8.5\lib\net35\NAudio.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Mono.Nat" version="1.2.24.0" targetFramework="net40" />
|
||||
<package id="NAudio" version="1.8.5" targetFramework="net40" />
|
||||
</packages>
|
||||
Binary file not shown.
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>NAudio</id>
|
||||
<version>1.8.5</version>
|
||||
<authors>Mark Heath</authors>
|
||||
<owners>Mark Heath</owners>
|
||||
<licenseUrl>https://github.com/naudio/NAudio/blob/master/license.txt</licenseUrl>
|
||||
<projectUrl>https://github.com/naudio/NAudio</projectUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>NAudio, an audio library for .NET</description>
|
||||
<tags>C# .NET audio sound</tags>
|
||||
</metadata>
|
||||
</package>
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
|
@ -29,8 +29,8 @@ Name: "desktopicon"; Description: "Create a icon on your Desktop"; GroupDescript
|
|||
Name: "quicklaunchicon"; Description: "Create a icon on your Quick Launch Menu"; GroupDescription: "Icons"; Flags: unchecked; OnlyBelowVersion: 0,6.1
|
||||
|
||||
[Files]
|
||||
Source: "Novetus\NovetusLauncher.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "Novetus\NovetusLauncher.exe.config"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "Novetus\Novetus.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "Novetus\Novetus.exe.config"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "Novetus\README.TXT"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "Novetus\changelog.txt"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "Novetus\info.txt"; DestDir: "{app}"; Flags: ignoreversion
|
||||
|
|
@ -42,18 +42,18 @@ Source: "Novetus\shareddata\*"; DestDir: "{app}\shareddata"; Flags: ignoreversio
|
|||
Source: "Novetus\_redist\*"; DestDir: "{app}\_redist"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
|
||||
[Icons]
|
||||
Name: "{group}\Novetus {#AppVer}"; Filename: "{app}\NovetusLauncher.exe"
|
||||
Name: "{group}\Utilities\Novetus Client SDK"; Filename: "{app}\NovetusLauncher.exe" Parameters: "-clientinfo"
|
||||
Name: "{group}\Utilities\Novetus Item SDK"; Filename: "{app}\NovetusLauncher.exe" Parameters: "-itemmaker"
|
||||
Name: "{group}\Utilities\Quick Configure"; Filename: "{app}\NovetusLauncher.exe" Parameters: "-quickconfigure"
|
||||
Name: "{group}\Utilities\ClientScript Documentation"; Filename: "{app}\NovetusLauncher.exe" Parameters: "-documentation"
|
||||
Name: "{group}\Novetus {#AppVer}"; Filename: "{app}\Novetus.exe"
|
||||
Name: "{group}\Utilities\Novetus Client SDK"; Filename: "{app}\Novetus.exe" Parameters: "-clientinfo"
|
||||
Name: "{group}\Utilities\Novetus Item SDK"; Filename: "{app}\Novetus.exe" Parameters: "-itemmaker"
|
||||
Name: "{group}\Utilities\Quick Configure"; Filename: "{app}\Novetus.exe" Parameters: "-quickconfigure"
|
||||
Name: "{group}\Utilities\ClientScript Documentation"; Filename: "{app}\Novetus.exe" Parameters: "-documentation"
|
||||
Name: "{group}\Uninstall Novetus {#AppVer}"; Filename: "{uninstallexe}"
|
||||
Name: "{commondesktop}\Novetus {#AppVer}"; Filename: "{app}\NovetusLauncher.exe"; Tasks: desktopicon
|
||||
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Novetus {#AppVer}"; Filename: "{app}\NovetusLauncher.exe"; Tasks: quicklaunchicon
|
||||
Name: "{commondesktop}\Novetus {#AppVer}"; Filename: "{app}\Novetus.exe"; Tasks: desktopicon
|
||||
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Novetus {#AppVer}"; Filename: "{app}\Novetus.exe"; Tasks: quicklaunchicon
|
||||
|
||||
[Run]
|
||||
Filename: "{app}\_redist\netframework40install.exe"; Description: "Install .NET Framework 4.0"; Flags: nowait postinstall skipifsilent
|
||||
Filename: "{app}\_redist\vcredist2005install32.exe"; Description: "Install Visual C++ 2005 Redistributable (32-bit)"; Flags: nowait postinstall skipifsilent
|
||||
Filename: "{app}\NovetusLauncher.exe"; Description: "Play Novetus"; Flags: nowait postinstall skipifsilent unchecked
|
||||
Filename: "{app}\Novetus.exe"; Description: "Play Novetus"; Flags: nowait postinstall skipifsilent unchecked
|
||||
Filename: "{app}\README.TXT"; Description: "View the README file"; Flags: postinstall shellexec skipifsilent unchecked
|
||||
Filename: "{app}\changelog.txt"; Description: "View the changelog"; Flags: postinstall shellexec skipifsilent unchecked
|
||||
|
|
@ -5,6 +5,39 @@ settings().Network.PhysicsReplicationUpdateRate = 1000000
|
|||
settings().Network.SendRate = 1000000
|
||||
settings().Network.PhysicsSend = 1 -- 1==RoundRobin
|
||||
|
||||
_G.rawset=nil
|
||||
function readonlytable(table)
|
||||
return setmetatable({}, {
|
||||
__index = table,
|
||||
__newindex = function(table, key, value)
|
||||
error("Attempt to modify read-only table")
|
||||
end,
|
||||
__metatable = false
|
||||
});
|
||||
end
|
||||
|
||||
function readonlytablechildren(table)
|
||||
for i,v in pairs(table) do
|
||||
if type(v)=="table" and table[i]~=_G._G then
|
||||
readonlytablechildren(table[i])
|
||||
table[i] = readonlytable(table[i])
|
||||
end
|
||||
if type(v)=="userdata" then
|
||||
local mt = getmetatable(table[i])
|
||||
if mt~=nil and mt~=false then
|
||||
mt.__metatable=false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
readonlytablechildren(_G)
|
||||
_G._G = readonlytable(_G)
|
||||
mt = getmetatable(game.Changed)
|
||||
mt.__metatable=false
|
||||
mt = getmetatable("curse you roblox")
|
||||
mt.__metatable=false
|
||||
|
||||
--function made by rbxbanland
|
||||
function newWaitForChild(newParent,name)
|
||||
local returnable = nil
|
||||
|
|
|
|||
|
|
@ -1,6 +1,39 @@
|
|||
settings().Network.maxDataModelSendBuffer = 1000000
|
||||
settings().Network.sendRate = 1000000
|
||||
|
||||
_G.rawset=nil
|
||||
function readonlytable(table)
|
||||
return setmetatable({}, {
|
||||
__index = table,
|
||||
__newindex = function(table, key, value)
|
||||
error("Attempt to modify read-only table")
|
||||
end,
|
||||
__metatable = false
|
||||
});
|
||||
end
|
||||
|
||||
function readonlytablechildren(table)
|
||||
for i,v in pairs(table) do
|
||||
if type(v)=="table" and table[i]~=_G._G then
|
||||
readonlytablechildren(table[i])
|
||||
table[i] = readonlytable(table[i])
|
||||
end
|
||||
if type(v)=="userdata" then
|
||||
local mt = getmetatable(table[i])
|
||||
if mt~=nil and mt~=false then
|
||||
mt.__metatable=false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
readonlytablechildren(_G)
|
||||
_G._G = readonlytable(_G)
|
||||
mt = getmetatable(game.Changed)
|
||||
mt.__metatable=false
|
||||
mt = getmetatable("curse you roblox")
|
||||
mt.__metatable=false
|
||||
|
||||
--function made by rbxbanland
|
||||
function newWaitForChild(newParent,name)
|
||||
local returnable = nil
|
||||
|
|
|
|||
|
|
@ -5,6 +5,39 @@ settings().Network.PhysicsReplicationUpdateRate = 1000000
|
|||
settings().Network.SendRate = 1000000
|
||||
settings().Network.PhysicsSend = 1 -- 1==RoundRobin
|
||||
|
||||
_G.rawset=nil
|
||||
function readonlytable(table)
|
||||
return setmetatable({}, {
|
||||
__index = table,
|
||||
__newindex = function(table, key, value)
|
||||
error("Attempt to modify read-only table")
|
||||
end,
|
||||
__metatable = false
|
||||
});
|
||||
end
|
||||
|
||||
function readonlytablechildren(table)
|
||||
for i,v in pairs(table) do
|
||||
if type(v)=="table" and table[i]~=_G._G then
|
||||
readonlytablechildren(table[i])
|
||||
table[i] = readonlytable(table[i])
|
||||
end
|
||||
if type(v)=="userdata" then
|
||||
local mt = getmetatable(table[i])
|
||||
if mt~=nil and mt~=false then
|
||||
mt.__metatable=false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
readonlytablechildren(_G)
|
||||
_G._G = readonlytable(_G)
|
||||
mt = getmetatable(game.Changed)
|
||||
mt.__metatable=false
|
||||
mt = getmetatable("curse you roblox")
|
||||
mt.__metatable=false
|
||||
|
||||
--function made by rbxbanland
|
||||
function newWaitForChild(newParent,name)
|
||||
local returnable = nil
|
||||
|
|
|
|||
|
|
@ -5,6 +5,39 @@ settings().Network.PhysicsSend = 1
|
|||
settings().Network.NetworkOwnerRate = 30
|
||||
settings().Network.PhysicsSendRate = 30
|
||||
|
||||
_G.rawset=nil
|
||||
function readonlytable(table)
|
||||
return setmetatable({}, {
|
||||
__index = table,
|
||||
__newindex = function(table, key, value)
|
||||
error("Attempt to modify read-only table")
|
||||
end,
|
||||
__metatable = false
|
||||
});
|
||||
end
|
||||
|
||||
function readonlytablechildren(table)
|
||||
for i,v in pairs(table) do
|
||||
if type(v)=="table" and table[i]~=_G._G then
|
||||
readonlytablechildren(table[i])
|
||||
table[i] = readonlytable(table[i])
|
||||
end
|
||||
if type(v)=="userdata" then
|
||||
local mt = getmetatable(table[i])
|
||||
if mt~=nil and mt~=false then
|
||||
mt.__metatable=false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
readonlytablechildren(_G)
|
||||
_G._G = readonlytable(_G)
|
||||
mt = getmetatable(game.Changed)
|
||||
mt.__metatable=false
|
||||
mt = getmetatable("curse you roblox")
|
||||
mt.__metatable=false
|
||||
|
||||
--function made by rbxbanland
|
||||
function newWaitForChild(newParent,name)
|
||||
local returnable = nil
|
||||
|
|
|
|||
|
|
@ -5,6 +5,39 @@ settings().Network.ReceiveRate = 60
|
|||
settings().Network.NetworkOwnerRate = 30
|
||||
pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end)
|
||||
|
||||
_G.rawset=nil
|
||||
function readonlytable(table)
|
||||
return setmetatable({}, {
|
||||
__index = table,
|
||||
__newindex = function(table, key, value)
|
||||
error("Attempt to modify read-only table")
|
||||
end,
|
||||
__metatable = false
|
||||
});
|
||||
end
|
||||
|
||||
function readonlytablechildren(table)
|
||||
for i,v in pairs(table) do
|
||||
if type(v)=="table" and table[i]~=_G._G then
|
||||
readonlytablechildren(table[i])
|
||||
table[i] = readonlytable(table[i])
|
||||
end
|
||||
if type(v)=="userdata" then
|
||||
local mt = getmetatable(table[i])
|
||||
if mt~=nil and mt~=false then
|
||||
mt.__metatable=false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
readonlytablechildren(_G)
|
||||
_G._G = readonlytable(_G)
|
||||
mt = getmetatable(game.Changed)
|
||||
mt.__metatable=false
|
||||
mt = getmetatable("curse you roblox")
|
||||
mt.__metatable=false
|
||||
|
||||
--function made by rbxbanland
|
||||
function newWaitForChild(newParent,name)
|
||||
local returnable = nil
|
||||
|
|
|
|||
|
|
@ -21,6 +21,39 @@ end))
|
|||
|
||||
pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end)
|
||||
|
||||
_G.rawset=nil
|
||||
function readonlytable(table)
|
||||
return setmetatable({}, {
|
||||
__index = table,
|
||||
__newindex = function(table, key, value)
|
||||
error("Attempt to modify read-only table")
|
||||
end,
|
||||
__metatable = false
|
||||
});
|
||||
end
|
||||
|
||||
function readonlytablechildren(table)
|
||||
for i,v in pairs(table) do
|
||||
if type(v)=="table" and table[i]~=_G._G then
|
||||
readonlytablechildren(table[i])
|
||||
table[i] = readonlytable(table[i])
|
||||
end
|
||||
if type(v)=="userdata" then
|
||||
local mt = getmetatable(table[i])
|
||||
if mt~=nil and mt~=false then
|
||||
mt.__metatable=false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
readonlytablechildren(_G)
|
||||
_G._G = readonlytable(_G)
|
||||
mt = getmetatable(game.Changed)
|
||||
mt.__metatable=false
|
||||
mt = getmetatable("curse you roblox")
|
||||
mt.__metatable=false
|
||||
|
||||
--function made by rbxbanland
|
||||
function newWaitForChild(newParent,name)
|
||||
local returnable = nil
|
||||
|
|
|
|||
Loading…
Reference in New Issue