Roblox/luau_corpus huggingface dataset:
--[=[
	@param instance Instance
	@return RBXScriptConnection
	Attaches the trove to a Roblox instance. Once this
	instance is removed from the game (parent or ancestor's
	parent set to `nil`), the trove will automatically
	clean up.
	:::caution
	Will throw an error if `instance` is not a descendant
	of the game hierarchy.
	:::
]=]
function Trove:AttachToInstance(instance: Instance)
	assert(instance:IsDescendantOf(game), "Instance is not a descendant of the game hierarchy")
	return self:Connect(instance.AncestryChanged, function(_child, parent)
		if not parent then
			self:Destroy()
		end
	end)
end
--Insert this script into Workspace, not camera.
game.Players.PlayerAdded:connect(function(p)
    wait(1)
    p.CameraMaxZoomDistance = 6
end)
-- Decompiled with the Synapse X Luau decompiler.

return function(p1, p2)
	local v1 = nil;
	if type(p1) == "boolean" then
		v1 = "BoolValue";
	elseif type(p1) == "number" then
		v1 = "NumberValue";
	elseif type(p1) == "string" then
		v1 = "StringValue";
	elseif typeof(p1) == "CFrame" then
		v1 = "CFrameValue";
	elseif typeof(p1) == "Color3" then
		v1 = "Color3Value";
	elseif typeof(p1) == "Ray" then
		v1 = "RayValue";
	elseif typeof(p1) == "Vector3" then
		v1 = "Vector3Value";
	elseif typeof(p1) == "Instance" then
		v1 = "ObjectValue";
	end;
	if not v1 then
		return print("Value type not supported");
	end;
	local v2 = Instance.new(v1);
	v2.Value = p1;
	if p2 then
		v2.Parent = p2;
	end;
	return v2;
end;
--forced walkspeed
function module.force_walkspeed(hum, tim)
	coroutine.wrap(function()
		local i = 1
		task.delay(tim, function() i = 2 end)
		while true do
			hum.WalkSpeed = 3
			hum.JumpPower = 1
			task.wait()
			if i == 2 then
				hum.WalkSpeed = 16
				hum.JumpPower = defJump
				break
			end
		end
	end)()
end
--[[Rear]]--
	Tune.RTireProfile	= 1.5			-- Tire profile, aggressive or smooth
	Tune.RProfileHeight	= 2		-- Profile height, conforming to tire
	
	Tune.RTireCompound	= 3			-- The more compounds you have, the harder your tire will get towards the middle, sacrificing grip for wear
	Tune.RTireFriction	= 1.1		-- Your tire's friction in the best conditions.
--[[
	Create a new, empty TestPlan.
]]
function TestPlan.new(planArgs)
	local plan = {
		children = {},
	}

	if planArgs then
		for key, value in pairs(planArgs) do
			plan[key] = value
		end
	end

	return setmetatable(plan, TestPlan)
end
--[[while true do
	for i = 1,v do
		script.Parent.Rotation = script.Parent.Rotation * 1.05
		game:GetService('RunService').RenderStepped:wait()
	end
	for i = 1,v do
		script.Parent.Rotation = script.Parent.Rotation / 1.05
		game:GetService('RunService').RenderStepped:wait()
	end
wait(.2)
v = v * 1.2
end--]]
i = 1
while true do
	script.Parent.Rotation = script.Parent.Rotation + 10
	game:GetService('RunService').RenderStepped:wait()
end
--[[Susupension]]
	Tune.SusEnabled		= true		-- Sets whether suspension is enabled for PGS
	
	--Front Suspension
	Tune.FSusStiffness	= 6000		-- Spring Force
	Tune.FSusDamping	= 1		    -- Spring Dampening
	Tune.FAntiRoll 		= 400		-- Anti-Roll (Gyro Dampening)
	
	Tune.FSusLength		= 1.9		-- Resting Suspension length (in studs)
	Tune.FPreCompress	= .1		-- Pre-compression adds resting length force
	Tune.FExtensionLim	= .4		-- Max Extension Travel (in studs)
	Tune.FCompressLim	= .2		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 75		-- Suspension Angle (degrees from horizontal)
		
	Tune.FWsBoneLen		= 5			-- Wishbone Length
	Tune.FWsBoneAngle	= 2			-- 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.RSusStiffness	= 6000		-- Spring Force
	Tune.RSusDamping	= 1		    -- Spring Dampening
	Tune.RAntiRoll 		= 400		-- Anti-Roll (Gyro Dampening)
	
	Tune.RSusLength		= 2.1		-- Resting Suspension length (in studs)
	Tune.RPreCompress	= .1		-- Pre-compression adds resting length force
	Tune.RExtensionLim	= .4		-- Max Extension Travel (in studs)
	Tune.RCompressLim	= .2		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
	
	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 2			-- 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 (PGS ONLY)
	Tune.SusVisible		= false			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Red"		-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 8				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness
--==================================================
--Setting
--==================================================
local Ammo = math.huge --Amount of Ammo to give. Set it to "math.huge" to refill the gun's ammo.
local Cooldown = 10
local GunToRefillAmmo = {
	"Pistol",
	--Add more gun here if you want
}
-- Private Methods

function init(self)
	local frame = self.Frame
	local dragger = frame.Dragger
	local background = frame.Background
	
	local axis = self._Axis
	local maid = self._Maid
	local spring = self._Spring
	local dragTracker = Lazy.Classes.Dragger.new(frame)
	
	self.DragStart = dragTracker.DragStart
	self.DragStop = dragTracker.DragStop
	
	--maid:Mark(frame)
	maid:Mark(self._ChangedBind)
	maid:Mark(self._ClickedBind)
	maid:Mark(function() dragTracker:Destroy() end)
	
	-- Get bounds and background size scaled accordingly for calculations
	local function setUdim2(a, b)
		if (axis == "y") then a, b = b, a end
		return UDim2.new(a, 0, b, 0)
	end
	
	local last = -1
	local bPos, bSize
	local function updateBounds()
		bPos, bSize = getBounds(self)
		background.Size = setUdim2(bSize / frame.AbsoluteSize[axis], 1)
		last = -1
	end
	
	updateBounds()
	maid:Mark(frame:GetPropertyChangedSignal("AbsoluteSize"):Connect(updateBounds))
	maid:Mark(frame:GetPropertyChangedSignal("AbsolutePosition"):Connect(updateBounds))
	maid:Mark(frame:GetPropertyChangedSignal("Parent"):Connect(updateBounds))
	
	-- Move the slider when the xbox moves it
	local xboxDir = 0
	local xboxTick = 0
	local xboxSelected = false
	
	maid:Mark(frame.SelectionGained:Connect(function()
		xboxSelected = true
	end))
	
	maid:Mark(frame.SelectionLost:Connect(function()
		xboxSelected = false
	end))
	
	maid:Mark(UIS.InputChanged:Connect(function(input, process)
		if (process and input.KeyCode == THUMBSTICK) then
			local pos = input.Position
			xboxDir = math.abs(pos[axis]) > XBOX_DEADZONE and math.sign(pos[axis]) or 0
		end
	end))
	
	-- Move the slider when we drag it
	maid:Mark(dragTracker.DragChanged:Connect(function(element, input, delta)
		if (self.IsActive) then
			self:Set((input.Position[axis] - bPos) / bSize, false)
		end
	end))
	
	-- Move the slider when we click somewhere on the bar
	maid:Mark(frame.InputBegan:Connect(function(input)
		if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then
			local t = (input.Position[axis] - bPos) / bSize
			self._ClickedBind:Fire(math.clamp(t, 0, 1))
			if (self.IsActive) then
				self:Set(t, self.TweenClick)
			end
		end
	end))
	
	-- position the slider
	maid:Mark(RUNSERVICE.RenderStepped:Connect(function(dt)
		if (xboxSelected) then
			local t = tick()
			if (self.Interval <= 0) then
				self:Set(self:Get() + xboxDir*XBOX_STEP*dt*60)
			elseif (t - xboxTick > DEBOUNCE_TICK) then
				xboxTick = t
				self:Set(self:Get() + self.Interval*xboxDir)
			end
		end
		
		spring:Update(dt)
		local x = spring.x
		if (x ~= last) then
			local scalePos = (bPos + (x * bSize) - frame.AbsolutePosition[axis]) / frame.AbsoluteSize[axis]
			dragger.Position = setUdim2(scalePos, 0.5)
			self._ChangedBind:Fire(self:Get())
			last = x
		end
	end))
end

function getBounds(self)
	local frame = self.Frame
	local dragger = frame.Dragger
	local axis = self._Axis
	
	local pos = frame.AbsolutePosition[axis] + dragger.AbsoluteSize[axis]/2
	local size = frame.AbsoluteSize[axis] - dragger.AbsoluteSize[axis]
	
	return pos, size
end
-- /// Variables
local mouse = game.Players.LocalPlayer:GetMouse()
local frame = script.Parent.Frame
--[[Transmission]]
	Tune.TransModes		= {"Semi"}								--[[
	[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		= 3.97			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.42		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		3.75		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		2.38		,
		--[[ 3 ]]		1.72		,
		--[[ 4 ]]		1.34		,
		--[[ 5 ]]		1.11		,
		--[[ 6 ]]		.95			,
		--[[ 7 ]]		.84			,
	}
	Tune.FDMult			= 1			--		-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
---Green Script---

script.Parent.Red.Transparency = 0.9
script.Parent.Yel.Transparency = 0.9
script.Parent.Gre.Transparency = 0.9

while true do

	script.Parent.Red.Transparency = 0
	script.Parent.Yel.Transparency = 0
	script.Parent.Gre.Transparency = 0.9
	
	wait (1)
	
	script.Parent.Red.Transparency = 0.9
	script.Parent.Yel.Transparency = 0.9
	script.Parent.Gre.Transparency = 0
	
	wait (30)
	
	script.Parent.Red.Transparency = 0.9 
	script.Parent.Yel.Transparency = 0
	script.Parent.Gre.Transparency = 0.9
	
	wait (4)
	
	script.Parent.Red.Transparency = 0
	script.Parent.Yel.Transparency = 0.9
	script.Parent.Gre.Transparency = 0.9
	
	wait (3)
	
	script.Parent.Red.Transparency = 0
	script.Parent.Yel.Transparency = 0.9
	script.Parent.Gre.Transparency = 0.9
	
	wait (1)
	
	script.Parent.Red.Transparency = 0
	script.Parent.Yel.Transparency = 0.9
	script.Parent.Gre.Transparency = 0.9
	
	wait (30)
	
	script.Parent.Red.Transparency = 0
	script.Parent.Yel.Transparency = 0.9
	script.Parent.Gre.Transparency = 0.9
	
	wait (4)
	
	script.Parent.Red.Transparency = 0
	script.Parent.Yel.Transparency = 0.9
	script.Parent.Gre.Transparency = 0.9
	
	wait (3)	
	
end
--- Recalculate the window height
function Window:UpdateWindowHeight()
	-- ListContentSize.Y + Offset
	local windowHeight = Gui.UIListLayout.AbsoluteContentSize.Y
		+ Gui.UIPadding.PaddingTop.Offset
		+ Gui.UIPadding.PaddingBottom.Offset
	
	-- offsetY = clamp(windowHeight, 0, 300)
	Gui.Size = UDim2.new(Gui.Size.X.Scale, Gui.Size.X.Offset, 0, math.clamp(windowHeight, 0, WINDOW_MAX_HEIGHT))
	Gui.CanvasPosition = Vector2.new(0, windowHeight)
end
--//pc
ui.InputBegan:Connect(function(iu)
	if iu.KeyCode == Enum.KeyCode.Tab then
		f:TweenPosition(UDim2.new(0.375, 0, 0.007, 0), "InOut", "Sine", 0.1)
	end
end)
ui.InputEnded:Connect(function(iu)
	f:TweenPosition(UDim2.new(0.375, 0, -1, 0), "InOut", "Sine", 0.1)
end)
-- Small bug fix where the sound would start playing after the player joined
player.CharacterAdded:Connect(function()
	task.wait(1)
	if currentSound.IsPlaying then
		currentSound:Stop()
	end
end)

print("Walking sounds successfully loaded!")
-- Testing AC FE support

local event = script.Parent
local car=script.Parent.Parent
local LichtNum = 0


event.OnServerEvent:connect(function(player,data)
	if data['ToggleLight'] then
		if car.Body.Light.on.Value==true then
			car.Body.Light.on.Value=false
		else
			car.Body.Light.on.Value=true
		end
	elseif data['EnableBrakes'] then
		car.Body.Brakes.on.Value=true
	elseif data['DisableBrakes'] then
		car.Body.Brakes.on.Value=false
	elseif data['ToggleLeftBlink'] then
		if car.Body.Left.on.Value==true or car.Body.Right.on.Value==true then
			car.Body.Left.on.Value=false
			car.Body.Right.on.Value=false
		else
			car.Body.Left.on.Value=true
		end
	elseif data['ToggleRightBlink'] then
		if car.Body.Right.on.Value==true or car.Body.Left.on.Value==true then
			car.Body.Right.on.Value=false
			car.Body.Left.on.Value=false
		else
			car.Body.Right.on.Value=true
		end
	elseif data['ReverseOn'] then
		car.Body.Reverse.on.Value=true
	elseif data['ReverseOff'] then
		car.Body.Reverse.on.Value=false
	elseif data['ToggleStandlicht'] then
		if LichtNum == 0 then
			LichtNum = 1
			car.Body.Headlight.on.Value = true
		elseif LichtNum == 1 then
			LichtNum = 2
			car.Body.Highlight.on.Value = true
			else
			LichtNum = 0
			car.Body.Headlight.on.Value = false
			car.Body.Highlight.on.Value = false
		end
	elseif data["ToggleHazards"] then
		if car.Body.Left.on.Value == true or car.Body.Right.on.Value==true then
			car.Body.Left.on.Value=false
			car.Body.Right.on.Value=false	
		else
			car.Body.Left.on.Value=true
			car.Body.Right.on.Value=true
		end
	end
end)
-- Local player
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:wait()
local PlayerGui = player:WaitForChild("PlayerGui")
--[[Engine]]

	--		[TORQUE CURVE VISUAL]
	--		https://www.desmos.com/calculator/nap6stpjqf
	--		Use sliders to manipulate values
	--		Edit everything as if your car is NATURALLY aspirated, or as if it lacks a turbo.
	
	Tune.Horsepower		= 278		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 3000		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 9000		--		Use sliders to manipulate values
	Tune.Redline		= 10000		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	Tune.InclineComp	= 1.2		-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Turbo Settings
	Tune.Aspiration		= "Natural"												--[[
	[Aspiration]
		"Natural"		: N/A, Naturally aspirated engine
		"Single"		: Single turbocharger
		"Double"		: Twin turbocharger
		"Super"			: Supercharger												]]
	
	Tune.Boost			= 5			--Max PSI (If you have two turbos and this is 15, the PSI will be 30)
	Tune.TurboSize		= 80		--Turbo size; the bigger it is, the more lag it has.
	Tune.CompressRatio	= 9			--The compression ratio (look it up)
	Tune.Sensitivity	= 0.05		--How quickly the Supercharger (if appllied) will bring boost when throttle is applied. (Increment applied per tick, suggested values from 0.05 to 0.1)
	
	--Misc
	Tune.RevAccel		= 300		-- 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		= 250		-- Clutch engagement threshold (higher = faster response, lower = more stable RPM)
--[[
	Fired when state is left
]]
function Transitions.onLeaveSpectating(stateMachine, event, from, to, playerComponent)
	PlayerSpectating.leave(stateMachine, playerComponent)
end
--[[
	    ___      _______                _       _______
	   / _ |____/ ___/ /  ___ ____ ___ (_)__   /__  __/
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<     / /
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/	/_/   
						SecondLogic @ Inspare
						Avxnturador @ Novena
]]
local FE = workspace.FilteringEnabled
local car = script.Parent.Car.Value
local handler = car:WaitForChild("AC6_FE_Sounds")
local _Tune = require(car["A-Chassis Tune"])
local BOVact = 0
local BOVact2 = 0

local BOV_Loudness = 5	--volume of the BOV (not exact volume so you kinda have to experiment with it)
local BOV_Pitch = 0.9	--max pitch of the BOV (not exact so might have to mess with it)
local TurboLoudness = 3 --volume of the Turbo (not exact volume so you kinda have to experiment with it also)

script:WaitForChild("Whistle")
script:WaitForChild("BOV")

for i,v in pairs(car.DriveSeat:GetChildren()) do
	for _,a in pairs(script:GetChildren()) do
		if v.Name==a.Name then v:Stop() wait() v:Destroy() end
	end
end

car.DriveSeat.ChildRemoved:connect(function(child)
	if child.Name=="SeatWeld" then
		for i,v in pairs(car.DriveSeat:GetChildren()) do
			for _,a in pairs(script:GetChildren()) do
				if v.Name==a.Name then v:Stop() wait() v:Destroy() end
			end
		end
	end
end)

handler:FireServer("newSound","Whistle",car.DriveSeat,script.Whistle.SoundId,0,script.Whistle.Volume,true)
handler:FireServer("newSound","BOV",car.DriveSeat,script.BOV.SoundId,0,script.BOV.Volume,true)
handler:FireServer("playSound","Whistle")
car.DriveSeat:WaitForChild("Whistle")
car.DriveSeat:WaitForChild("BOV")
local ticc = tick()
local _TCount = 0
if _Tune.Aspiration == "Single" then _TCount = 1 elseif _Tune.Aspiration == "Double" then _TCount = 2 end

while wait() do
	local psi = (((script.Parent.Values.Boost.Value)/(_Tune.Boost*_TCount))*2)
	
	BOVact = math.floor(psi*20)
	WP = (psi)
	WV = (psi/4)*TurboLoudness
	
	BP = (1-(-psi/20))*BOV_Pitch
	BV = (((-0.5+((psi/2)*BOV_Loudness)))*(1 - script.Parent.Values.Throttle.Value))

	if BOVact < BOVact2 then if car.DriveSeat.BOV.IsPaused then if FE then handler:FireServer("playSound","BOV") else car.DriveSeat.BOV:Play() end end end
	if BOVact >= BOVact2 then if FE then handler:FireServer("stopSound","BOV") else car.DriveSeat.BOV:Stop() end end
	
	if FE then
		handler:FireServer("updateSound","Whistle",script.Whistle.SoundId,WP,WV)
		handler:FireServer("updateSound","BOV",script.BOV.SoundId,BP,BV)
	else
		car.DriveSeat.Whistle.Pitch = WP
		car.DriveSeat.Whistle.Volume = WV
		car.DriveSeat.BOV.Pitch = BP
		car.DriveSeat.BOV.Volume = BV
	end
	if (tick()-ticc) >= 0.1 then
		BOVact2 = math.floor(psi*20)
		ticc = tick()
	end
end
--!strict
--[=[
	@function insert
	@within Array

	@param array {T} -- The array to insert the value into.
	@param index number -- The index to insert the value at (can be negative).
	@param values ...T -- The values to insert.
	@return {T} -- The array with the value inserted.

	Inserts the given values into an array at the given index, shifting all values after it to the right. If the index is negative (or 0), it is counted from the end of the array.

	If the index to insert at is out of range, the array is not modified.

	```lua
	local array = { 1, 2, 3 }

	local newArray = Insert(array, 2, 4) -- { 1, 4, 2, 3 }
	```
]=]
local function insert<T>(array: { T }, index: number, ...: T): { T }
	local length = #array

	if index < 1 then
		index += length + 1
	end

	if index > length then
		if index > length + 1 then
			return array
		end

		index = length + 1
		length += 1
	end

	local result = {}

	for i = 1, length do
		if i == index then
			for _, value in ipairs({ ... }) do
				table.insert(result, value)
			end
		end

		table.insert(result, array[i])
	end

	return result
end

return insert
--// Bullet Physics
	BulletPhysics = Vector3.new(-10,55,0); -- Drop fixation: Lower number = more drop
	BulletSpeed = 2725; -- Bullet Speed
	BulletSpread = 1; -- How much spread the bullet has
	
	ExploPhysics = Vector3.new(0,20,0); -- Drop for explosive rounds
	ExploSpeed = 600; -- Speed for explosive rounds
	
	BulletDecay = 10000; -- How far the bullet travels before slowing down and being deleted (BUGGY)
--				-1 = Closed
--				0 = Active
--				1 = Open

function getItems() 
	for _,v in pairs(script.Parent:GetChildren()) do 
		if ((v:IsA("BasePart")) and (v.Name == "Bar")) then 
			table.insert(_items,v) 
		end 
	end 
end 

function main() 
	local d = door 
	door = 0 
	script.Parent.Button.BrickColor = BrickColor.new("New Yeller") 
	for i = 0,5,0.05 do 
		for _,v in pairs(_items) do 
			v.CFrame = v.CFrame * CFrame.new((0.20*(-d)),0,0) 
		end 
		wait() 
	end 
	if (d == (-1)) then 
		script.Parent.Button.BrickColor = BrickColor.new("Really red") 
	elseif (d == 1) then 
		script.Parent.Button.BrickColor = BrickColor.new("Bright green") 
	end 
	door = d 
end 

script.Parent.Button.Click.MouseClick:connect(function() 
	if (door == 0) then return end 
	door = (door*(-1)) 
	main() 
end) 

getItems()
--FasCast Setup--

if workspace:FindFirstChild("IgnoreFolder") == nil then
	local IgnoreList = Instance.new("Folder",workspace)
	IgnoreList.Name = "IgnoreFolder"
end

local FastCast = require(script:WaitForChild("FastCastRedux"))

local Params = RaycastParams.new()
Params.FilterType = Enum.RaycastFilterType.Blacklist -- just the type of filter
Params.FilterDescendantsInstances = {workspace.IgnoreFolder,marine} -- you can add more things to this list btw
--nothing
else
script.Parent.Parent.Parent.Torso.Cable:remove()
script.Parent.Parent.Parent.Torso.Snap:play()
script.Parent.Parent.Parent.Torso.Snap:remove()
script.Parent.Parent.Parent.Humanoid.WalkSpeed = script.Parent.WS.Value
script.Parent.Parent:remove()
end
end
connection = script.Parent.Parent.Touched:connect(onTouched)
--스킬 설정:

local skillName = "Meteor" --스킬 파트 이름

local Sound = "Meteor" --적용할 사운드 이름 (추천)

local Sound2 = "Bomb" --적용할 사운드 이름 (추천)

local CoolTime = 5 --스킬 재사용 대기시간

local Damage = 20 --스킬 데미지

local DamageCoolTime = 3 --스킬 데미지 쿨타임 (추천)
-- Draw world
runService.Stepped:Connect(function()
	if toggle then
		SetPos()
	end
end)

game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(function(char)
		wait(0.1)
		
		char:SetPrimaryPartCFrame(CFrame.new(0, 100, 0) * CFrame.Angles(0, 0, 0))
	end)
end)
--local camera = game.Workspace.CurrentCamera
local player = game.Players.LocalPlayer
local character = player.Character
local humanoidRootPart = character.HumanoidRootPart
local car = script:WaitForChild("Car").Value
local stats = car:WaitForChild("Configurations")
local Raycast = require(car.CarScript.RaycastModule)
--[=[
	Transforms the brio into an observable that emits the initial value of the brio, and then another value on death
	@param brio Brio<T> | T
	@param emitOnDeathValue U
	@return Observable<T | U>
]=]
function RxBrioUtils.toEmitOnDeathObservable(brio, emitOnDeathValue)
	if not Brio.isBrio(brio) then
		return Rx.of(brio)
	else
		return Observable.new(function(sub)
			if brio:IsDead() then
				sub:Fire(emitOnDeathValue)
				sub:Complete()
			else
				sub:Fire(brio:GetValue())

				-- Firing killed the subscription
				if not sub:IsPending() then
					return
				end

				-- Firing this event actually killed the brio
				if brio:IsDead() then
					sub:Fire(emitOnDeathValue)
					sub:Complete()
				else
					return brio:GetDiedSignal():Connect(function()
						sub:Fire(emitOnDeathValue)
						sub:Complete()
					end)
				end
			end
		end)
	end
end
-- Key that user can press to interact with game
local KEY1
if not IS_CONSOLE then
	KEY1 = Enum.KeyCode.E
else
	KEY1 = Enum.KeyCode.ButtonX
end
--------|    Variables    |--------
local escapemap = {}
local dictionary, length = {}, 0
local inited = false
--		print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
		local anim = animTable[animName][idx].anim

		-- load it to the humanoid; get AnimationTrack
		toolAnimTrack = Zombie:LoadAnimation(anim)
		 
		-- play the animation
		toolAnimTrack:Play(transitionTime)
		toolAnimName = animName

		currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
	end
end

function stopToolAnimations()
	local oldAnim = toolAnimName

	if (currentToolAnimKeyframeHandler ~= nil) then
		currentToolAnimKeyframeHandler:disconnect()
	end

	toolAnimName = ""
	if (toolAnimTrack ~= nil) then
		toolAnimTrack:Stop()
		toolAnimTrack:Destroy()
		toolAnimTrack = nil
	end


	return oldAnim
end