local n=workspace.FilteringEnabled local D=script.Parent.Car.Value local i=require(D["\065-\067\104\097\115\115\105\115 \084\117\110\101"])local E=0 script:WaitForChild("\082\101\118")script:WaitForChild("\083\117\112\101\114\099\104\097\114\103\101\114")if not n then for n,D in pairs(D.DriveSeat:GetChildren())do for n,i in pairs(script:GetChildren())do if D.Name==i.Name then D:Stop()wait()D:Destroy()end end end for n,i in pairs(script:GetChildren())do i.Parent=D.DriveSeat end D.DriveSeat.Rev:Play()D.DriveSeat.Supercharger:Play()while wait()do local n=script.Parent.Values.RPM.Value if not script.Parent.IsOn.Value then E=math.max(E-.015,0)else E=1 end D.DriveSeat.Rev.Pitch=(D.DriveSeat.Rev.SetPitch.Value+(D.DriveSeat.Rev.SetRev.Value*n)/i.Redline)*E^2 D.DriveSeat.Supercharger.Pitch=(D.DriveSeat.Supercharger.SetPitch.Value+(D.DriveSeat.Supercharger.SetRev.Value*n)/i.Redline)*E^2 end else local n=D.AC6_FE_Sounds n:FireServer("\110\101\119\083\111\117\110\100","\082\101\118",D.DriveSeat,script.Rev.SoundId,0,script.Rev.Volume,true)n:FireServer("\112\108\097\121\083\111\117\110\100","\082\101\118")local L=0 while wait()do local D=script.Parent.Values.RPM.Value if not script.Parent.IsOn.Value then E=math.max(E-.015,0)else E=1 end L=(script.Supercharger.SetPitch.Value+(script.Supercharger.SetRev.Value*D)/i.Redline)*E^2 L=(script.Supercharger.SetPitch.Value+(script.Supercharger.SetRev.Value*D)/i.Redline)*E^2 n:FireServer("\117\112\100\097\116\101\083\111\117\110\100","\082\101\118",script.Rev.SoundId,L,script.Rev.Volume)end end
--[[
		___      _______                _     
	   / _ |____/ ___/ /  ___ ____ ___ (_)__ 
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/
 						SecondLogic @ Inspare
]]
local FE = workspace.FilteringEnabled
local car = script.Parent.Car.Value
local _Tune = require(car["A-Chassis Tune"])
local on = 0

script:WaitForChild("Rev")
script:WaitForChild("Supercharger")

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()
	car.DriveSeat.Supercharger:Play()
	while wait() do
		local _RPM = script.Parent.Values.RPM.Value

		if not script.Parent.IsOn.Value then
			on = math.max(on - 0.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
		car.DriveSeat.Supercharger.Pitch = (
			car.DriveSeat.Supercharger.SetPitch.Value
			+ car.DriveSeat.Supercharger.SetRev.Value * _RPM / _Tune.Redline
		) * on ^ 2
	end
else
	local handler = car.AC6_FE_Sounds
	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 - 0.015, 0)
		else
			on = 1
		end
		pitch = (script.Supercharger.SetPitch.Value + script.Supercharger.SetRev.Value * _RPM / _Tune.Redline) * on ^ 2
		pitch = (script.Supercharger.SetPitch.Value + script.Supercharger.SetRev.Value * _RPM / _Tune.Redline) * on ^ 2
		handler:FireServer("updateSound", "Rev", script.Rev.SoundId, pitch, script.Rev.Volume)
	end
end
