--coded by Bitl and Carrot --stuff was borrowed from RBXBanland, EnergyCell, John, and the RBXPri team rbxlegacyversion = 0 function SetRBXLegacyVersion(Version) rbxlegacyversion = Version if (rbxlegacyversion == 1) then -- Pre Alpha settings().Rendering.frameRateManager = 2 settings().Rendering.graphicsMode = 2 settings().Network.MaxSendBuffer = 1000000 settings().Network.PhysicsReplicationUpdateRate = 1000000 settings().Network.SendRate = 1000000 elseif (rbxlegacyversion == 2) then -- Ext. Pre Alpha settings().Rendering.frameRateManager = 2 settings().Rendering.graphicsMode = 2 settings().Network.MaxSendBuffer = 1000000 settings().Network.PhysicsReplicationUpdateRate = 1000000 settings().Network.SendRate = 1000000 elseif (rbxlegacyversion == 3) then -- Alpha settings().Rendering.frameRateManager = 2 settings().Network.MaxSendBuffer = 1000000 settings().Network.PhysicsReplicationUpdateRate = 1000000 settings().Network.SendRate = 1000000 elseif (rbxlegacyversion == 4) then -- Beta settings().Rendering.FrameRateManager = 2 settings().Network.SendRate = 30 settings().Network.ReceiveRate = 60 elseif (rbxlegacyversion == 5) then -- Beta Pre-Gamma settings().Rendering.FrameRateManager = 2 settings().Network.DataSendRate = 30 settings().Network.PhysicsSendRate = 20 settings().Network.ReceiveRate = 60 elseif (rbxlegacyversion == 6) then -- Pre-Gamma settings().Rendering.FrameRateManager = 2 settings().Network.DataSendRate = 30 settings().Network.PhysicsSendRate = 20 settings().Network.ReceiveRate = 60 elseif (rbxlegacyversion == 7) then -- Gamma settings().Rendering.FrameRateManager = 2 settings().Network.DataSendRate = 30 settings().Network.PhysicsSendRate = 20 settings().Network.ReceiveRate = 60 pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) pcall(function() settings().Diagnostics:LegacyScriptMode() end) elseif (rbxlegacyversion == 8) then -- Delta settings().Rendering.FrameRateManager = 2 pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) pcall(function() settings().Diagnostics:LegacyScriptMode() end) coroutine.resume(coroutine.create(function() local CoreGui = game:GetService("CoreGui") while not CoreGui:FindFirstChild("RobloxGui") do CoreGui.ChildAdded:wait() end local RobloxGui = CoreGui.RobloxGui local BottomLeftControl = RobloxGui:FindFirstChild("BottomLeftControl") local BottomRightControl = RobloxGui:FindFirstChild("BottomRightControl") local TopLeftControl = RobloxGui:FindFirstChild("TopLeftControl") local BuildTools = RobloxGui:FindFirstChild("BuildTools") function makeYRelative() -- 123 BottomLeftControl.SizeConstraint = 2 BottomRightControl.SizeConstraint = 2 if TopLeftControl then TopLeftControl.SizeConstraint = 2 end if BuildTools then BuildTools.Frame.SizeConstraint = 2 end BottomLeftControl.Position = UDim2.new(0,0,1,-BottomLeftControl.AbsoluteSize.Y) BottomRightControl.Position = UDim2.new(1,-BottomRightControl.AbsoluteSize.X,1,-BottomRightControl.AbsoluteSize.Y) end function makeXRelative() loadstring("\66\111\116\116\111\109\76\101\102\116\67\111\110\116\114\111\108\46\83\105\122\101\67\111\110\115\116\114\97\105\110\116\32\61\32\49\10\9\9\9\9\66\111\116\116\111\109\82\105\103\104\116\67\111\110\116\114\111\108\46\83\105\122\101\67\111\110\115\116\114\97\105\110\116\32\61\32\49")() --[[BottomLeftControl.SizeConstraint = 1 BottomRightControl.SizeConstraint = 1 ]]-- if TopLeftControl then TopLeftControl.SizeConstraint = 1 end if BuildTools then BuildTools.Frame.SizeConstraint = 1 end BottomLeftControl.Position = UDim2.new(0,0,1,-BottomLeftControl.AbsoluteSize.Y) BottomRightControl.Position = UDim2.new(1,-BottomRightControl.AbsoluteSize.X,1,-BottomRightControl.AbsoluteSize.Y) end local function resize() if RobloxGui.AbsoluteSize.x > RobloxGui.AbsoluteSize.y then makeYRelative() else makeXRelative() end end RobloxGui.Changed:connect(function(property) if property == "AbsoluteSize" then wait() resize() end end) wait() resize() end)) wait() -- intalizing game.GuiRoot.ScoreHud:Remove() elseif (rbxlegacyversion == 9) then -- Delta Omega settings().Rendering.FrameRateManager = 2 pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) pcall(function() settings().Diagnostics:LegacyScriptMode() end) wait() -- intalizing game.GuiRoot.ScoreHud:Remove() elseif (rbxlegacyversion == 10) then -- Omega settings().Rendering.FrameRateManager = 2 pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) pcall(function() settings().Diagnostics:LegacyScriptMode() end) --stamper game:GetService("InsertService"):SetBaseSetsUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?nsets=10&type=base") game:GetService("InsertService"):SetUserSetsUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?nsets=20&type=user&userid=%d") game:GetService("InsertService"):SetCollectionUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?sid=%d") game:GetService("InsertService"):SetAssetUrl("http://www.roblox.com/Asset/?id=%d") game:GetService("InsertService"):SetAssetVersionUrl("http://www.roblox.com/Asset/?assetversionid=%d") elseif (rbxlegacyversion == 11) then settings().Rendering.FrameRateManager = 2 pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) pcall(function() settings().Diagnostics:LegacyScriptMode() end) --stamper game:GetService("InsertService"):SetBaseSetsUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?nsets=10&type=base") game:GetService("InsertService"):SetUserSetsUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?nsets=20&type=user&userid=%d") game:GetService("InsertService"):SetCollectionUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?sid=%d") game:GetService("InsertService"):SetAssetUrl("http://www.roblox.com/Asset/?id=%d") game:GetService("InsertService"):SetAssetVersionUrl("http://www.roblox.com/Asset/?assetversionid=%d") end print("RBXLegacy client version '" .. rbxlegacyversion .. "' loaded.") end rbxversion = version() print("ROBLOX Client version '" .. rbxversion .. "' loaded.") function newWaitForChild(newParent,name) local returnable = nil if newParent:FindFirstChild(name) then returnable = newParent:FindFirstChild(name) else repeat wait() returnable = newParent:FindFirstChild(name) until returnable ~= nil end return returnable end function LoadCharacterNew(playerApp,newChar) --authentic roblox style loading local charparts = {[1] = newWaitForChild(newChar,"Head"),[2] = newWaitForChild(newChar,"Torso"),[3] = newWaitForChild(newChar,"Left Arm"),[4] = newWaitForChild(newChar,"Right Arm"),[5] = newWaitForChild(newChar,"Left Leg"),[6] = newWaitForChild(newChar,"Right Leg")} for _,newVal in pairs(playerApp:GetChildren()) do newWaitForChild(newVal,"CustomizationType") local customtype = newVal:FindFirstChild("CustomizationType") if (customtype.Value == 1) then pcall(function() newWaitForChild(newVal,"ColorIndex") local colorindex = newVal:FindFirstChild("ColorIndex") charparts[colorindex.Value].BrickColor = newVal.Value end) elseif (customtype.Value == 2) then if (rbxlegacyversion > 1) then pcall(function() local newHat = game.Workspace:InsertContent("rbxasset://../../../charcustom/hats/"..newVal.Value) if newHat[1] then if newHat[1].className == "Hat" then newHat[1].Parent = newChar else newHat[1]:remove() end end end) end elseif (customtype.Value == 3) then if (rbxlegacyversion > 1) then pcall(function() local newTShirt = game.Workspace:InsertContent("http://www.roblox.com/asset/?id="..newVal.Value) if newTShirt[1] then if newTShirt[1].className == "ShirtGraphic" then newTShirt[1].Parent = newChar else newTShirt[1]:remove() end end end) end elseif (customtype.Value == 4) then if (rbxlegacyversion > 2) then pcall(function() local newShirt = game.Workspace:InsertContent("http://www.roblox.com/asset/?id="..newVal.Value) if newShirt[1] then if newShirt[1].className == "Shirt" then newShirt[1].Parent = newChar else newShirt[1]:remove() end end end) end elseif (customtype.Value == 5) then if (rbxlegacyversion > 2) then pcall(function() local newPants = game.Workspace:InsertContent("http://www.roblox.com/asset/?id="..newVal.Value) if newPants[1] then if newPants[1].className == "Pants" then newPants[1].Parent = newChar else newPants[1]:remove() end end end) end elseif (customtype.Value == 6) then if (rbxlegacyversion > 5) then pcall(function() local newFace = game.Workspace:InsertContent("rbxasset://../../../charcustom/faces/"..newVal.Value) if newFace[1] then if newFace[1].className == "Decal" then newWaitForChild(charparts[1],"face"):remove() newFace[1].Parent = charparts[1] newFace[1].Face = "Front" else newFace[1]:remove() end end end) end elseif (customtype.Value == 7) then if (rbxlegacyversion > 5) then pcall(function() local newPart = game.Workspace:InsertContent("rbxasset://../../../charcustom/heads/"..newVal.Value) if newPart[1] then if newPart[1].className == "SpecialMesh" or newPart[1].className == "CylinderMesh" or newPart[1].className == "BlockMesh" then newWaitForChild(charparts[1],"Mesh"):remove() newPart[1].Parent = charparts[1] else newPart[1]:remove() end end end) end elseif (customtype.Value == 8) then if (rbxlegacyversion > 7) then pcall(function() local meshindex = newVal:FindFirstChild("MeshIndex") local newPart = game.Workspace:InsertContent("rbxasset://../../../charcustom/bodies/"..meshindex.Value.."/"..newVal.Value) if newPart[1] then if newPart[1].className == "SpecialMesh" then newWaitForChild(newVal,"MeshIndex") newPart[1].Parent = charparts[meshindex.Value] else newPart[1]:remove() end end end) end end end end function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,TorsoID,RArmID,LArmID,RLegID,LLegID) local newCharApp = Instance.new("IntValue",Player) newCharApp.Name = "Appearance" --BODY COLORS for i=1,6,1 do local BodyColor = Instance.new("BrickColorValue",newCharApp) if (i == 1) then if (HeadColorID ~= nil) then BodyColor.Value = BrickColor.new(HeadColorID) BodyColor.Name = "HeadColor (ID: "..HeadColorID..")" else BodyColor.Value = BrickColor.new(1) BodyColor.Name = "HeadColor (ID: 1)" end elseif (i == 2) then if (TorsoColorID ~= nil) then BodyColor.Value = BrickColor.new(TorsoColorID) BodyColor.Name = "TorsoColor (ID: "..TorsoColorID..")" else BodyColor.Value = BrickColor.new(1) BodyColor.Name = "TorsoColor (ID: 1)" end elseif (i == 3) then if (LeftArmColorID ~= nil) then BodyColor.Value = BrickColor.new(LeftArmColorID) BodyColor.Name = "LeftArmColor (ID: "..LeftArmColorID..")" else BodyColor.Value = BrickColor.new(1) BodyColor.Name = "LeftArmColor (ID: 1)" end elseif (i == 4) then if (RightArmColorID ~= nil) then BodyColor.Value = BrickColor.new(RightArmColorID) BodyColor.Name = "RightArmColor (ID: "..RightArmColorID..")" else BodyColor.Value = BrickColor.new(1) BodyColor.Name = "RightArmColor (ID: 1)" end elseif (i == 5) then if (LeftLegColorID ~= nil) then BodyColor.Value = BrickColor.new(LeftLegColorID) BodyColor.Name = "LeftLegColor (ID: "..LeftLegColorID..")" else BodyColor.Value = BrickColor.new(1) BodyColor.Name = "LeftLegColor (ID: 1)" end elseif (i == 6) then if (RightLegColorID ~= nil) then BodyColor.Value = BrickColor.new(RightLegColorID) BodyColor.Name = "RightLegColor (ID: "..RightLegColorID..")" else BodyColor.Value = BrickColor.new(1) BodyColor.Name = "RightLegColor (ID: 1)" end end local typeValue = Instance.new("NumberValue") typeValue.Name = "CustomizationType" typeValue.Parent = BodyColor typeValue.Value = 1 local indexValue = Instance.new("NumberValue") indexValue.Name = "ColorIndex" indexValue.Parent = BodyColor indexValue.Value = i end --HATS for i=1,3,1 do local newHat = Instance.new("StringValue",newCharApp) if (i == 1) then if (Hat1ID ~= nil) then newHat.Value = Hat1ID newHat.Name = Hat1ID else newHat.Value = "NoHat.rbxm" newHat.Name = "NoHat.rbxm" end elseif (i == 2) then if (Hat2ID ~= nil) then newHat.Value = Hat2ID newHat.Name = Hat2ID else newHat.Value = "NoHat.rbxm" newHat.Name = "NoHat.rbxm" end elseif (i == 3) then if (Hat3ID ~= nil) then newHat.Value = Hat3ID newHat.Name = Hat3ID else newHat.Value = "NoHat.rbxm" newHat.Name = "NoHat.rbxm" end end local typeValue = Instance.new("NumberValue") typeValue.Name = "CustomizationType" typeValue.Parent = newHat typeValue.Value = 2 end --T-SHIRT local newTShirt = Instance.new("StringValue",newCharApp) if (TShirtID ~= nil or TShirtID ~= "0") then newTShirt.Value = TShirtID else newTShirt.Value = "0" end newTShirt.Name = "T-Shirt" local typeValue = Instance.new("NumberValue") typeValue.Name = "CustomizationType" typeValue.Parent = newTShirt typeValue.Value = 3 --SHIRT local newShirt = Instance.new("StringValue",newCharApp) if (ShirtID ~= nil or ShirtID ~= "0") then newShirt.Value = ShirtID else newShirt.Value = "0" end newShirt.Name = "Shirt" local typeValue = Instance.new("NumberValue") typeValue.Name = "CustomizationType" typeValue.Parent = newShirt typeValue.Value = 4 --PANTS local newPants = Instance.new("StringValue",newCharApp) if (PantsID ~= nil or PantsID ~= "0") then newPants.Value = PantsID else newPants.Value = "0" end newPants.Name = "Pants" local typeValue = Instance.new("NumberValue") typeValue.Name = "CustomizationType" typeValue.Parent = newPants typeValue.Value = 5 --FACE local newFace = Instance.new("StringValue",newCharApp) if (FaceID ~= nil) then newFace.Value = FaceID newFace.Name = FaceID else newFace.Value = "DefaultFace.rbxm" newFace.Name = "DefaultFace.rbxm" end local typeValue = Instance.new("NumberValue") typeValue.Name = "CustomizationType" typeValue.Parent = newFace typeValue.Value = 6 --HEADS local newHead = Instance.new("StringValue",newCharApp) if (HeadID ~= nil) then newHead.Value = HeadID newHead.Name = HeadID else newHead.Value = "DefaultHead.rbxm" newHead.Name = "DefaultHead.rbxm" end local typeValue = Instance.new("NumberValue") typeValue.Name = "CustomizationType" typeValue.Parent = newHead typeValue.Value = 7 --PACKAGES for i=2,5,1 do local BodyMesh = Instance.new("StringValue",newCharApp) if (i == 2) then if (TorsoID ~= nil) then BodyMesh.Value = TorsoID BodyMesh.Name = TorsoID else BodyMesh.Value = "DefaultTorso.rbxm" BodyMesh.Name = "DefaultTorso.rbxm" end elseif (i == 3) then if (LArmID ~= nil) then BodyMesh.Value = LArmID BodyMesh.Name = LArmID else BodyMesh.Value = "DefaultLArm.rbxm" BodyMesh.Name = "DefaultLArm.rbxm" end elseif (i == 4) then if (RArmID ~= nil) then BodyMesh.Value = RArmID BodyMesh.Name = RArmID else BodyMesh.Value = "DefaultRArm.rbxm" BodyMesh.Name = "DefaultRArm.rbxm" end elseif (i == 5) then if (LLegID ~= nil) then BodyMesh.Value = LLegID BodyMesh.Name = LLegID else BodyMesh.Value = "DefaultLLeg.rbxm" BodyMesh.Name = "DefaultLLeg.rbxm" end elseif (i == 6) then if (RLegID ~= nil) then BodyMesh.Value = RLegID BodyMesh.Name = RLegID else BodyMesh.Value = "DefaultRLeg.rbxm" BodyMesh.Name = "DefaultRLeg.rbxm" end end local typeValue = Instance.new("NumberValue") typeValue.Name = "CustomizationType" typeValue.Parent = BodyMesh typeValue.Value = 8 local indexValue = Instance.new("NumberValue") indexValue.Name = "MeshIndex" indexValue.Parent = BodyMesh indexValue.Value = i end end function CSServer(Port,PlayerLimit) if (rbxlegacyversion >= 8) then 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") pcall(NetworkServer.Stop,NetworkServer) NetworkServer:Start(Port) if (rbxlegacyversion < 9) then game:GetService("Players").MaxPlayers = PlayerLimit end game:GetService("Players").PlayerAdded:connect(function(Player) if (rbxlegacyversion < 9) then if (game:GetService("Players").NumPlayers > game:GetService("Players").MaxPlayers) then local message = Instance.new("Message") message.Text = "You were kicked. Reason: Too many players on server." message.Parent = Player wait(2) Player:remove() print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Too many players on server.") else print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' added") Player:LoadCharacter() end end Player.CharacterAdded:connect(function(char) LoadCharacterNew(newWaitForChild(Player,"Appearance"),Player.Character) end) Player.Changed:connect(function(Property) if (Property=="Character") and (Player.Character~=nil) then local Character=Player.Character local Humanoid=Character:FindFirstChild("Humanoid") if (Humanoid~=nil) then Humanoid.Died:connect(function() delay(5,function() Player:LoadCharacter() LoadCharacterNew(newWaitForChild(Player,"Appearance"),Player.Character) end) end) end end end) end) game:GetService("Players").PlayerRemoving:connect(function(Player) print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving") end) game:GetService("RunService"):Run() game.Workspace:InsertContent("rbxasset://fonts/libraries.rbxm") pcall(function() game.Close:connect(function() NetworkServer:Stop() end) end) NetworkServer.IncommingConnection:connect(IncommingConnection) else Server = game:GetService("NetworkServer") RunService = game:GetService("RunService") Server:start(Port, 20) RunService:run() game.Workspace:InsertContent("rbxasset://fonts/libraries.rbxm") game:GetService("Players").MaxPlayers = PlayerLimit game:GetService("Players").PlayerAdded:connect(function(Player) if (game:GetService("Players").NumPlayers > game:GetService("Players").MaxPlayers) then local message = Instance.new("Message") message.Text = "You were kicked. Reason: Too many players on server." message.Parent = Player wait(2) Player:remove() print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Too many players on server.") else print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' added") Player:LoadCharacter() LoadCharacterNew(newWaitForChild(Player,"Appearance"),Player.Character) end if (Player.Character ~= nil) then local Character=Player.Character local Humanoid=Character:FindFirstChild("Humanoid") if (Humanoid~=nil) then Humanoid.Died:connect(function() delay(5,function() Player:LoadCharacter() LoadCharacterNew(newWaitForChild(Player,"Appearance"),Player.Character) end) end) end end end) game:GetService("Players").PlayerRemoving:connect(function(Player) print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving") end) game:GetService("RunService"):Run() pcall(function() game.Close:connect(function() Server:Stop() end) end) Server.IncommingConnection:connect(IncommingConnection) end end function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,TorsoID,RArmID,LArmID,RLegID,LLegID,IconType,Ticket) if (rbxlegacyversion >= 8) then pcall(function() game:SetPlaceID(-1, false) end) pcall(function() game:GetService("Players"):SetChatStyle(Enum.ChatStyle.ClassicAndBubble) end) game:GetService("RunService"):Run() assert((ServerIP~=nil and ServerPort~=nil),"CSConnect Error: ServerIP and ServerPort must be defined.") local function SetMessage(Message) game:SetMessage(Message) end local Visit,NetworkClient,PlayerSuccess,Player,ConnectionFailedHook=game:GetService("Visit"),game:GetService("NetworkClient") local function GetClassCount(Class,Parent) local Objects=Parent:GetChildren() local Number=0 for Index,Object in pairs(Objects) do if (Object.className==Class) then Number=Number+1 end Number=Number+GetClassCount(Class,Object) end return Number end local function RequestCharacter(Replicator) local Connection Connection=Player.Changed:connect(function(Property) if (Property=="Character") then game:ClearMessage() end end) SetMessage("Requesting character...") Replicator:RequestCharacter() SetMessage("Waiting for character...") end local function Disconnection(Peer,LostConnection) SetMessage("You have lost connection to the game") end local function ConnectionAccepted(Peer,Replicator) Replicator.Disconnection:connect(Disconnection) local RequestingMarker=true game:SetMessageBrickCount() local Marker=Replicator:SendMarker() Marker.Received:connect(function() RequestingMarker=false RequestCharacter(Replicator) end) while RequestingMarker do Workspace:ZoomToExtents() wait(0.5) end end local function ConnectionFailed(Peer, Code, why) SetMessage("Failed to connect to the Game. (ID="..Code.." ["..why.."])") end pcall(function() settings().Diagnostics:LegacyScriptMode() end) pcall(function() game:SetRemoteBuildMode(true) end) SetMessage("Connecting to server...") NetworkClient.ConnectionAccepted:connect(ConnectionAccepted) ConnectionFailedHook=NetworkClient.ConnectionFailed:connect(ConnectionFailed) NetworkClient.ConnectionRejected:connect(function() pcall(function() ConnectionFailedHook:disconnect() end) SetMessage("Failed to connect to the Game. (Connection rejected)") end) pcall(function() NetworkClient.Ticket=Ticket or "" end) -- 2008 client has no ticket :O PlayerSuccess,Player=pcall(function() return NetworkClient:PlayerConnect(UserID,ServerIP,ServerPort) end) if (not PlayerSuccess) then SetMessage("Failed to connect to the Game. (Invalid IP Address)") NetworkClient:Disconnect() end if (not PlayerSuccess) then local Error,Message=pcall(function() Player=game:GetService("Players"):CreateLocalPlayer(UserID) NetworkClient:Connect(ServerIP,ServerPort) end) if (not Error) then SetMessage("Failed to connect to the Game.") end end pcall(function() Player:SetUnder13(false) end) if (rbxlegacyversion >= 8) then if (IconType == "BC") then Player:SetMembershipType(Enum.MembershipType.BuildersClub) elseif (IconType == "TBC") then Player:SetMembershipType(Enum.MembershipType.TurboBuildersClub) elseif (IconType == "OBC") then Player:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub) elseif (IconType == "NBC") then Player:SetMembershipType(Enum.MembershipType.None) end end pcall(function() Player:SetAccountAge(365) end) Player:SetSuperSafeChat(false) Player.CharacterAppearance=0 pcall(function() Player.Name=PlayerName or "" end) pcall(function() Visit:SetUploadUrl("") end) game:GetService("Visit") if (rbxlegacyversion == 8) then game.CoreGui.RobloxGui.TopLeftControl.Help:Remove() elseif (rbxlegacyversion > 8) then game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Help:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ReportAbuse:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.RecordToggle:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Screenshot:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ToggleFullScreen:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.TogglePlayMode:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.Exit:Remove() -- set up listeners for type of mouse mode local function waitForChild(instance, name) while not instance:FindFirstChild(name) do instance.ChildAdded:wait() end end delay(0, function() -- wait for the objects to load. we don't want to be TOO quick waitForChild(Player.PlayerGui,"UserSettingsShield") waitForChild(Player.PlayerGui.UserSettingsShield,"Settings") waitForChild(Player.PlayerGui.UserSettingsShield.Settings,"SettingsStyle") waitForChild(Player.PlayerGui.UserSettingsShield.Settings.SettingsStyle,"GameSettingsMenu") waitForChild(Player.PlayerGui.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu, "CameraField") waitForChild(Player.PlayerGui.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu.CameraField, "DropDownMenuButton") UserSettings().GameSettings.ControlMode.Changed:connect(function() if UserSettings().GameSettings.ControlMode == Enum.ControlMode["MouseShiftLock"] then if game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.MouseLockLabel.Visible == false then game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.MouseLockLabel.Visible = true end end if UserSettings().GameSettings.ControlMode == Enum.ControlMode["Classic"] then if game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.MouseLockLabel.Visible == true then game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.MouseLockLabel.Visible = false end end end) end) elseif (rbxlegacyversion == 11) then game.CoreGui.RobloxGui.ControlFrame.BottomRightControl:Remove() end if (rbxlegacyversion > 8) then Player.CanLoadCharacterAppearance = false end InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,TorsoID,RArmID,LArmID,RLegID,LLegID) else pcall(function() game:SetPlaceID(-1, false) end) pcall(function() game:GetService("Players"):SetChatStyle(Enum.ChatStyle.ClassicAndBubble) end) local suc, err = pcall(function() client = game:GetService("NetworkClient") player = game:GetService("Players"):CreateLocalPlayer(UserID) player:SetSuperSafeChat(false) pcall(function() player:SetUnder13(false) end) pcall(function() player:SetAccountAge(365) end) player.CharacterAppearance=0 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,TorsoID,RArmID,LArmID,RLegID,LLegID) end) local function dieerror(errmsg) game:SetMessage(errmsg) wait(math.huge) end if not suc then dieerror(err) end local function disconnect(peer,lostconnection) game:SetMessage("You have lost connection to the game") end local function connected(url, replicator) replicator.Disconnection:connect(disconnect) local marker = nil local suc, err = pcall(function() game:SetMessageBrickCount() marker = replicator:SendMarker() end) if not suc then dieerror(err) end marker.Received:connect(function() local suc, err = pcall(function() game:ClearMessage() end) if not suc then dieerror(err) end end) end local function rejected() dieerror("Failed to connect to the Game. (Connection rejected)") end local function failed(peer, errcode, why) dieerror("Failed to connect to the Game. (ID="..errcode.." ["..why.."])") end local suc, err = pcall(function() game:SetMessage("Connecting to server...") client.ConnectionAccepted:connect(connected) client.ConnectionRejected:connect(rejected) client.ConnectionFailed:connect(failed) client:Connect(ServerIP,ServerPort, 0, 20) if (rbxlegacyversion == 1) then game.GuiRoot.MainMenu["Toolbox"]:Remove() game.GuiRoot.MainMenu["Edit Mode"]:Remove() game.GuiRoot.ChatHud:Remove() game.GuiRoot.RightPalette.ReportAbuse:Remove() elseif (rbxlegacyversion == 2) then game.GuiRoot.ChatHud:Remove() game.GuiRoot.RightPalette.ReportAbuse:Remove() end end) if not suc then local x = Instance.new("Message") x.Text = err x.Parent = workspace wait(math.huge) end end end function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,TorsoID,RArmID,LArmID,RLegID,LLegID,IconType) if (rbxlegacyversion > 8) then game:GetService("RunService"):Run() else game:GetService("RunService"):run() end game.Workspace:InsertContent("rbxasset://fonts//libraries.rbxm") local plr = game.Players:CreateLocalPlayer(UserID) plr.Name = PlayerName plr:LoadCharacter() if (rbxlegacyversion > 8) then plr.CanLoadCharacterAppearance = false end if (rbxlegacyversion == 8) then game.CoreGui.RobloxGui.TopLeftControl.Help:Remove() elseif (rbxlegacyversion > 8) then game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Help:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ReportAbuse:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.RecordToggle:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Screenshot:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ToggleFullScreen:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.TogglePlayMode:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.Exit:Remove() -- set up listeners for type of mouse mode local function waitForChild(instance, name) while not instance:FindFirstChild(name) do instance.ChildAdded:wait() end end delay(0, function() -- wait for the objects to load. we don't want to be TOO quick waitForChild(plr.PlayerGui,"UserSettingsShield") waitForChild(plr.PlayerGui.UserSettingsShield,"Settings") waitForChild(plr.PlayerGui.UserSettingsShield.Settings,"SettingsStyle") waitForChild(plr.PlayerGui.UserSettingsShield.Settings.SettingsStyle,"GameSettingsMenu") waitForChild(plr.PlayerGui.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu, "CameraField") waitForChild(plr.PlayerGui.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu.CameraField, "DropDownMenuButton") UserSettings().GameSettings.ControlMode.Changed:connect(function() if UserSettings().GameSettings.ControlMode == Enum.ControlMode["MouseShiftLock"] then if game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.MouseLockLabel.Visible == false then game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.MouseLockLabel.Visible = true end end if UserSettings().GameSettings.ControlMode == Enum.ControlMode["Classic"] then if game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.MouseLockLabel.Visible == true then game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.MouseLockLabel.Visible = false end end end) end) elseif (rbxlegacyversion == 11) then game.CoreGui.RobloxGui.ControlFrame.BottomRightControl:Remove() end pcall(function() plr:SetUnder13(false) end) if (rbxlegacyversion >= 8) then if (IconType == "BC") then plr:SetMembershipType(Enum.MembershipType.BuildersClub) elseif (IconType == "TBC") then plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub) elseif (IconType == "OBC") then plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub) elseif (IconType == "NBC") then plr:SetMembershipType(Enum.MembershipType.None) end end pcall(function() plr:SetAccountAge(365) end) plr.CharacterAppearance=0 InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,TorsoID,RArmID,LArmID,RLegID,LLegID) LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character) game:GetService("Visit") if (plr.Character ~= nil) then local Character=plr.Character local Humanoid=Character:FindFirstChild("Humanoid") if (Humanoid~=nil) then Humanoid.Died:connect(function() delay(5,function() plr:LoadCharacter() LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character) end) end) end end if (rbxlegacyversion > 8) then local function waitForChild(instance, name) while not instance:FindFirstChild(name) do instance.ChildAdded:wait() end end waitForChild(game.StarterGui,"Menu") game.StarterGui.Menu.Workaround:remove() end end function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,TorsoID,RArmID,LArmID,RLegID,LLegID,IconType) rbxlegacyversion = 8 settings().Rendering.FrameRateManager = 2 game:GetService("RunService"):run() local plr = game.Players:CreateLocalPlayer(UserID) plr.Name = PlayerName plr:LoadCharacter() pcall(function() plr:SetUnder13(false) end) pcall(function() plr:SetSuperSafeChat(true) end) pcall(function() plr:SetAccountAge(365) end) plr.CharacterAppearance=0 game.CoreGui.RobloxGui:Remove() game.GuiRoot.ScoreHud:Remove() game.GuiRoot.ChatHud:Remove() game.GuiRoot.ChatMenuPanel:Remove() if (plr.PlayerGui:FindFirstChild("HealthGUI")) then plr.PlayerGui.HealthGUI:Remove() end pcall(function() game:GetService("ScriptContext").ScriptsDisabled = true end) if plr.Character:FindFirstChild("Animate") then plr.Character.Animate:Remove() end InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,TorsoID,RArmID,LArmID,RLegID,LLegID) LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character) wait(1) game:GetService("NetworkClient") end _G.SetRBXLegacyVersion=SetRBXLegacyVersion _G.CSServer=CSServer _G.CSConnect=CSConnect _G.CSSolo=CSSolo _G.CS3DView=CS3DView