Pinkstack/roblox-luau-corpus-text huggingface dataset:
--		body.FB.BrickColor = bool and BrickColor.new("Pearl") or BrickColor.new("Black")


		body.FB.Material = bool and "Neon" or "SmoothPlastic"
		body.RB.BrickColor = bool and BrickColor.new("Really red") or BrickColor.new("Really red")
		body.RB.Material = bool and "Neon" or "SmoothPlastic"
		tk.Rb.BrickColor = bool and BrickColor.new("Really red") or BrickColor.new("Really red")
		tk.Rb.Material = bool and "Neon" or "SmoothPlastic"
		
		body.L.Light.Enabled = bool
		car.DriveSeat.Lights.Value = bool
	end
end

local b = ''

function Toggle(dir, tog)
	if dir == 'Left' then
		body.RLeft.Material = tog and "Neon" or "SmoothPlastic"
		body.RLeft.BrickColor = tog and BrickColor.new("Deep orange") or BrickColor.new("Pearl")
		
		body.LeftIn.Transparency = tog and 0 or 1
		
		car.Misc.FL.Door.Ind.Material = tog and "Neon" or "SmoothPlastic"
		car.Misc.FL.Door.Ind.BrickColor = tog and BrickColor.new("Deep orange") or BrickColor.new("Pearl")
		car.DriveSeat.LI.Value = tog
	elseif dir == 'Right' then
		body.RRight.Material = tog and "Neon" or "SmoothPlastic"
		body.RRight.BrickColor = tog and BrickColor.new("Deep orange") or BrickColor.new("Pearl")
		
		body.RightIn.Transparency = tog and 0 or 1
		
		car.Misc.FR.Door.Ind.Material = tog and "Neon" or "SmoothPlastic"
		car.Misc.FR.Door.Ind.BrickColor = tog and BrickColor.new("Deep orange") or BrickColor.new("Pearl")
		car.DriveSeat.RI.Value = tog
	elseif dir == 'Hazards' then
		body.RLeft.Material = tog and "Neon" or "SmoothPlastic"
		body.RRight.Material = tog and "Neon" or "SmoothPlastic"
		
		body.RLeft.BrickColor = tog and BrickColor.new("Deep orange") or BrickColor.new("Pearl")
		body.RRight.BrickColor = tog and BrickColor.new("Deep orange") or BrickColor.new("Pearl")
		
		body.LeftIn.Transparency = tog and 0 or 1
		body.RightIn.Transparency = tog and 0 or 1
		
		car.Misc.FL.Door.Ind.Material = tog and "Neon" or "SmoothPlastic"
		car.Misc.FL.Door.Ind.BrickColor = tog and BrickColor.new("Deep orange") or BrickColor.new("Pearl")
		
		car.Misc.FR.Door.Ind.Material = tog and "Neon" or "SmoothPlastic"
		car.Misc.FR.Door.Ind.BrickColor = tog and BrickColor.new("Deep orange") or BrickColor.new("Pearl")
		car.DriveSeat.LI.Value = tog
		car.DriveSeat.RI.Value = tog
	end
end

function blink(typ)
	b = typ
	if blinking == true then
		blinking = false
	else
		blinking = true
		while blinking do
			Toggle(typ, true)
			script.Parent:FireClient(player, 'blink', .9, true)
			wait(1/3)
			Toggle(typ, false)
			script.Parent:FireClient(player, 'blink', 0.8, true)
			wait(1/3)
		end
		Toggle('Hazards', false)
		script.Parent:FireClient(player, 'blink', .9, false)
	end
end

script.Parent.Parent.ChildRemoved:connect(function(child)
	if child:IsA("Weld") and BlinkersEnabled then
		if blinking == true and b == 'Hazards' then
			return
		else
			blinking = false
		end
	end
end)

F.blinkers = function(dir)
	blink(dir)
end

script.Parent.OnServerEvent:connect(function(pl,Fnc,...)
	player = pl
	F[Fnc](...)
end)
--//Custom Functions\\--


function TagHumanoid(humanoid, player)
	local Creator_Tag = Instance.new("ObjectValue")
	Creator_Tag.Name = "Creator"
	Creator_Tag.Value = player
	debris:AddItem(Creator_Tag, 0.3)
	Creator_Tag.Parent = humanoid
end

function UntagHumanoid(humanoid)
	for i, v in pairs(humanoid:GetChildren()) do
		if v:IsA("ObjectValue") and v.Name == "creator" then
			v:Destroy()
		end
	end
end

function TextEffects(element, floatAmount, direction, style, duration)
	element:TweenPosition(UDim2.new(0, math.random(-40, 40), 0, -floatAmount), direction, style, duration)
	wait(0.5)

	for i = 1, 60 do
		element.TextTransparency = element.TextTransparency + 1/60
		element.TextStrokeTransparency = element.TextStrokeTransparency + 1/60
		wait(1/60)
	end

	element.TextTransparency = element.TextTransparency + 1
	element.TextStrokeTransparency = element.TextStrokeTransparency + 1
	element.Parent:Destroy()
end

function DynamicText(damage, criticalPoint, humanoid)
	local bill = Instance.new("BillboardGui", humanoid.Parent.Head)
	bill.Size = UDim2.new(0, 50, 0, 100) 
	local part = Instance.new("TextLabel", bill) 
	bill.AlwaysOnTop = true
	part.TextColor3 = Color3.fromRGB(255, 0, 0)
	part.Text = damage
	part.Font = Enum.Font.SourceSans
	part.TextStrokeTransparency = 0
	part.Size = UDim2.new(1, 0, 1, 0) 
	part.Position = UDim2.new(0, 0, 0, 0) 
	part.BackgroundTransparency = 1
	bill.Adornee = bill.Parent
			
	if damage < criticalPoint then
		part.TextSize = 28
		part.TextColor3 = Color3.new(1, 0, 0)
	elseif damage >= criticalPoint then
		part.TextSize = 32
		part.TextColor3 = Color3.new(1, 1, 0)
	end 
	
	spawn(function()
		TextEffects(part, 85, Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.75)
	end)
end

function DamageAndTagHumanoid(player, humanoid, damage)
	hit:FireClient(player)
	UntagHumanoid(handle)
	humanoid:TakeDamage(damage) TagHumanoid(humanoid, player)
end
--[[
	// Name:   Extended GroupService
	// Author: Sebastian Erik Bauer (SimplyData)
	// Date:   25/04/2019
--]]


local GroupService = {}
local RbxGroupService = game:GetService("GroupService")

local DEFAULT_ROLE = "Guest"

local function PagesToArray(Pages)
	local Array = {}
	local Length = 0

	while true do
		for _, Value in ipairs(Pages:GetCurrentPage()) do
			Length = Length + 1
			Array[Length] = Value
		end

		if Pages.IsFinished then
			break
		else
			Pages:AdvanceToNextPageAsync()
		end
	end

	return Array
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------



function onSwimming(speed)
	if speed > 1.00 then
		local scale = 10.0
		playAnimation("swim", 0.4, Humanoid)
		setAnimationSpeed(speed / scale)
		pose = "Swimming"
	else
		playAnimation("swimidle", 0.4, Humanoid)
		pose = "Standing"
	end
end

function animateTool()
	if (toolAnim == "None") then
		playToolAnimation("toolnone", toolTransitionTime, Humanoid, Enum.AnimationPriority.Idle)
		return
	end

	if (toolAnim == "Slash") then
		playToolAnimation("toolslash", 0, Humanoid, Enum.AnimationPriority.Action)
		return
	end

	if (toolAnim == "Lunge") then
		playToolAnimation("toollunge", 0, Humanoid, Enum.AnimationPriority.Action)
		return
	end
end

function getToolAnim(tool)
	for _, c in ipairs(tool:GetChildren()) do
		if c.Name == "toolanim" and c.className == "StringValue" then
			return c
		end
	end
	return nil
end

local lastTick = 0

function stepAnimate(currentTime)
	local amplitude = 1
	local frequency = 1
  	local deltaTime = currentTime - lastTick
  	lastTick = currentTime

	local climbFudge = 0
	local setAngles = false

  	if (jumpAnimTime > 0) then
  		jumpAnimTime = jumpAnimTime - deltaTime
  	end

	if (pose == "FreeFall" and jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	elseif (pose == "Seated") then
		playAnimation("sit", 0.5, Humanoid)
		return
	elseif (pose == "Running") then
		playAnimation("walk", 0.2, Humanoid)
	elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
		stopAllAnimations()
		amplitude = 0.1
		frequency = 1
		setAngles = true
	end

	-- Tool Animation handling
	local tool = Character:FindFirstChildOfClass("Tool")
	if tool and tool:FindFirstChild("Handle") then
		local animStringValueObject = getToolAnim(tool)

		if animStringValueObject then
			toolAnim = animStringValueObject.Value
			-- message recieved, delete StringValue
			animStringValueObject.Parent = nil
			toolAnimTime = currentTime + .3
		end

		if currentTime > toolAnimTime then
			toolAnimTime = 0
			toolAnim = "None"
		end

		animateTool()
	else
		stopToolAnimations()
		toolAnim = "None"
		toolAnimInstance = nil
		toolAnimTime = 0
	end
end
-- FUNCTIONS --


return function(Character)
task.delay(5, function()
		for i, v in pairs(Character:GetDescendants()) do
			if v:IsA("MeshPart") or v:IsA("Part") or v:IsA("Decal") then
				-- Transparency Tween --
				local tweenTime = 2
				
				local ImpTween = TS:Create(v, TweenInfo.new(tweenTime, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Transparency = 1})
				ImpTween:Play()

				task.delay(tweenTime, function()
					--print("Tween Completed - NPCDeathFX")
				end)
			end
		end
	end)	
end
--[[
	SERVER PLUGINS' NAMES MUST START WITH "Server:" OR "Server-"
	CLIENT PLUGINS' NAMES MUST START WITH "Client:" OR "Client-"

	Plugins have full access to the server/client tables and most variables.

	You can use the MakePluginEvent to use the script instead of setting up an event.
	PlayerChatted will get chats from the custom chat and nil players.
	PlayerJoined will fire after the player finishes initial loading
	CharacterAdded will also fire after the player is loaded, it does not use the CharacterAdded event.

	service.Events.PlayerChatted(function(plr, msg)
		print(msg..' from '..plr.Name..' Example Plugin')
	end)

	service.Events.PlayerAdded(function(p)
		print(p.Name..' Joined! Example Plugin')
	end)

	service.Events.CharacterAdded(function(p)
		server.RunCommand('name',plr.Name,'BobTest Example Plugin')
	end)

--]]



return function(Vargs)
	local server, service = Vargs.Server, Vargs.Service

	server.Commands.ExampleCommand = {
		Prefix = server.Settings.Prefix;	-- Prefix to use for command
		Commands = {"example"};	-- Commands
		Args = {"arg1"};	-- Command arguments
		Description = "Example command";	-- Command Description
		Hidden = true; -- Is it hidden from the command list?
		Fun = false;	-- Is it fun?
		AdminLevel = "Players";	    -- Admin level; If using settings.CustomRanks set this to the custom rank name (eg. "Baristas")
		Function = function(plr,args)    -- Function to run for command
			print("HELLO WORLD FROM AN EXAMPLE COMMAND :)")
			print("Player supplied args[1] "..tostring(args[1]))
		end
	}
end
-- ANimation


local Sound = script:WaitForChild("Haoshoku Sound")

UIS.InputBegan:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.X and Debounce == 1 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == false then
		Debounce = 2
		Track1 = plr.Character.Humanoid:LoadAnimation(script.AnimationCharge)
		Track1:Play()
		for i = 1,math.huge do
			if Debounce == 2 then
				
				plr.Character.HumanoidRootPart.CFrame = CFrame.new(plr.Character.HumanoidRootPart.Position, Mouse.Hit.p)
				plr.Character.HumanoidRootPart.Anchored = true
			else
				
				break
				end
	     wait()
	  end
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.X and Debounce == 2 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == false then
		Debounce = 3
		plr.Character.HumanoidRootPart.Anchored = false
		local Track2 = plr.Character.Humanoid:LoadAnimation(script.AnimationRelease)
		Track2:Play()
		Track1:Stop()
		Sound:Play()
		for i = 1,10 do
			wait(0.1)
		local mousepos = Mouse.Hit
		script.RemoteEvent:FireServer(mousepos,Mouse.Hit.p)
		end
		wait(0.3)
		Track2:Stop()
		wait(.5)
		Tool.Active.Value = "None"
		wait(3)
		Debounce = 1
	end
end)
--[[Engine]]



local fFD = _Tune.FinalDrive*_Tune.FDMult
local fFDr = fFD*30/math.pi
local cGrav = workspace.Gravity*_Tune.InclineComp/32.2
local wDRatio = wDia*math.pi/60
local cfWRot = CFrame.Angles(math.pi/2,-math.pi/2,0)
local cfYRot = CFrame.Angles(0,math.pi,0)

if _Tune.Aspiration == "Single" or _Tune.Aspiration == "Super" then
	_TCount = 1
	_TPsi = _Tune.Boost
elseif _Tune.Aspiration == "Double" then
	_TCount = 2
	_TPsi = _Tune.Boost*2
end
-- ArrayScriptConnection object:



local ArrayScriptConnection = {
	--[[
		_listener = function -- [function]
		_listener_table = {} -- [table] -- Table from which the function entry will be removed
		_disconnect_listener -- [function / nil]
		_disconnect_param    -- [value / nil]
	--]]
}

function ArrayScriptConnection:Disconnect()
	local listener = self._listener
	if listener ~= nil then
		local listener_table = self._listener_table
		local index = table.find(listener_table, listener)
		if index ~= nil then
			table.remove(listener_table, index)
		end
		self._listener = nil
	end
	if self._disconnect_listener ~= nil then
		if not FreeRunnerThread then
			FreeRunnerThread = coroutine.create(RunEventHandlerInFreeThread)
		end
		task.spawn(FreeRunnerThread, self._disconnect_listener, self._disconnect_param)
		self._disconnect_listener = nil
	end
end

function MadworkScriptSignal.NewArrayScriptConnection(listener_table, listener, disconnect_listener, disconnect_param) --> [ScriptConnection]
	return {
		_listener = listener,
		_listener_table = listener_table,
		_disconnect_listener = disconnect_listener,
		_disconnect_param = disconnect_param,
		Disconnect = ArrayScriptConnection.Disconnect
	}
end
-- Input begin


userInputService.InputBegan:connect(function(inputObject, gameProcessedEvent)
	if not gameProcessedEvent then
		if inputObject.KeyCode == Enum.KeyCode.W then
			movement = Vector2.new(movement.X, 1)
		elseif inputObject.KeyCode == Enum.KeyCode.A then
			movement = Vector2.new(-1, movement.Y)
		elseif inputObject.KeyCode == Enum.KeyCode.S then
			movement = Vector2.new(movement.X, -1)
		elseif inputObject.KeyCode == Enum.KeyCode.D then
			movement = Vector2.new(1, movement.Y)
		end
	end
end)
--[[Engine]]


	--Torque Curve
	Tune.Horsepower		= 310		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 500		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 3900		--		Use sliders to manipulate values
	Tune.Redline		= 4500		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 4500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	--Incline Compensation
	Tune.InclineComp	= 1.3			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 80		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 70		-- RPM decay when clutch is off
	Tune.RevBounce		= 10		-- RPM kickback from redline
	Tune.IdleThrottle	= 1			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)
-- regeneration


while true do
	local s = wait(1)
	
	local health = Humanoid.Health
	if health > 0 and health < Humanoid.MaxHealth then
		health = health + 0.01 * s * Humanoid.MaxHealth
		if health * 1.05 < Humanoid.MaxHealth then
			Humanoid.Health = health
		else
			Humanoid.Health = Humanoid.MaxHealth
		end
	end
end
--	RightShoulder.DesiredAngle = (LimbDesiredAngle + ClimbFudge)
--	LeftShoulder.DesiredAngle = (LimbDesiredAngle + ClimbFudge)
--	RightHip.DesiredAngle = -LimbDesiredAngle
--	LeftHip.DesiredAngle = -LimbDesiredAngle


	
end

Humanoid.Died:connect(OnDied)
Humanoid.Running:connect(OnRunning)
Humanoid.Jumping:connect(OnJumping)
Humanoid.Climbing:connect(OnClimbing)
Humanoid.GettingUp:connect(OnGettingUp)
Humanoid.FreeFalling:connect(OnFreeFall)
Humanoid.FallingDown:connect(OnFallingDown)
Humanoid.Seated:connect(OnSeated)
Humanoid.PlatformStanding:connect(OnPlatformStanding)
Humanoid.Swimming:connect(OnSwimming)

Humanoid:ChangeState(Enum.HumanoidStateType.None)

RunService.Stepped:connect(function()
	local _, Time = wait(0.1)
	Move(Time)
end)
-- Roblox User Input Control Modules - each returns a new() constructor function used to create controllers as needed


local Keyboard = require(script:WaitForChild("Keyboard"))
local Gamepad = require(script:WaitForChild("Gamepad"))
local DynamicThumbstick = require(script:WaitForChild("DynamicThumbstick"))

local FFlagUserMakeThumbstickDynamic do
	local success, value = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserMakeThumbstickDynamic")
	end)
	FFlagUserMakeThumbstickDynamic = success and value
end

local TouchThumbstick = FFlagUserMakeThumbstickDynamic and DynamicThumbstick or require(script:WaitForChild("TouchThumbstick"))
--[[
	This function creates a meteor in a random room with windows, breaching a number of them, as well as the room.
	This is also where monsters would be spawned, if the spawn line of code were to be commented out. 
]]


local ServerStorage = game:GetService("ServerStorage")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local TableUtils = require(ReplicatedStorage.Dependencies.LuaUtils.TableUtils)
local RoomManager = require(ServerStorage.Source.Managers.RoomManager)
local Constants = require(ReplicatedStorage.Source.Common.Constants)
local MonsterManager = require(ServerStorage.Source.Managers.MonsterManager)

local monstersEnabled = ReplicatedStorage.MonstersEnabled.Value

math.randomseed(tick())

return function()
	local rooms = RoomManager.getRooms()

	local roomsWithWindows =
		TableUtils.filter(
		rooms,
		function(room)
			if #room:getWindows() > 0 then
				return true
			end
		end
	)

	if #roomsWithWindows > 0 then
		local room = roomsWithWindows[math.random(1, #roomsWithWindows)]
		local windows = room:getWindows()
		local windowsToBreak = math.random(1, #windows)

		for i = 1, windowsToBreak do
			local window = windows[i]

			if not window then
				return
			end

			if window:getState() == Constants.State.Window.Normal then
				window:breach()
			else
				windowsToBreak = windowsToBreak + 1
			end
		end

		if monstersEnabled then
			MonsterManager.spawnMonsterInRoom(room)
		end
	end
end
--------RIGHT DOOR --------


game.Workspace.doorright.l12.BrickColor = BrickColor.new(game.Workspace.Lighting.secondary.Value)

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

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

game.Workspace.doorright.pillar.BrickColor = BrickColor.new(game.Workspace.Lighting.defaultlights.Value)
---SG Is  Here---
---Please Dont Change Anything Can Dont Work If You Change--



local repStorage = game:GetService("ReplicatedStorage")
local remote = repStorage:FindFirstChild("Rebirth")

local button = script.Parent

local debounce = false

button.MouseButton1Click:Connect(function()
	local rebirths = game.Players.LocalPlayer.leaderstats:FindFirstChild("Rebirths")
	if not debounce then
		debounce = true
		local playerPoint = rebirths
		remote:FireServer(playerPoint)
		wait(0.01)
		debounce = false
	end
end)

repeat
	local rebirths = game.Players.LocalPlayer.leaderstats:FindFirstChild("Rebirths")
	local textButton = script.Parent
	textButton.Text = "".. tostring(100 * (rebirths.Value + 1)) .." Coins "
	wait(0.01)
until script.Parent == nil
-- functions



local function HandleCharacter(character)
	if character then
		spawn(function()
			wait(1)
			
			for _, v in pairs(character:GetChildren()) do
				if v:IsA("BasePart") then
					v:GetPropertyChangedSignal("Size"):Connect(function()
						wait(2)
						PLAYER:Kick()
					end)
				end
			end
		end)
	end
end

local function HandlePlayer(player)
	player.CharacterAdded:connect(HandleCharacter)
	
	if player.Character then
		HandleCharacter(player.Character)
	end
end
--math



local inf = 99999*9999*99999*9999*9999

while true do
	wait (5.5)
	sit:Play()
	wait (2)
	thud:Play()
	wait (1)
	typee:Play()
	script.Parent.NameDev.TextTransparency = 0
	wait (0.5)
	typee:Play()
	script.Parent.Presents.TextTransparency = 0
	wait (1)
	script.Parent.D1.TextTransparency = 0
	typee:Play()
	wait (1)
	typee:Play()
	script.Parent.D2.TextTransparency = 0
	wait (1)
	typee:Play()
	script.Parent.D3.TextTransparency = 0
	wait (4)
	Music:Play()
	script.Parent.GameName.TextTransparency = 0
	wait (4)
	Music.Volume = 1
	wait (0.3)
	Music.Volume = 0.4
	wait (0.3)
	Music.Volume = 0.1
	wait (0.2)
	Music:Destroy()
	wait (0.5)
	click:Play()
	script.Parent.ChapterName.TextTransparency = 0
	wait (4.5)
	start:Play()
	script.Parent.Visible = false
	wait (inf)
end
--[[
	Sets the velocity of the internal springs, overwriting the existing velocity
	of this Spring. This doesn't affect position.

	If the type doesn't match the current type of the spring, an error will be
	thrown.
]]


function class:setVelocity(newValue)
	local newType = typeof(newValue)
	if newType ~= self._currentType then
		parseError("springTypeMismatch", nil, newType, self._currentType)
	end

	self._springVelocities = unpackType(newValue, newType)
	SpringScheduler.add(self)
end