local s=workspace.FilteringEnabled local k=script.Parent.Car.Value local r=require(k["\065-\067\104\097\115\115\105\115 \084\117\110\101"])local z=0 script:WaitForChild("\082\101\118")if not s then for s,k in pairs(k.DriveSeat:GetChildren())do for s,r in pairs(script:GetChildren())do if k.Name==r.Name then k:Stop()wait()k:Destroy()end end end for s,r in pairs(script:GetChildren())do r.Parent=k.DriveSeat end k.DriveSeat.Rev:Play()while wait()do local s=script.Parent.Values.RPM.Value if not script.Parent.IsOn.Value then z=math.max(z-.015,0)else z=1 end k.DriveSeat.Rev.Pitch=(k.DriveSeat.Rev.SetPitch.Value+(k.DriveSeat.Rev.SetRev.Value*s)/r.Redline)*z^2 end else local s=k.CarSound s:FireServer("\110\101\119\083\111\117\110\100","\082\101\118",k.DriveSeat,script.Rev.SoundId,0,script.Rev.Volume,true)s:FireServer("\112\108\097\121\083\111\117\110\100","\082\101\118")local t=0 while wait()do local k=script.Parent.Values.RPM.Value if not script.Parent.IsOn.Value then z=math.max(z-.015,0)else z=1 end t=(script.Rev.SetPitch.Value+(script.Rev.SetRev.Value*k)/r.Redline)*z^2 s:FireServer("\117\112\100\097\116\101\083\111\117\110\100","\082\101\118",script.Rev.SoundId,t,script.Rev.Volume)end end

local FE = workspace.FilteringEnabled
local car = script.Parent.Car.Value
local _Tune = require(car["A-Chassis Tune"])
local on = 0

script:WaitForChild("Rev")

if not FE 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
	for i,v in pairs(script:GetChildren()) do
		v.Parent=car.DriveSeat
	end
	
	car.DriveSeat.Rev:Play()
	
	while wait() do
		local _RPM = script.Parent.Values.RPM.Value
		
		if not script.Parent.IsOn.Value then on=math.max(on-.015,0) else on=1 end
		car.DriveSeat.Rev.Pitch = (car.DriveSeat.Rev.SetPitch.Value + car.DriveSeat.Rev.SetRev.Value*_RPM/_Tune.Redline)*on^2
	end
else
	local handler = car.CarSound
	handler:FireServer("newSound","Rev",car.DriveSeat,script.Rev.SoundId,0,script.Rev.Volume,true)
	handler:FireServer("playSound","Rev")
	local pitch=0
	while wait() do
		local _RPM = script.Parent.Values.RPM.Value
		
		if not script.Parent.IsOn.Value then on=math.max(on-.015,0) else on=1 end
		pitch = (script.Rev.SetPitch.Value + script.Rev.SetRev.Value*_RPM/_Tune.Redline)*on^2
		handler:FireServer("updateSound","Rev",script.Rev.SoundId,pitch,script.Rev.Volume)
	end
end
