diff --git a/NovetusLauncher/NovetusLauncher/LauncherFuncs.cs b/NovetusLauncher/NovetusLauncher/LauncherFuncs.cs index 5b47b62..7851118 100644 --- a/NovetusLauncher/NovetusLauncher/LauncherFuncs.cs +++ b/NovetusLauncher/NovetusLauncher/LauncherFuncs.cs @@ -317,7 +317,8 @@ namespace NovetusLauncher GlobalVars.Custom_Face_Offline + "','" + GlobalVars.Custom_Head_Offline + "','" + GlobalVars.Custom_Icon_Offline + "','" + - GlobalVars.Custom_Extra + "', false"; + //GlobalVars.Custom_Extra + "', false"; + GlobalVars.Custom_Extra + "'"; GlobalVars.sololoadtext = GlobalVars.loadtext; //} diff --git a/NovetusLauncher/NovetusLauncher/MainForm.cs b/NovetusLauncher/NovetusLauncher/MainForm.cs index f02a9c1..55b9782 100644 --- a/NovetusLauncher/NovetusLauncher/MainForm.cs +++ b/NovetusLauncher/NovetusLauncher/MainForm.cs @@ -344,6 +344,16 @@ namespace NovetusLauncher InitUPnP(); StartDiscord(); StartWebServer(); + + string rbxexe = ""; + if (GlobalVars.LegacyMode == true) + { + rbxexe = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\clients\\" + GlobalVars.SelectedClient + @"\\RobloxApp.exe"; + } + else + { + rbxexe = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\clients\\" + GlobalVars.SelectedClient + @"\\RobloxApp_client.exe"; + } } void MainFormClose(object sender, CancelEventArgs e) diff --git a/clients/2006S/content/scripts/CSMPFunctions.lua b/clients/2006S/content/scripts/CSMPFunctions.lua index 16c6f6e..9e3b25d 100644 --- a/clients/2006S/content/scripts/CSMPFunctions.lua +++ b/clients/2006S/content/scripts/CSMPFunctions.lua @@ -5,41 +5,6 @@ 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 - -function readonlytableprotection() - readonlytablechildren(_G) - _G._G = readonlytable(_G) - mt = getmetatable(game.Changed) - mt.__metatable=false - mt = getmetatable("curse you roblox") - mt.__metatable=false -end - --function made by rbxbanland function newWaitForChild(newParent,name) local returnable = nil @@ -211,7 +176,6 @@ rbxversion = version() print("ROBLOX Client version '" .. rbxversion .. "' loaded.") function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,RemoveTeapotTurret) - readonlytableprotection() Server = game:GetService("NetworkServer") RunService = game:GetService("RunService") Server:start(Port, 20) @@ -254,13 +218,12 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Remo print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving") end) pcall(function() game.Close:connect(function() Server:Stop() end) end) - InitalizeSecurityValues(game.Lighting,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5) InitalizeClientName(game.Lighting) Server.IncommingConnection:connect(IncommingConnection) end function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Ticket) - readonlytableprotection() local suc, err = pcall(function() client = game:GetService("NetworkClient") player = game:GetService("Players"):CreateLocalPlayer(UserID) @@ -272,7 +235,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He pcall(function() player.Name=PlayerName or "" end) game:GetService("Visit") InitalizeClientAppearance(player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID) - InitalizeSecurityValues(player,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(player,ClientEXEMD5,LauncherMD5,ClientScriptMD5) end) local function dieerror(errmsg) @@ -337,7 +300,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He end function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID) - readonlytableprotection() local plr = game.Players:CreateLocalPlayer(UserID) game:GetService("RunService"):run() game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm") diff --git a/clients/2007M/content/scripts/CSMPFunctions.lua b/clients/2007M/content/scripts/CSMPFunctions.lua index c26736a..0bbe0b5 100644 --- a/clients/2007M/content/scripts/CSMPFunctions.lua +++ b/clients/2007M/content/scripts/CSMPFunctions.lua @@ -1,41 +1,6 @@ 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 - -function readonlytableprotection() - readonlytablechildren(_G) - _G._G = readonlytable(_G) - mt = getmetatable(game.Changed) - mt.__metatable=false - mt = getmetatable("curse you roblox") - mt.__metatable=false -end - --function made by rbxbanland function newWaitForChild(newParent,name) local returnable = nil @@ -324,7 +289,6 @@ end print("ROBLOX Client version '0.3.512.0' loaded.") function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,RemoveTeapotTurret) - readonlytableprotection() Server = game:GetService("NetworkServer") RunService = game:GetService("RunService") PlayerService = game:GetService("Players") @@ -369,13 +333,12 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Remo print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving") end) pcall(function() game.Close:connect(function() Server:Stop() end) end) - InitalizeSecurityValues(game.Lighting,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5) InitalizeClientName(game.Lighting) Server.IncommingConnection:connect(IncommingConnection) end function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Ticket) - readonlytableprotection() local suc, err = pcall(function() client = game:GetService("NetworkClient") player = game:GetService("Players"):CreateLocalPlayer(UserID) @@ -385,7 +348,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He pcall(function() player.Name=PlayerName or "" end) game:GetService("Visit") InitalizeClientAppearance(player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID) - InitalizeSecurityValues(player,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(player,ClientEXEMD5,LauncherMD5,ClientScriptMD5) end) local function dieerror(errmsg) @@ -446,7 +409,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He end function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID) - readonlytableprotection() local plr = game.Players:CreateLocalPlayer(UserID) game:GetService("RunService"):run() game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm") diff --git a/clients/2008M/content/scripts/CSMPFunctions.lua b/clients/2008M/content/scripts/CSMPFunctions.lua index ec40ac6..b8a0b01 100644 --- a/clients/2008M/content/scripts/CSMPFunctions.lua +++ b/clients/2008M/content/scripts/CSMPFunctions.lua @@ -5,41 +5,6 @@ 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 - -function readonlytableprotection() - readonlytablechildren(_G) - _G._G = readonlytable(_G) - mt = getmetatable(game.Changed) - mt.__metatable=false - mt = getmetatable("curse you roblox") - mt.__metatable=false -end - --function made by rbxbanland function newWaitForChild(newParent,name) local returnable = nil @@ -377,7 +342,6 @@ rbxversion = version() print("ROBLOX Client version '" .. rbxversion .. "' loaded.") function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,RemoveTeapotTurret) - readonlytableprotection() Server = game:GetService("NetworkServer") RunService = game:GetService("RunService") Server:start(Port, 20) @@ -420,13 +384,12 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Remo print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving") end) pcall(function() game.Close:connect(function() Server:Stop() end) end) - InitalizeSecurityValues(game.Lighting,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5) InitalizeClientName(game.Lighting) Server.IncommingConnection:connect(IncommingConnection) end function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Ticket) - readonlytableprotection() local suc, err = pcall(function() client = game:GetService("NetworkClient") player = game:GetService("Players"):CreateLocalPlayer(UserID) @@ -438,7 +401,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He pcall(function() player.Name=PlayerName or "" end) game:GetService("Visit") InitalizeClientAppearance(player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID) - InitalizeSecurityValues(player,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(player,ClientEXEMD5,LauncherMD5,ClientScriptMD5) end) local function dieerror(errmsg) @@ -499,7 +462,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He end function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID) - readonlytableprotection() local plr = game.Players:CreateLocalPlayer(UserID) game:GetService("RunService"):run() game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm") diff --git a/clients/2009E/content/scripts/CSMPFunctions.lua b/clients/2009E/content/scripts/CSMPFunctions.lua index 18043c4..df9f5c0 100644 --- a/clients/2009E/content/scripts/CSMPFunctions.lua +++ b/clients/2009E/content/scripts/CSMPFunctions.lua @@ -5,41 +5,6 @@ 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 - -function readonlytableprotection() - readonlytablechildren(_G) - _G._G = readonlytable(_G) - mt = getmetatable(game.Changed) - mt.__metatable=false - mt = getmetatable("curse you roblox") - mt.__metatable=false -end - --function made by rbxbanland function newWaitForChild(newParent,name) local returnable = nil @@ -420,7 +385,6 @@ rbxversion = version() print("ROBLOX Client version '" .. rbxversion .. "' loaded.") function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,RemoveTeapotTurret) - readonlytableprotection() Server = game:GetService("NetworkServer") RunService = game:GetService("RunService") Server:start(Port, 20) @@ -463,12 +427,11 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Remo print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving") end) pcall(function() game.Close:connect(function() Server:Stop() end) end) - InitalizeSecurityValues(game.Lighting,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5) InitalizeClientName(game.Lighting) Server.IncommingConnection:connect(IncommingConnection) end function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Ticket) - readonlytableprotection() pcall(function() game:SetPlaceID(-1, false) end) pcall(function() game:GetService("Players"):SetChatStyle(Enum.ChatStyle.ClassicAndBubble) end) @@ -493,7 +456,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He pcall(function() player.Name=PlayerName or "" end) game:GetService("Visit") InitalizeClientAppearance(player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID) - InitalizeSecurityValues(player,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(player,ClientEXEMD5,LauncherMD5,ClientScriptMD5) end) local function dieerror(errmsg) @@ -554,7 +517,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He end function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID) - readonlytableprotection() local plr = game.Players:CreateLocalPlayer(UserID) game:GetService("RunService"):run() game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm") diff --git a/clients/2010L/content/scripts/CSMPFunctions.lua b/clients/2010L/content/scripts/CSMPFunctions.lua index 34920f6..fcb99f9 100644 --- a/clients/2010L/content/scripts/CSMPFunctions.lua +++ b/clients/2010L/content/scripts/CSMPFunctions.lua @@ -5,41 +5,6 @@ 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 - -function readonlytableprotection() - readonlytablechildren(_G) - _G._G = readonlytable(_G) - mt = getmetatable(game.Changed) - mt.__metatable=false - mt = getmetatable("curse you roblox") - mt.__metatable=false -end - --function made by rbxbanland function newWaitForChild(newParent,name) local returnable = nil @@ -420,7 +385,6 @@ rbxversion = version() print("ROBLOX Client version '" .. rbxversion .. "' loaded.") function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,RemoveTeapotTurret) - readonlytableprotection() assert((type(Port)~="number" or tonumber(Port)~=nil or Port==nil),"CSRun Error: Port must be nil or a number.") local NetworkServer=game:GetService("NetworkServer") local RunService = game:GetService("RunService") @@ -462,14 +426,13 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Remo end) RunService:Run() game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm") - InitalizeSecurityValues(game.Lighting,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5) InitalizeClientName(game.Lighting) pcall(function() game.Close:connect(function() NetworkServer:Stop() end) end) NetworkServer.IncommingConnection:connect(IncommingConnection) end function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Ticket) - readonlytableprotection() pcall(function() game:SetPlaceID(-1, false) end) pcall(function() game:GetService("Players"):SetChatStyle(Enum.ChatStyle.ClassicAndBubble) end) @@ -563,7 +526,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He end InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID) - InitalizeSecurityValues(Player,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(Player,ClientEXEMD5,LauncherMD5,ClientScriptMD5) pcall(function() Player:SetUnder13(false) end) pcall(function() Player:SetMembershipType(Enum.MembershipType.BuildersClub) end) pcall(function() Player:SetAccountAge(365) end) @@ -575,7 +538,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He end function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID) - readonlytableprotection() local plr = game.Players:CreateLocalPlayer(UserID) game:GetService("RunService"):run() plr.Name = PlayerName diff --git a/clients/2011E/content/scripts/CSMPFunctions.lua b/clients/2011E/content/scripts/CSMPFunctions.lua index c70198d..f6c09e1 100644 --- a/clients/2011E/content/scripts/CSMPFunctions.lua +++ b/clients/2011E/content/scripts/CSMPFunctions.lua @@ -21,41 +21,6 @@ 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 - -function readonlytableprotection() - readonlytablechildren(_G) - _G._G = readonlytable(_G) - mt = getmetatable(game.Changed) - mt.__metatable=false - mt = getmetatable("curse you roblox") - mt.__metatable=false -end - --function made by rbxbanland function newWaitForChild(newParent,name) local returnable = nil @@ -436,7 +401,6 @@ rbxversion = version() print("ROBLOX Client version '" .. rbxversion .. "' loaded.") function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,RemoveTeapotTurret) - readonlytableprotection() assert((type(Port)~="number" or tonumber(Port)~=nil or Port==nil),"CSRun Error: Port must be nil or a number.") local NetworkServer=game:GetService("NetworkServer") local RunService = game:GetService("RunService") @@ -478,14 +442,13 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Remo end) RunService:Run() game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm") - InitalizeSecurityValues(game.Lighting,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5) InitalizeClientName(game.Lighting) pcall(function() game.Close:connect(function() NetworkServer:Stop() end) end) NetworkServer.IncommingConnection:connect(IncommingConnection) end function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Ticket) - readonlytableprotection() pcall(function() game:SetPlaceID(-1, false) end) pcall(function() game:GetService("Players"):SetChatStyle(Enum.ChatStyle.ClassicAndBubble) end) @@ -595,11 +558,10 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He pcall(function() Visit:SetUploadUrl("") end) game:GetService("Visit") InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID) - InitalizeSecurityValues(Player,LauncherMD5,ClientEXEMD5,ClientScriptMD5) + InitalizeSecurityValues(Player,ClientEXEMD5,LauncherMD5,ClientScriptMD5) end function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID) - readonlytableprotection() local plr = game.Players:CreateLocalPlayer(UserID) game:GetService("RunService"):run() plr.Name = PlayerName