local N=.75 script:WaitForChild("\087\104\105\115\116\108\101")script:WaitForChild("\087\104\105\110\101")script:WaitForChild("\066\079\086")for N,X in pairs(car.DriveSeat:GetChildren())do for N,Y in pairs(script:GetChildren())do if X.Name==Y.Name then X:Stop()wait()X:Destroy()end end end car.DriveSeat.ChildRemoved:connect(function(N)if N.Name=="\083\101\097\116\087\101\108\100"then for N,X in pairs(car.DriveSeat:GetChildren())do for N,Y in pairs(script:GetChildren())do if X.Name==Y.Name then X:Stop()wait()X:Destroy()end end end end end)handler:FireServer("\110\101\119\083\111\117\110\100","\087\104\105\115\116\108\101",car.DriveSeat,script.Whistle.SoundId,0,script.Whistle.Volume,true)handler:FireServer("\110\101\119\083\111\117\110\100","\087\104\105\110\101",car.DriveSeat,script.Whine.SoundId,0,script.Whine.Volume,true)handler:FireServer("\110\101\119\083\111\117\110\100","\066\079\086",car.DriveSeat,script.BOV.SoundId,0,script.BOV.Volume,true)handler:FireServer("\112\108\097\121\083\111\117\110\100","\087\104\105\115\116\108\101")handler:FireServer("\112\108\097\121\083\111\117\110\100","\087\104\105\110\101")car.DriveSeat:WaitForChild("\087\104\105\115\116\108\101")car.DriveSeat:WaitForChild("\087\104\105\110\101")car.DriveSeat:WaitForChild("\066\079\086")local X=tick()local Y=0 if _Tune.Aspiration=="\083\105\110\103\108\101"or _Tune.Aspiration=="\083\117\112\101\114"then Y=1 elseif _Tune.Aspiration=="\068\111\117\098\108\101"then Y=2 end while wait()do local Q=(script.Parent.Values.Boost.Value/(_Tune.Boost*Y))*2 local w,R,b,A,F,M=0 BOVact=math.floor(Q*20)if _Tune.Aspiration=="\083\105\110\103\108\101"or _Tune.Aspiration=="\068\111\117\098\108\101"then w=Q R=(Q/4)*N b=(1-(-Q/20))*BOV_Pitch A=(-0.5+(Q/2)*BOV_Loudness)*(1-script.Parent.Values.Throttle.Value)if BOVact<BOVact2 then if car.DriveSeat.BOV.IsPaused then if FE then handler:FireServer("\112\108\097\121\083\111\117\110\100","\066\079\086")else car.DriveSeat.BOV:Play()end end end if BOVact>=BOVact2 then if FE then handler:FireServer("\115\116\111\112\083\111\117\110\100","\066\079\086")else car.DriveSeat.BOV:Stop()end end elseif _Tune.Aspiration=="\083\117\112\101\114"then Q=Q/2 F=Q*Whine_Pitch M=(Q/4)*N end if FE then handler:FireServer("\117\112\100\097\116\101\083\111\117\110\100","\087\104\105\115\116\108\101",script.Whistle.SoundId,w,R)handler:FireServer("\117\112\100\097\116\101\083\111\117\110\100","\087\104\105\110\101",script.Whine.SoundId,F,M)handler:FireServer("\117\112\100\097\116\101\083\111\117\110\100","\066\079\086",script.BOV.SoundId,b,A)else car.DriveSeat.Whistle.Pitch=w car.DriveSeat.Whistle.Volume=R car.DriveSeat.Whine.Pitch=F car.DriveSeat.Whine.Volume=M car.DriveSeat.BOV.Pitch=b car.DriveSeat.BOV.Volume=A end if tick()-X>=.1 then BOVact2=math.floor(Q*20)X=tick()end end

local Loudness = .75 --volume of the boost supplier (not exact volume so you kinda have to experiment with it also)

script:WaitForChild("Whistle")
script:WaitForChild("Whine")
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","Whine",car.DriveSeat,script.Whine.SoundId,0,script.Whine.Volume,true)
handler:FireServer("newSound","BOV",car.DriveSeat,script.BOV.SoundId,0,script.BOV.Volume,true)
handler:FireServer("playSound","Whistle")
handler:FireServer("playSound","Whine")
car.DriveSeat:WaitForChild("Whistle")
car.DriveSeat:WaitForChild("Whine")
car.DriveSeat:WaitForChild("BOV")
local ticc = tick()
local _TCount = 0
if _Tune.Aspiration == "Single" or _Tune.Aspiration == "Super" 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)
	local WP,WV,BP,BV,HP,HV = 0
	
	BOVact = math.floor(psi*20)
	if _Tune.Aspiration == "Single" or _Tune.Aspiration == "Double" then
		WP = (psi)
		WV = (psi/4)*Loudness
		
		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
	elseif _Tune.Aspiration == "Super" then
		psi = psi/2
		HP = psi*Whine_Pitch
		HV = (psi/4)*Loudness
	end
		
	if FE then
		handler:FireServer("updateSound","Whistle",script.Whistle.SoundId,WP,WV)
		handler:FireServer("updateSound","Whine",script.Whine.SoundId,HP,HV)
		handler:FireServer("updateSound","BOV",script.BOV.SoundId,BP,BV)
	else
		car.DriveSeat.Whistle.Pitch = WP
		car.DriveSeat.Whistle.Volume = WV
		car.DriveSeat.Whine.Pitch = HP
		car.DriveSeat.Whine.Volume = HV
		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
