Roblox/luau_corpus huggingface dataset:
--[[
    Server Init
]]

local RunServ = game:GetService("RunService")
local ServStore = game:GetService("ServerStorage")

local ServerScripts = ServStore.Modules:GetChildren()

local modules, priority = {}, {}
for _, module: ModuleScript in ipairs(ServerScripts) do
	if module:IsA("ModuleScript") and not module.Name:find("IGNORE") then
		local mod = require(module)
		priority[mod.InitPriority] = mod
		modules[module.Name] = mod
	end
end

local function call_loop(dt: number)
	for _, module in modules do
		module:Loop(dt)
	end
end

for _, module in ipairs(priority) do
	module:Init()
end

RunServ.Heartbeat:Connect(call_loop)
--Flingi2's Lap
--This script is free to use for anyone

local ting = 0 --debouncer

function onTouched(hit)

	if ting == 0 then --debounce check
	ting = 1 --activate debounce
	check = hit.Parent:FindFirstChild("Humanoid") --Find the human that touched the button

	if check ~= nil then --If a human is found, then

		local user = game.Players:GetPlayerFromCharacter(hit.Parent) --get player from touching human
		local stats = user:findFirstChild("leaderstats") --Find moneyholder

		if stats ~= nil then --If moneyholder exists then
			local cash = stats:findFirstChild("Laps") --Change Cash To The Money In The Leaderboard
			cash.Value  = cash.Value +1 --increase amount of money by the number displayed here (1)
			wait(0.1) --wait-time before button works again
		end

	end

	ting = 0 --remove debounce
	end

end

script.Parent.Touched:connect(onTouched)
--[[Flip]]

	function Flip()
		--Detect Orientation
		if (car.DriveSeat.CFrame*CFrame.Angles(math.pi/2,0,0)).lookVector.y > .1 or FlipDB then
			FlipWait=tick()
			
		--Apply Flip
		else
			if tick()-FlipWait>=3 then
				FlipDB=true
				local gyro = car.DriveSeat.Flip
				gyro.maxTorque = Vector3.new(10000,0,10000)
				gyro.P=3000
				gyro.D=500
				wait(1)
				gyro.maxTorque = Vector3.new(0,0,0)
				gyro.P=0
				gyro.D=0
				FlipDB=false
			end
		end
	end

game:GetService("RunService").RenderStepped:connect(function()
	if script.Parent.AssistantBrake.Value == true and _CGear ~= -1 and _SteerL == false and _SteerR == false then
		RBrakeForce = _Tune.RBrakeForce
		FBrakeForce = _Tune.FBrakeForce
		_GBrake = 1
		script.Parent.Lights.Value:FireServer({["EnableBrakes"]=true})
		if script.Parent.AssistantAlarm.IsPlaying == false then
			script.Parent.AssistantAlarm:Play()
		end
		script.Parent["AC6_Stock_Gauges"].EBrake.Visible = true
		script.Parent.FEAssistantBrake.DisableAssistantBrake:FireServer()
		wait(3.5)
		script.Parent["AC6_Stock_Gauges"].EBrake.Visible = false
		_GBrake = 0
		script.Parent.Lights.Value:FireServer({["DisableBrakes"]=true})
	elseif _CGear == -1 and script.Parent.AssistantBrake.Value == true then
		script.Parent.FEAssistantBrake.DisableAssistantBrake:FireServer()
	elseif (_SteerL == true or _SteerR == true) and script.Parent.AssistantBrake.Value == true then
		script.Parent.FEAssistantBrake.DisableAssistantBrake:FireServer()
	end
end)
--- Replace with true/false to force the chat type. Otherwise this will default to the setting on the website.
module.BubbleChatEnabled = true ---PlayersService.BubbleChat
module.ClassicChatEnabled = PlayersService.ClassicChat
--[[
	Recursively iterates through the object to construct strings and add it to the localization table

	@param localizationTable LocalizationTable
	@param localeId string -- The localizationid to add
	@param baseKey string -- the key to add
	@param object any -- The value to iterate over
]]
local function recurseAdd(localizationTable, localeId, baseKey, object, tableName)
	if baseKey ~= "" then
		baseKey = baseKey .. "."
	end

	for index, value in pairs(object) do
		local key = baseKey .. index
		if type(value) == "table" then
			recurseAdd(localizationTable, localeId, key, value, tableName)
		elseif type(value) == "string" then
			local source = ""

			-- Guarantee the context is unique. This is important because Roblox will not
			-- allow something with the same source without a differing context value.
			local context = tableName .. "." .. key

			if localeId == "en" then
				source = value
			end

			localizationTable:SetEntryValue(key, source, context, localeId, value)
		else
			error("Bad type for value in '" .. key .. "'.")
		end
	end
end
-- services

local ReplicatedStorage		= game:GetService("ReplicatedStorage")
local TweenService			= game:GetService("TweenService")
local Players				= game:GetService("Players")
--- Fire
Signal.Fire = function(eventName, ...)
	--- Variables
	eventName = string.lower(eventName)

	--- Get/create event
	local event = GetEvent(eventName)

	--- Signal for visualization/tracking purposes on Debug (Client only) META AF BTW
	if (not isServer) and eventName ~= "core signal fired" then
		Signal.Fire("CORE Signal Fired", eventName)
	end

	--- Fire event w/ data
	event:Fire(...)
end
--[=[
	Invokes the function once at renderstepped, unless the cancel callback is called.

	@param func function -- Function to call
	@return function -- Call this function to cancel call
]=]
function StepUtils.onceAtRenderStepped(func)
	return StepUtils.onceAtEvent(RunService.RenderStepped, func)
end
-- Functions 

function SPRING.new(self, mass, force, damping, speed)

	local spring	= {
		Target		= Vector3.new();
		Position	= Vector3.new();
		Velocity	= Vector3.new();

		Mass		= mass or 5;
		Force		= force or 50;
		Damping		= damping or 4;
		Speed		= speed  or 4;
	}

	function spring.getstats(self)
		return self.Mass, self.Force, self.Damping, self.Speed
	end

	function spring.changestats(self, mass, force, damping, speed)
		self.Mass = mass or self.Mass
		self.Force = force or self.Force
		self.Damping = damping or self.Damping
		self.Speed = speed or self.Speed
	end

	function spring.shove(self, force)
		local x, y, z	= force.X, force.Y, force.Z
		if x ~= x or x == math.huge or x == -math.huge then
			x	= 0
		end
		if y ~= y or y == math.huge or y == -math.huge then
			y	= 0
		end
		if z ~= z or z == math.huge or z == -math.huge then
			z	= 0
		end
		self.Velocity	= self.Velocity + Vector3.new(x, y, z)
	end

	function spring.update(self, dt)
		local scaledDeltaTime = dt * self.Speed / ITERATIONS
		for i = 1, ITERATIONS do
			local iterationForce= self.Target - self.Position
			local acceleration	= (iterationForce * self.Force) / self.Mass

			acceleration		= acceleration - self.Velocity * self.Damping

			self.Velocity	= self.Velocity + acceleration * scaledDeltaTime
			self.Position	= self.Position + self.Velocity * scaledDeltaTime
		end

		return self.Position
	end

	return spring
end
--[[ END OF SERVICES ]]

local LocalPlayer = PlayersService.LocalPlayer
while LocalPlayer == nil do
	PlayersService.ChildAdded:wait()
	LocalPlayer = PlayersService.LocalPlayer
end

local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
--[[Weight and CG]]
	Tune.Weight			= 2300		-- Total weight (in pounds)
	Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	 --[[Width]]		6		,
	 --[[Height]]		3.5		,
	 --[[Length]]		14		}
	Tune.WeightDist		= 50		-- Weight distribution (0 - on rear wheels, 100 - on front wheels, can be <0 or >100)
	Tune.CGHeight		= .5		-- 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
--[=[
	Stops all motors on the gamepad.

	```lua
	gamepad:SetMotor(Enum.VibrationMotor.Large, 1)
	gamepad:SetMotor(Enum.VibrationMotor.Small, 1)
	task.wait(0.1)
	gamepad:StopMotors()
	```
]=]
function Gamepad:StopMotors()
	for _,motor in ipairs(Enum.VibrationMotor:GetEnumItems()) do
		if self:IsMotorSupported(motor) then
			self:StopMotor(motor)
		end
	end
end
-- Fire with whitelist
function FastCast:FireWithWhitelist(origin, directionWithMagnitude, velocity, whitelist, cosmeticBulletObject, ignoreWater, bulletAcceleration, tool, clientModule, miscs, replicate, penetrationData)
	assert(getmetatable(self) == FastCast, ERR_NOT_INSTANCE:format("FireWithWhitelist", "FastCast.new()"))
	BaseFireMethod(self, origin, directionWithMagnitude, velocity, cosmeticBulletObject, nil, ignoreWater, bulletAcceleration, tool, clientModule, miscs, replicate, whitelist, true, penetrationData)
end
-- Color Changing Script ~ Rainbow!
while true do
script.Parent.Color = Color3.fromRGB(255, 0, 0)
wait(1)
script.Parent.Color = Color3.fromRGB(255, 149, 0)
wait(1)
script.Parent.Color = Color3.fromRGB(255, 247, 0)
wait(1)
script.Parent.Color = Color3.fromRGB(4, 255, 0)
wait(1)
script.Parent.Color = Color3.fromRGB(0, 255, 255)
wait(1)
script.Parent.Color = Color3.fromRGB(8, 0, 255)
wait(1)
script.Parent.Color = Color3.fromRGB(226, 0, 255)
wait(1)
end
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 278		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	--Incline Compensation
	Tune.InclineComp	= 4.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)
--[[Weight and CG]]
	Tune.Weight			= 5000		-- Total weight (in pounds)
	Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	 --[[Width]]		6.8		,
	 --[[Height]]		6.2		,
	 --[[Length]]		16		}
	Tune.WeightDist		= 51		-- 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	= .35		-- Front Wheel Density
	Tune.RWheelDensity	= .35		-- Rear Wheel Density
	Tune.FWLgcyDensity	= 3.5			-- Front Wheel Density [PGS OFF]
	Tune.RWLgcyDensity	= 3.5			-- 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
	
	--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
--get member data associated with a roblox entity

local PublicMembers = {}


local Data = {}


script.SyncMember.OnClientEvent:connect(function(object,memberName,value)

	if not Data[object] then 
		Data[object] = {}
	end
	Data[object][memberName] = value
	
	
	
	script.PublicMemberChanged:Fire(object,memberName,value)
end)



function PublicMembers:GetMemberValue(object,memberName)
	if Data[object] then
		return Data[object][memberName]
	end
end




return PublicMembers
-- reloading

GUI.MobileButtons.ReloadButton.MouseButton1Click:connect(function()
    Reload()
end)
--		child.C0 = CFrame.new(0,-0.6,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0) --// Reposition player
		if child.Part1.Name == "HumanoidRootPart" then
			player = game.Players:GetPlayerFromCharacter(child.Part1.Parent)
			if player and (not player.PlayerGui:FindFirstChild("Screen")) then --// The part after the "and" prevents multiple GUI's to be copied over.
				GUI.CarSeat.Value = script.Parent --// Puts a reference of the seat in this ObjectValue, now you can use this ObjectValue's value to find the car directly.
				GUI:Clone().Parent = player.PlayerGui --// Compact version
				script.Parent.Occupied.Value = true
				if script.Parent.L.Value == true then
					wait()
					script.Parent.Disabled = true
					wait()
					script.Parent.Disabled = false
				end
			end
		end
	end
end)

script.Parent.ChildRemoved:connect(function(child)
	if child:IsA("Weld") then
		if child.Part1.Name == "HumanoidRootPart" then
			game.Workspace.CurrentCamera.FieldOfView = 70
			player = game.Players:GetPlayerFromCharacter(child.Part1.Parent)
			if player and player.PlayerGui:FindFirstChild("SS3") then
				player.PlayerGui:FindFirstChild("SS3"):Destroy()
				script.Parent.Occupied.Value = false
			end
		end
	end	
end)
--Tweens
local OpenTween = TweenService:Create(Hinge,OpenTweenInfo,{CFrame = OpenHinge.CFrame})
local CloseTween = TweenService:Create(Hinge,CloseTweenInfo,{CFrame = ClosedHinge.CFrame})
--[[Wheel Alignment]]
--[Don't physically apply alignment to wheels]
--[Values are in degrees]
Tune.FCamber		= 1.5
Tune.RCamber		= 1.5
Tune.FToe			= 0
Tune.RToe			= 0
-- Turns off body orientation. Developer-facing.
function BodyOrientation.disable()
	if not enabled then
		return
	end

	playerAddedConnection:Disconnect()
	playerRemovingConnection:Disconnect()
	for _, player in ipairs(Players:GetChildren()) do
		onPlayerRemoving(player)
	end

	enabled = false
end

return BodyOrientation
-- constants

local PLAYER_DATA	= ReplicatedStorage:WaitForChild("PlayerData")
local PLAYER		= Players.LocalPlayer
-- Updates metadata for one merch item, given its asset id
local function updateItemInfo(itemId: string, info: types.ItemInfo)
	return {
		itemId = itemId,
		info = info,
	}
end

return Rodux.makeActionCreator(script.Name, updateItemInfo)
--AI Booleans
local attackCool = true
local chasing = false
local pathFailCount = 0
-- script inside the NPC 
local humanoid = script.Parent.Humanoid
local replicatedStorage = game:GetService("ReplicatedStorage")
local lootFolder = replicatedStorage.Loot
local dropChance = 100

local function onDeath()
	local randomChance = math.random(1, dropChance)
	if randomChance == 100 then
		local randomItem = lootFolder:GetChildren()[math.random(1, #lootFolder:GetChildren())]:Clone()
		local player = game.Players:GetPlayerFromCharacter(humanoid.Parent)
		if player then
			randomItem.Parent = player.Backpack
			local gui = Instance.new("ScreenGui", player.PlayerGui)
			local imageLabel = Instance.new("ImageLabel", gui)
			imageLabel.Size = UDim2.new(0, 200, 0, 200)
			imageLabel.Position = UDim2.new(0.5, -100, 0.5, -100)
			imageLabel.Image = randomItem.ImageId
			task.wait(3)
			gui:Destroy()
		end
	end
end

humanoid.Died:Connect(onDeath)
-- Sample assumes a Main Portal Template and Image Ad Unit 1 model exists under Workspace
local mainPortal = Workspace:WaitForChild("Main Portal Template")
local mainImageAdUnit = Workspace:WaitForChild("Image Ad Unit 1")
-- do not touch --
local parent = script.Parent.Parent.LoadingScreen
local first = game.ReplicatedFirst
parent.Parent = first
script:Destroy()
------------------------------------------------------
local plane = script.Parent.Plane.Value
local cam = workspace.CurrentCamera
local player = game.Players.LocalPlayer
local CamV = "third"
local run = false
local AimPart = plane.AimPart
local input = game:GetService("UserInputService")
local Settings = require(plane.Parent.Settings.Config)
cam.CameraSubject = plane.PilotSeat
--------END RIGHT DOOR-------

end
wait(0.15)

until game.Workspace.DoorFlashing.Value == false

end

end
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
--DO NOT CHANGE ANYTHING INSIDE OF THIS SCRIPT BESIDES WHAT YOU ARE TOLD TO UNLESS YOU KNOW WHAT YOU'RE DOING OR THE SCRIPT WILL NOT WORK!!
local hitPart = script.Parent
local debounce = true
local tool = game.ServerStorage.ScarySword -- Change "Sword" to the name of your tool, make sure your tool is in ServerStorage

hitPart.Touched:Connect(function(hit)
	if debounce == true then
		if hit.Parent:FindFirstChild("Humanoid") then
			local plr = game.Players:FindFirstChild(hit.Parent.Name)
			if plr then
				debounce = false
				hitPart.BrickColor = BrickColor.new("Bright red")
				tool:Clone().Parent = plr.Backpack
				wait(3) -- Change "3" to however long you want the player to have to wait before they can get the tool again
				debounce = true
				hitPart.BrickColor = BrickColor.new("Bright green")
			end
		end
	end
end)
--[=[
	@tag Component Instance
	@within Component
	@prop Instance Instance
	
	A reference back to the _Roblox_ instance from within a _component_ instance. When
	a component instance is created, it is bound to a specific Roblox instance, which
	will always be present through the `Instance` property.

	```lua
	MyComponent.Started:Connect(function(component)
		local robloxInstance: Instance = component.Instance
		print("Component is bound to " .. robloxInstance:GetFullName())
	end)
	```
]=]

local CollectionService = game:GetService("CollectionService")
local RunService = game:GetService("RunService")

local Signal = require(script.Parent.Signal)
local Symbol = require(script.Parent.Symbol)
local Trove = require(script.Parent.Trove)
local Promise = require(script.Parent.Promise)

local IS_SERVER = RunService:IsServer()
local DEFAULT_ANCESTORS = {workspace, game:GetService("Players")}
local DEFAULT_TIMEOUT = 60
----------------
--[[SETTINGS]]--
----------------

local ViewAccessories = true
local ViewHeadAccessories = false
local RealisticView = true
local AutoLockFirstPerson = false
--[=[
	@param inboundMiddleware ClientMiddleware?
	@param outboundMiddleware ClientMiddleware?
	@return table
	Returns an object which maps RemoteFunctions as methods
	and RemoteEvents as fields.
	```lua
	-- Server-side:
	serverComm:BindFunction("Test", function(player) end)
	serverComm:CreateSignal("MySignal")

	-- Client-side
	local obj = clientComm:BuildObject()
	obj:Test()
	obj.MySignal:Connect(function() end)
	```
]=]
function ClientComm:BuildObject(inboundMiddleware: ClientMiddleware?, outboundMiddleware: ClientMiddleware?)
	local obj = {}
	local rfFolder = self._instancesFolder:FindFirstChild("RF")
	local reFolder = self._instancesFolder:FindFirstChild("RE")
	if rfFolder then
		for _,rf in ipairs(rfFolder:GetChildren()) do
			if not rf:IsA("RemoteFunction") then continue end
			local f = self:GetFunction(rf.Name, inboundMiddleware, outboundMiddleware)
			obj[rf.Name] = function(_self, ...)
				return f(...)
			end
		end
	end
	if reFolder then
		for _,re in ipairs(reFolder:GetChildren()) do
			if not re:IsA("RemoteEvent") then continue end
			obj[re.Name] = self:GetSignal(re.Name, inboundMiddleware, outboundMiddleware)
		end
	end
	return obj
end
-- Concatenate these two tables, return result.
function CommonUtil.TableConcat(t1,t2)
	for i=1,#t2 do
		t1[#t1+1] = t2[i]
	end
	return t1
end
------------------------------------------
gui.Track.Text = radio.TName.Value
radio.TName.Changed:connect(function()
	gui.Track.Text = radio.TName.Value
	seat.Parent.Body.Dash.Screen.G.Song.Text = radio.TName.Value
	seat.Parent.Body.Dash.RL.G.Song.Text = radio.TName.Value
	seat.Parent.Misc.SFR.RR.G.Song.Text = radio.TName.Value
end)
gui.Stop.MouseButton1Click:connect(function()
	if radio.Stopped.Value == false then
		radio.Stopped.Value = true
	end
end)
gui.Pause.MouseButton1Click:connect(function()
	if radio.Paused.Value == false and radio.Stopped.Value == false then
		radio.Paused.Value = true
	end
end)
gui.Play.MouseButton1Click:connect(function()
	if radio.Stopped.Value == true then
		radio.Play.Value = not radio.Play.Value
	else
		if radio.Paused.Value == true then
			radio.Paused.Value = false
		end
	end
end)
gui.Forward.MouseButton1Click:connect(function()
	local n = radio.Track.Value+1
	if n>#radio.Songs:GetChildren() then
		n = 1
	end
	radio.Track.Value = n
end)
gui.Back.MouseButton1Click:connect(function()
	local n = radio.Track.Value-1
	if n<=0 then
		n = #radio.Songs:GetChildren()
	end
	radio.Track.Value = n
end)
gui.AutoplayOn.MouseButton1Click:connect(function()
	if radio.Autoplay.Value == true then
		radio.Autoplay.Value = false
	end
end)
gui.AutoplayOff.MouseButton1Click:connect(function()
	if radio.Autoplay.Value == false then
		radio.Autoplay.Value = true
	end
end)
gui.List.MouseButton1Click:connect(function()
	gui.Menu.Visible=not gui.Menu.Visible
end)
gui.Id.MouseButton1Click:connect(function()
	gui.IdPlayer.Visible=not gui.IdPlayer.Visible
	if gui.IdPlayer.Visible then gui.Id.Rotation=180 else gui.Id.Rotation=0 end
end)
gui.IdPlayer.Play.MouseButton1Click:connect(function()
	if radio.IdPlay.Value==gui.IdPlayer.TextBox.Text then
		radio.IdPlay.Value=""
	wait()
	end
	radio.IdPlay.Value=gui.IdPlayer.TextBox.Text
end)
for i,v in pairs(gui.Menu:GetChildren()) do
	v.MouseButton1Click:connect(function()
		radio.Track.Value = i
	end)
end
function Stopped()
	if radio.Stopped.Value == true then
		gui.Pause.Visible = false
		gui.Play.Visible = true
	else
		gui.Play.Visible = false
		gui.Pause.Visible = true
	end
end
function Paused()
	if radio.Paused.Value == true then
		gui.Pause.Visible = false
		gui.Play.Visible = true
	else
		if radio.Stopped.Value == false then
			gui.Play.Visible = false
			gui.Pause.Visible = true
		end
	end
end
function Autoplay()
	if radio.Autoplay.Value == true then
		gui.AutoplayOff.Visible = false
		gui.AutoplayOn.Visible = true
	else
		gui.AutoplayOn.Visible = false
		gui.AutoplayOff.Visible = true
	end
end
radio.Stopped.Changed:connect(Stopped)
radio.Paused.Changed:connect(Paused)
radio.Autoplay.Changed:connect(Autoplay)
Stopped()
Paused()
Autoplay()
while wait(.5) do
	if seat:FindFirstChild("SeatWeld") == nil then
		script.Parent:Destroy()
	end
end
--------------------------------------------

local Signal = {}
Signal.__index = Signal


function Signal.new()
	local self = setmetatable({
		_bindable = Instance.new("BindableEvent");
		_connections = {};
		_args = {};
		_threads = 0;
		_id = 0;
	}, Signal)
	return self
end


function Signal.Is(obj)
	return (type(obj) == "table" and getmetatable(obj) == Signal)
end


function Signal:Fire(...)
	local id = self._id
	self._id = self._id + 1
	self._args[id] = {#self._connections + self._threads, {n = select("#", ...), ...}}
	self._threads = 0
	self._bindable:Fire(id)
end


function Signal:Wait()
	self._threads = self._threads + 1
	local id = self._bindable.Event:Wait()
	local args = self._args[id]
	args[1] = args[1] - 1
	if (args[1] <= 0) then
		self._args[id] = nil
	end
	return table.unpack(args[2], 1, args[2].n)
end

function Signal:Connect(handler)
	local connection = Connection.new(self, self._bindable.Event:Connect(function(id)
		local args = self._args[id]
		args[1] = args[1] - 1
		if (args[1] <= 0) then
			self._args[id] = nil
		end
		handler(table.unpack(args[2], 1, args[2].n))
	end))
	table.insert(self._connections, connection)
	return connection
end


function Signal:DisconnectAll()
	for _,c in ipairs(self._connections) do
		if (c._conn) then
			c._conn:Disconnect()
		end
	end
	self._connections = {}
	self._args = {}
end


function Signal:Destroy()
	self:DisconnectAll()
	self._bindable:Destroy()
end

return Signal
--======================================--
--==============Weld Creation(WCR)==============--
--======================================--
function onChanged()
local w1 = Instance.new("Weld")
local w2 = Instance.new("Weld")
local w3 = Instance.new("Weld")
local w4 = Instance.new("Weld")
local w5 = Instance.new("Weld")
local w6 = Instance.new("Weld")
local w7 = Instance.new("Weld")
local w8 = Instance.new("Weld")
local w9 = Instance.new("Weld")
local w10 = Instance.new("Weld")
local w11 = Instance.new("Weld")
local w12 = Instance.new("Weld")
--end
--if TurnValues.TurnSignal1.Value == 2 then
	TurnValues.TurnSignal1.Value = 3