--DriveSeat.ChildAdded:Connect(autoLight)
DriveSeat.ChildRemoved:Connect(leavedriveseat)
Values.Brake.Changed:Connect(brakes)
Values.Gear.Changed:Connect(reverse)

LightEvent:FireServer("Setup", Low_Beam_Color, High_Beam_Color, Running_Light_Color, Front_Indicator_Color, Rear_Indicator_Color, Fog_Light_Color, Popups_Enabled, Plate_Lights, Plate_Light_Color, Trunk_Lights, Mirror_Indicators, Running_Light_Location, Fade_Time, Indicator_Flash_Rate)

local co2 = coroutine.create(function()
	while wait() do
		if Sequential_Indicators then
			if LI.Value then
				RI.Value = false
				H.Value = false
				script.ClickOn:Play()
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 0}):Play()
				for i = 1, Sequential_Segments do
					LightEvent:FireServer("SignalLeft", 0, 0.02, Indicator_Type, Sequential_Indicators, i)
					wait(Indicator_Flash_Rate / Sequential_Segments)
				end
				wait(0.1)
				script.ClickOff:Play()
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				LightEvent:FireServer("SignalLeft", 0, 1, Indicator_Type, Sequential_Indicators, 1)	
				wait(Indicator_Flash_Rate)
			else
				LightEvent:FireServer("SignalLeft", 0, 1, Indicator_Type, Sequential_Indicators, 1)
			end
			if RI.Value then
				LI.Value = false
				H.Value = false
				script.ClickOn:Play()
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 0}):Play()
				for i = 1, Sequential_Segments do
					LightEvent:FireServer("SignalRight", 0, 0.02, Indicator_Type, Sequential_Indicators, i)
					wait(Indicator_Flash_Rate / Sequential_Segments)
				end
				wait(0.1)
				script.ClickOff:Play()
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				LightEvent:FireServer("SignalRight", 0, 1, Indicator_Type, Sequential_Indicators, 1)	
				wait(Indicator_Flash_Rate)
			else
				LightEvent:FireServer("SignalRight", 0, 1, Indicator_Type, Sequential_Indicators, 1)
			end
			if H.Value then
				LI.Value = false
				RI.Value = false
				script.ClickOn:Play()
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 0}):Play()
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 0}):Play()
				for i = 1, Sequential_Segments do
					LightEvent:FireServer("Hazards", 0, 0.02, Indicator_Type, Sequential_Indicators, i)
					wait(Indicator_Flash_Rate / Sequential_Segments)
				end
				wait(0.1)
				script.ClickOff:Play()
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				LightEvent:FireServer("Hazards", 0, 1, Indicator_Type, Sequential_Indicators, 1)	
				wait(Indicator_Flash_Rate)
			else
				LightEvent:FireServer("Hazards", 0, 1, Indicator_Type, Sequential_Indicators, 1)
			end
		end
	end
end)

local co = coroutine.create(function()
	while wait() do
		if not Sequential_Indicators then
			if LI.Value then
				RI.Value = false
				H.Value = false
				script.ClickOn:Play()
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 0}):Play()
				LightEvent:FireServer("SignalLeft", 1, 0.02, Indicator_Type)
				wait(Indicator_Flash_Rate)
				script.ClickOff:Play()
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				if Running_Light_Location == "Low Beam / Indicators" and parklightActive then
					LightEvent:FireServer("SignalLeft", 0, 0.71, Indicator_Type)	
				else
					LightEvent:FireServer("SignalLeft", 0, 1, Indicator_Type)	
				end
				wait(Indicator_Flash_Rate)
			else
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				if Running_Light_Location == "Low Beam / Indicators" and parklightActive then
					LightEvent:FireServer("SignalLeft", 0, 0.71, Indicator_Type)	
				else
					LightEvent:FireServer("SignalLeft", 0, 1, Indicator_Type)	
				end	
			end	
			if RI.Value then
				LI.Value = false
				H.Value = false
				script.ClickOn:Play()
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 0}):Play()
				LightEvent:FireServer("SignalRight", 1, 0.02, Indicator_Type)
				wait(Indicator_Flash_Rate)
				script.ClickOff:Play()
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				if Running_Light_Location == "Indicators" and parklightActive then
					LightEvent:FireServer("SignalRight", 0, 0.71, Indicator_Type)	
				else
					LightEvent:FireServer("SignalRight", 0, 1, Indicator_Type)	
				end
				wait(Indicator_Flash_Rate)
			else
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				if Running_Light_Location == "Low Beam / Indicators" and parklightActive then
					LightEvent:FireServer("SignalRight", 0, 0.71, Indicator_Type)	
				else
					LightEvent:FireServer("SignalRight", 0, 1, Indicator_Type)	
				end	
			end		
			if H.Value then
				LI.Value = false
				RI.Value = false
				script.ClickOn:Play()
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 0}):Play()
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 0}):Play()
				LightEvent:FireServer("Hazards", 1, 0.02, Indicator_Type)
				wait(Indicator_Flash_Rate)
				script.ClickOff:Play()
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				if Running_Light_Location == "Low Beam / Indicators" and parklightActive then
					LightEvent:FireServer("Hazards", 0, 0.71, Indicator_Type)	
				else
					LightEvent:FireServer("Hazards", 0, 1, Indicator_Type)	
				end	
				wait(Indicator_Flash_Rate)				
			else
				TweenService:Create(script.Parent.LeftInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				TweenService:Create(script.Parent.RightInd, indgui_tweeninfo, {ImageTransparency = 1}):Play()
				if Running_Light_Location == "Low Beam / Indicators" and parklightActive then
					LightEvent:FireServer("Hazards", 0, 0.71, Indicator_Type)	
				else
					LightEvent:FireServer("Hazards", 0, 1, Indicator_Type)	
				end	
			end
		end
	end
end)	
coroutine.resume(co)
coroutine.resume(co2)