This works when a Value Change to Flaps - 1 The Sounds successfully Stops when the CurrentAngle pass > -0.24

But in the Next Setting such as Flaps - 2 The sounds do Play, But does not stop when the Motor Reaches pass CurrentAngle > -0.34 Are Value Maybe not Be the best way to Make the Sound Play functions work?

local FlapsValue = script.Parent.Parent.Parent.FlapSetting

local MainMotorPose = script.Parent.Parent.Parent.Parent.Body.AVI_MSDLL

local FlapModule = script.Parent.Parent.Parent.FlapsPanel.Left.Inboard


local FM1 = MainMotorPose.Flaps_Motor1
local FM2 = MainMotorPose.Flaps_Motor2
local FM3 = MainMotorPose.Flaps_Motor3
local FM4 = MainMotorPose.Flaps_Motor4

FlapsValue.Changed:Connect(function()
if FlapsValue.Value == 1 then
	print('Flaps - 1')
	
	FM1.Loop:Stop()
	FM1.Start:Play()
	FM2.Loop:Stop()
	FM2.Start:Play()
	FM3.Loop:Stop()
	FM3.Start:Play()
	FM4.Loop:Stop()
	FM4.Start:Play()
	wait(1)
	FM1.Loop:Play()
	FM2.Loop:Play()
	FM3.Loop:Play()
	FM4.Loop:Play()
	
	repeat wait() until FlapModule.A.Motor.CurrentAngle > -0.24
	
	FM1.Loop:Stop()
	FM1.Stop:Play()
	FM2.Loop:Stop()
	FM2.Stop:Play()
	FM3.Loop:Stop()
	FM3.Stop:Play()
	FM4.Loop:Stop()
	FM4.Stop:Play()
	end
if FlapsValue.Value == 2 then
	print('Flaps - 2')
	
	FM1.Loop:Stop()
	FM1.Start:Play()
	FM2.Loop:Stop()
	FM2.Start:Play()
	FM3.Loop:Stop()
	FM3.Start:Play()
	FM4.Loop:Stop()
	FM4.Start:Play()
	wait(1)
	FM1.Loop:Play()
	FM2.Loop:Play()
	FM3.Loop:Play()
	FM4.Loop:Play()
	
	repeat wait() until FlapModule.A.Motor.CurrentAngle > -0.34
	
	FM1.Loop:Stop()
	FM1.Stop:Play()
	FM2.Loop:Stop()
	FM2.Stop:Play()
	FM3.Loop:Stop()
	FM3.Stop:Play()
	FM4.Loop:Stop()
	FM4.Stop:Play()
	end
if FlapsValue.Value == 3 then
	print('Flaps - 3')
	
	FM1.Loop:Stop()
	FM1.Start:Play()
	FM2.Loop:Stop()
	FM2.Start:Play()
	FM3.Loop:Stop()
	FM3.Start:Play()
	FM4.Loop:Stop()
	FM4.Start:Play()
	wait(1)
	FM1.Loop:Play()
	FM2.Loop:Play()
	FM3.Loop:Play()
	FM4.Loop:Play()
	
	repeat wait() until FlapModule.A.Motor.CurrentAngle > -0.44
	
	FM1.Loop:Stop()
	FM1.Stop:Play()
	FM2.Loop:Stop()
	FM2.Stop:Play()
	FM3.Loop:Stop()
	FM3.Stop:Play()
	FM4.Loop:Stop()
	FM4.Stop:Play()
	end
if FlapsValue.Value == 4 then
	print('Flaps - 2')
	
	FM1.Loop:Stop()
	FM1.Start:Play()
	FM2.Loop:Stop()
	FM2.Start:Play()
	FM3.Loop:Stop()
	FM3.Start:Play()
	FM4.Loop:Stop()
	FM4.Start:Play()
	wait(1)
	FM1.Loop:Play()
	FM2.Loop:Play()
	FM3.Loop:Play()
	FM4.Loop:Play()
	
	repeat wait() until FlapModule.A.Motor.CurrentAngle > -0.54
	
	FM1.Loop:Stop()
	FM1.Stop:Play()
	FM2.Loop:Stop()
	FM2.Stop:Play()
	FM3.Loop:Stop()
	FM3.Stop:Play()
	FM4.Loop:Stop()
	FM4.Stop:Play()
	end
if FlapsValue.Value == 0 then
	print('Flaps - 0 [Retracting & Stowed]')
	
	FM1.Loop:Stop()
	FM1.Start:Play()
	FM2.Loop:Stop()
	FM2.Start:Play()
	FM3.Loop:Stop()
	FM3.Start:Play()
	FM4.Loop:Stop()
	FM4.Start:Play()
	wait(1)
	FM1.Loop:Play()
	FM2.Loop:Play()
	FM3.Loop:Play()
	FM4.Loop:Play()
	
	repeat wait() until FlapModule.A.Motor.CurrentAngle < -0.01
	
	FM1.Loop:Stop()
	FM1.Stop:Play()
	FM2.Loop:Stop()
	FM2.Stop:Play()
	FM3.Loop:Stop()
	FM3.Stop:Play()
	FM4.Loop:Stop()
	FM4.Stop:Play()
	end
end)