F.SignalLeft=function(v,P,i,n,l,h,T,Q)if i then if not h then if P then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=0})i:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=1;Range=16})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=0})i:Play()for v,P in pairs(lights.LeftInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=1 P.Range=16 elseif P.Name=="\076\078"then P.Transparency=.02 end end end wait(v)else if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})i:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=0,Range=0})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})i:Play()for v,P in pairs(lights.LeftInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end wait(v)end else if P then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=0})i:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if i.Name=="\083\073"..tostring(Q)then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.LeftInd:GetDescendants())do if P.Name=="\083\073"..tostring(Q)then P.Transparency=.02 end end end else if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})i:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if string.sub(i.Name,1,2)=="\083\073"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.LeftInd:GetDescendants())do if string.sub(P.Name,1,2)=="\083\073"then P.Transparency=1 end end end end end else if not h then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})i:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=0;Range=0})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.LeftInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end wait(v)else if P then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=0})i:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if i.Name=="\083\073"..tostring(Q)then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.LeftInd:GetDescendants())do if P.Name=="\083\073"..tostring(Q)then P.Transparency=.02 end end end else if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})i:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if string.sub(i.Name,1,2)=="\083\073"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.LeftInd:GetDescendants())do if string.sub(P.Name,1,2)=="\083\073"then P.Transparency=1 end end end end end end end F.SignalRight=function(v,P,i,n,l,h,T,Q)if i then if not h then if P then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[6],P,{ImageTransparency=0})i:Play()for v,i in pairs(lights.RightInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=1,Range=16})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[6],P,{ImageTransparency=0})i:Play()for v,P in pairs(lights.RightInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=1 P.Range=16 elseif P.Name=="\076\078"then P.Transparency=.02 end end end wait(v)else if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()for v,i in pairs(lights.RightInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=0;Range=0})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()for v,P in pairs(lights.RightInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end wait(v)end else if P then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[6],P,{ImageTransparency=0})i:Play()for v,i in pairs(lights.RightInd:GetDescendants())do if i.Name=="\083\073"..tostring(Q)then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.RightInd:GetDescendants())do if P.Name=="\083\073"..tostring(Q)then P.Transparency=.02 end end end else if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()for v,i in pairs(lights.RightInd:GetDescendants())do if string.sub(i.Name,1,2)=="\083\073"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.RightInd:GetDescendants())do if string.sub(P.Name,1,2)=="\083\073"then P.Transparency=1 end end end end end else if not h then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()for v,i in pairs(lights.RightInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=0,Range=0})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.RightInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end wait(v)else if P then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[6],P,{ImageTransparency=0})i:Play()for v,i in pairs(lights.RightInd:GetDescendants())do if i.Name=="\083\073"..tostring(Q)then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.RightInd:GetDescendants())do if P.Name=="\083\073"..tostring(Q)then P.Transparency=.02 end end end else if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()for v,i in pairs(lights.RightInd:GetDescendants())do if string.sub(i.Name,1,2)=="\083\073"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then for v,P in pairs(lights.RightInd:GetDescendants())do if string.sub(P.Name,1,2)=="\083\073"then P.Transparency=1 end end end end end end end F.Hazards=function(v,P,i,n,l,h,T,Q)if i then if not h then if P then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=0})local l=TweenService:Create(n[6],P,{ImageTransparency=0})i:Play()l:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=1;Range=16})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end for v,i in pairs(lights.RightInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=1,Range=16})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=0})local l=TweenService:Create(n[6],P,{ImageTransparency=0})i:Play()l:Play()for v,P in pairs(lights.LeftInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=2 P.Range=16 elseif P.Name=="\076\078"then P.Transparency=0 end end for v,P in pairs(lights.RightInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=2 P.Range=16 elseif P.Name=="\076\078"then P.Transparency=0 end end end wait(v)else if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})local l=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()l:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=0;Range=0})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end for v,i in pairs(lights.RightInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=0;Range=0})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})local l=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()l:Play()for v,P in pairs(lights.LeftInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end for v,P in pairs(lights.RightInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end wait(v)end else if P then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=0})local l=TweenService:Create(n[6],P,{ImageTransparency=0})i:Play()l:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if i.Name=="\083\073"..tostring(Q)then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end for v,i in pairs(lights.RightInd:GetDescendants())do if i.Name=="\083\073"..tostring(Q)then local v=TweenService:Create(i,P,{Transparency=.02})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=0})local l=TweenService:Create(n[6],P,{ImageTransparency=0})i:Play()l:Play()for v,P in pairs(lights.LeftInd:GetDescendants())do if P.Name=="\083\073"..tostring(Q)then P.Transparency=.02 end end for v,P in pairs(lights.RightInd:GetDescendants())do if P.Name=="\083\073"..tostring(Q)then P.Transparency=.02 end end end wait(v)else if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})local l=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()l:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if string.sub(i.Name,1,2)=="\083\073"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end for v,i in pairs(lights.RightInd:GetDescendants())do if string.sub(i.Name,1,2)=="\083\073"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})local l=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()l:Play()for v,P in pairs(lights.LeftInd:GetDescendants())do if string.sub(P.Name,1,2)=="\083\073"then P.Transparency=1 end end for v,P in pairs(lights.RightInd:GetDescendants())do if string.sub(P.Name,1,2)=="\083\073"then P.Transparency=1 end end end wait(v)end end else if not h then if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})local l=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()l:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=0;Range=0})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end for v,i in pairs(lights.RightInd:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local v=TweenService:Create(i,P,{Brightness=0;Range=0})v:Play()elseif i.Name=="\076\078"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})local l=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()l:Play()for v,P in pairs(lights.LeftInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end for v,P in pairs(lights.RightInd:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end wait(v)else if l=="\072\097\108\111\103\101\110"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})local l=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()l:Play()for v,i in pairs(lights.LeftInd:GetDescendants())do if string.sub(i.Name,1,2)=="\083\073"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end for v,i in pairs(lights.RightInd:GetDescendants())do if string.sub(i.Name,1,2)=="\083\073"then local v=TweenService:Create(i,P,{Transparency=1})v:Play()end end elseif l=="\076\069\068"then local P=TweenInfo.new(v/2.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local i=TweenService:Create(n[5],P,{ImageTransparency=1})local l=TweenService:Create(n[6],P,{ImageTransparency=1})i:Play()l:Play()for v,P in pairs(lights.LeftInd:GetDescendants())do if string.sub(P.Name,1,2)=="\083\073"then P.Transparency=1 end end for v,P in pairs(lights.RightInd:GetDescendants())do if string.sub(P.Name,1,2)=="\083\073"then P.Transparency=1 end end end wait(v)end end end F.Headlights=function(v,P,i,n)if n=="\072\097\108\111\103\101\110"then if v==0 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()if plactive then for P,i in pairs(lights.Headlights.Low:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0;Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.7})P:Play()end end for P,i in pairs(lights.Headlights.High:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0,Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=1})P:Play()end end elseif not plactive then for P,i in pairs(lights.Headlights:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0;Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=1})P:Play()end end end elseif v==1 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})n:Play()l:Play()for P,i in pairs(lights.Headlights.Low:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=2,Range=48})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.2})P:Play()end end elseif v==2 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()for P,i in pairs(lights.Headlights:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=3.5,Range=60})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.02})P:Play()end end elseif v==3 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()for P,i in pairs(lights.Headlights:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=4.25,Range=60})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.02})P:Play()end end end elseif n=="\076\069\068"then if v==0 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()if plactive then for v,P in pairs(lights.Headlights.Low:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=.7 end end for v,P in pairs(lights.Headlights.High:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end elseif not plactive then for v,P in pairs(lights.Headlights:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end elseif v==1 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})n:Play()l:Play()for v,P in pairs(lights.Headlights:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=2 P.Range=48 elseif P.Name=="\076\078"then P.Transparency=.2 end end elseif v==2 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()for v,P in pairs(lights.Headlights:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=3.5 P.Range=60 elseif P.Name=="\076\078"then P.Transparency=.02 end end elseif v==3 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()for v,P in pairs(lights.Headlights:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=4.25 P.Range=60 elseif P.Name=="\076\078"then P.Transparency=.02 end end end end end F.Popups=function(v,P)if P then local P=PHeadlights.Hinge:WaitForChild("\077\111\116\111\114")P.MaxVelocity=.08 if v then P.DesiredAngle=-0.75 elseif not v then P.DesiredAngle=0 end end end F.PopupLights=function(v,P,i,n)if n=="\072\097\108\111\103\101\110"then if v==0 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()if plactive then for P,i in pairs(PHeadlights.Parts.Headlights:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0;Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.7})P:Play()end end elseif not plactive then for P,i in pairs(PHeadlights.Parts.Headlights:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0;Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=1})P:Play()end end end elseif v==1 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})n:Play()l:Play()for P,i in pairs(PHeadlights.Parts.Headlights:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=2,Range=48})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.2})P:Play()end end elseif v==2 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()for P,i in pairs(PHeadlights.Parts.Headlights:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=3.5;Range=60})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.02})P:Play()end end elseif v==3 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()for P,i in pairs(PHeadlights.Parts.Headlights:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=4.25,Range=60})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.02})P:Play()end end end elseif n=="\076\069\068"then if v==0 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()if plactive then for v,P in pairs(lights.Headlights:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=.7 end end elseif not plactive then for v,P in pairs(lights.Headlights:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end elseif v==1 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})n:Play()l:Play()for v,P in pairs(lights.Headlights:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=2 P.Range=48 elseif P.Name=="\076\078"then P.Transparency=.2 end end elseif v==2 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()for v,P in pairs(lights.Headlights:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=3.5 P.Range=60 elseif P.Name=="\076\078"then P.Transparency=.02 end end elseif v==3 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[1],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})local l=TweenService:Create(i[2],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()l:Play()for v,P in pairs(lights.Headlights:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=4.25 P.Range=60 elseif P.Name=="\076\078"then P.Transparency=.02 end end end end end F.FogLights=function(v,P,i,n)if v then if n=="\072\097\108\111\103\101\110"then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[4],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})n:Play()for P,i in pairs(lights.Fog:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=3.75,Range=60})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.02})P:Play()end end elseif n=="\076\069\068"then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[4],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})n:Play()for v,P in pairs(lights.Fog:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=3.75 P.Range=60 elseif P.Name=="\076\078"then P.Transparency=.02 end end end elseif not v then if n=="\072\097\108\111\103\101\110"then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[4],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()for P,i in pairs(lights.Fog:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0;Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=1})P:Play()end end elseif n=="\076\069\068"then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)local n=TweenService:Create(i[4],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})n:Play()for v,P in pairs(lights.Fog:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end end end F.ParkLights=function(v,P)if v then local v=TweenService:Create(P[3],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=0})v:Play()plactive=true else local v=TweenService:Create(P[3],TweenInfo.new(.05,Enum.EasingStyle.Quint),{ImageTransparency=1})v:Play()plactive=false end end F.BrakeLights=function(v,P,i)if i=="\072\097\108\111\103\101\110"then if v then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for P,i in pairs(lights.Brake:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=2.5,Range=38})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.02})P:Play()end end else local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for P,i in pairs(lights.Brake:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0;Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=1})P:Play()end end end elseif i=="\076\069\068"then if v then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for v,P in pairs(lights.Brake:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=3.5 P.Range=38 elseif P.Name=="\076\078"then P.Transparency=.02 end end else local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for v,P in pairs(lights.Brake:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end end end F.RearLights=function(v,P,i)if i=="\072\097\108\111\103\101\110"then if v==0 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)if plactive then for P,i in pairs(lights.Rear:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0;Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.7})P:Play()end end elseif not plactive then for P,i in pairs(lights.Rear:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0,Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=1})P:Play()end end end elseif v==1 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for P,i in pairs(lights.Rear:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=1.5,Range=25})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.2})P:Play()end end end elseif i=="\076\069\068"then if v==0 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)if plactive then for v,P in pairs(lights.Rear:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=.7 end end elseif not plactive then for v,P in pairs(lights.Rear:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end elseif v==1 then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for v,P in pairs(lights.Rear:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=1.5 P.Range=25 elseif P.Name=="\076\078"then P.Transparency=.2 end end end end end F.DashboardIndicators=function(v,P,i) end F.Reverse=function(v,P,i)if i=="\072\097\108\111\103\101\110"then if v then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for P,i in pairs(lights.Reverse:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=1,Range=20})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=.03})P:Play()end end else local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for P,i in pairs(lights.Reverse:GetDescendants())do if i:IsA("\083\112\111\116\076\105\103\104\116")then local P=TweenService:Create(i,v,{Brightness=0,Range=0})P:Play()elseif i.Name=="\076\078"then local P=TweenService:Create(i,v,{Transparency=1})P:Play()end end end elseif i=="\076\069\068"then if v then local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for v,P in pairs(lights.Reverse:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=1 P.Range=20 elseif P.Name=="\076\078"then P.Transparency=.03 end end else local v=TweenInfo.new(P,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0)for v,P in pairs(lights.Reverse:GetDescendants())do if P:IsA("\083\112\111\116\076\105\103\104\116")then P.Brightness=0 P.Range=0 elseif P.Name=="\076\078"then P.Transparency=1 end end end end end F.IndsOnLeave=function(v,P,i,n,l,h,T)event.IndicatorsAfterLeave.Disabled=false wait()leaveseatevent:Fire(v,P,i,n,l,h,T)end event.OnServerEvent:Connect(function(v,P,...)F[P](...)end)


F.SignalLeft = function(flash_rate, state, active, tb, type, seq, max_segs, current_segment)
	if active then
		if not seq then
			if state then
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
						
					local gtwe = TweenService:Create(tb[5], t, {ImageTransparency = 0})
					gtwe:Play()			
			
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							local tw = TweenService:Create(child, t, {Brightness = 1, Range = 16})
							tw:Play()
						elseif child.Name == "LN" then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
	
					local gtwe = TweenService:Create(tb[5], t, {ImageTransparency = 0})
					gtwe:Play()	
					
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							child.Brightness = 1
							child.Range = 16
						elseif child.Name == "LN" then
							child.Transparency = 0.02
						end
					end				
				end	
				wait(flash_rate)
			else
				if type == "Halogen" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
				
					local gtwe = TweenService:Create(tb[5], t, {ImageTransparency = 1})
					gtwe:Play()				
			
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
							tw:Play()
						elseif child.Name == "LN" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()	
						end
					end
				elseif type == "LED" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
	
					local gtwe = TweenService:Create(tb[5], t, {ImageTransparency = 1})
					gtwe:Play()	
	
						for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							child.Brightness = 0
							child.Range = 0
						elseif child.Name == "LN" then
							child.Transparency = 1
						end
					end				
				end				
				wait(flash_rate)
			end
		else
			if state then
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[5], t, {ImageTransparency = 0})
					gtwe:Play()			

					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							child.Transparency = 0.02	
						end
					end			
				end	
			else
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[5], t, {ImageTransparency = 1})
					gtwe:Play()			

					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							child.Transparency = 1	
						end
					end			
				end	
			end
		end
	else
		if not seq then
			if type == "Halogen" then
				local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
	
				local gtwe = TweenService:Create(tb[5], t, {ImageTransparency = 1})
				gtwe:Play()				
	
				for idx, child in pairs(lights.LeftInd:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()		
					end
				end
			elseif type == "LED" then
				for idx, child in pairs(lights.LeftInd:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency = 1
					end
				end				
			end				
			wait(flash_rate)
		else
			if state then
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[5], t, {ImageTransparency = 0})
					gtwe:Play()			

					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							child.Transparency = 0.02	
						end
					end			
				end	
			else
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[5], t, {ImageTransparency = 1})
					gtwe:Play()			

					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							child.Transparency = 1	
						end
					end			
				end	
			end		
		end			
	end	
end

F.SignalRight = function(flash_rate, state, active, tb, type, seq, max_segs, current_segment)
	if active then
		if not seq then
			if state then
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[6], t, {ImageTransparency = 0})
					gtwe:Play()			

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							local tw = TweenService:Create(child, t, {Brightness = 1, Range = 16})
							tw:Play()
						elseif child.Name == "LN" then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[6], t, {ImageTransparency = 0})
					gtwe:Play()	

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							child.Brightness = 1
							child.Range = 16
						elseif child.Name == "LN" then
							child.Transparency = 0.02
						end
					end				
				end	
				wait(flash_rate)
			else
				if type == "Halogen" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[6], t, {ImageTransparency = 1})
					gtwe:Play()				

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
							tw:Play()
						elseif child.Name == "LN" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()	
						end
					end
				elseif type == "LED" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[6], t, {ImageTransparency = 1})
					gtwe:Play()	

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							child.Brightness = 0
							child.Range = 0
						elseif child.Name == "LN" then
							child.Transparency = 1
						end
					end				
				end				
				wait(flash_rate)
			end
		else
			if state then
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[6], t, {ImageTransparency = 0})
					gtwe:Play()			

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							child.Transparency = 0.02	
						end
					end			
				end	
			else
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[6], t, {ImageTransparency = 1})
					gtwe:Play()			

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							child.Transparency = 1	
						end
					end			
				end	
			end
		end
	else
		if not seq then
			if type == "Halogen" then
				local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

				local gtwe = TweenService:Create(tb[6], t, {ImageTransparency = 1})
				gtwe:Play()				

				for idx, child in pairs(lights.RightInd:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()		
					end
				end
			elseif type == "LED" then
				for idx, child in pairs(lights.RightInd:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency = 1
					end
				end				
			end				
			wait(flash_rate)
		else
			if state then
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[6], t, {ImageTransparency = 0})
					gtwe:Play()			

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							child.Transparency = 0.02	
						end
					end			
				end	
			else
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe = TweenService:Create(tb[6], t, {ImageTransparency = 1})
					gtwe:Play()			

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							child.Transparency = 1	
						end
					end			
				end	
			end		
		end			
	end	
end

F.Hazards = function(flash_rate, state, active, tb, type, seq, max_segs, current_segment)
	if active then
		if not seq then
			if state then
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
				
					local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 0})			
					local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 0})
					gtwe1:Play()				
					gtwe2:Play()				
					
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 1, Range = 16})
							tw:Play()
						elseif child.Name == "LN" then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()	
						end
					end
					
					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							local tw = TweenService:Create(child, t, {Brightness = 1, Range = 16})
							tw:Play()
						elseif child.Name == "LN" then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
	
					local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 0})			
					local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 0})
					gtwe1:Play()				
					gtwe2:Play()				
	
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							child.Brightness = 2
							child.Range = 16
						elseif child.Name == "LN" then
							child.Transparency = 0
						end
					end
					
					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							child.Brightness = 2
							child.Range = 16
						elseif child.Name == "LN" then
							child.Transparency = 0
						end
					end						
				end		
			
				wait(flash_rate)
			else
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 1})			
					local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 1})
					gtwe1:Play()				
					gtwe2:Play()				

					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
							tw:Play()
						elseif child.Name == "LN" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()	
						end
					end

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
							tw:Play()
						elseif child.Name == "LN" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()
						end
					end
				elseif type == "LED" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
	
					local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 1})			
					local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 1})
					gtwe1:Play()				
					gtwe2:Play()				
	
					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							child.Brightness = 0
							child.Range = 0
						elseif child.Name == "LN" then
							child.Transparency = 1
						end
					end

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child:IsA("SpotLight") then
							child.Brightness = 0
							child.Range = 0
						elseif child.Name == "LN" then
							child.Transparency = 1
						end
					end						
				end				
				wait(flash_rate)		
			end
		else
			if state then
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 0})			
					local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 0})
					gtwe1:Play()				
					gtwe2:Play()				

					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()		
						end
					end
					
					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							local tw = TweenService:Create(child, t, {Transparency = 0.02})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 0})			
					local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 0})
					gtwe1:Play()				
					gtwe2:Play()				

					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							child.Transparency = 0.02		
						end
					end

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if child.Name == "SI"..tostring(current_segment) then
							child.Transparency = 0.02	
						end
					end					
				end		

				wait(flash_rate)
			else
				if type == "Halogen" then			
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 1})			
					local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 1})
					gtwe1:Play()				
					gtwe2:Play()				

					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()		
						end
					end

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							local tw = TweenService:Create(child, t, {Transparency = 1})
							tw:Play()		
						end
					end
				elseif type == "LED" then
					local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

					local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 1})			
					local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 1})
					gtwe1:Play()				
					gtwe2:Play()				

					for idx, child in pairs(lights.LeftInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							child.Transparency = 1		
						end
					end

					for idx, child in pairs(lights.RightInd:GetDescendants()) do
						if string.sub(child.Name, 1, 2) == "SI" then
							child.Transparency = 1
						end	
					end					
				end		
				wait(flash_rate)
			end			
		end	
	else
		if not seq then
			if type == "Halogen" then			
				local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

				local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 1})			
				local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 1})
				gtwe1:Play()				
				gtwe2:Play()				
	
				for idx, child in pairs(lights.LeftInd:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()
					end
				end

				for idx, child in pairs(lights.RightInd:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()	
					end
				end
			elseif type == "LED" then
				local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
	
				local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 1})			
				local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 1})
				gtwe1:Play()				
				gtwe2:Play()				

				for idx, child in pairs(lights.LeftInd:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency = 1
					end
				end
	
				for idx, child in pairs(lights.RightInd:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency = 1
					end
				end						
			end				
			wait(flash_rate)
		else
			if type == "Halogen" then			
				local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

				local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 1})			
				local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 1})
				gtwe1:Play()				
				gtwe2:Play()				

				for idx, child in pairs(lights.LeftInd:GetDescendants()) do
					if string.sub(child.Name, 1, 2) == "SI" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()		
					end
				end

				for idx, child in pairs(lights.RightInd:GetDescendants()) do
					if string.sub(child.Name, 1, 2) == "SI" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()		
					end
				end
			elseif type == "LED" then
				local t = TweenInfo.new(flash_rate / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

				local gtwe1 = TweenService:Create(tb[5], t, {ImageTransparency = 1})			
				local gtwe2 = TweenService:Create(tb[6], t, {ImageTransparency = 1})
				gtwe1:Play()				
				gtwe2:Play()				

				for idx, child in pairs(lights.LeftInd:GetDescendants()) do
					if string.sub(child.Name, 1, 2) == "SI" then
						child.Transparency = 1		
					end
				end

				for idx, child in pairs(lights.RightInd:GetDescendants()) do
					if string.sub(child.Name, 1, 2) == "SI" then
						child.Transparency = 1
					end	
				end					
			end		
			wait(flash_rate)
		end			
	end		
end

F.Headlights = function(state, fade_time, tb, type)
	if type == "Halogen" then
		if state == 0 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
	
			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()
			
			if plactive then
				for idx, child in pairs(lights.Headlights.Low:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 0.7})
						tw:Play()	
					end
				end
				for idx, child in pairs(lights.Headlights.High:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()	
					end
				end
			elseif not plactive then
				for idx, child in pairs(lights.Headlights:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()	
					end
				end				
			end	
		elseif state == 1 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
			
			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			gtwe1:Play()
			gtwe2:Play()		
			
			for idx, child in pairs(lights.Headlights.Low:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 2, Range = 48})
					tw:Play()
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.2})
					tw:Play()	
				end
			end			
		elseif state == 2 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
			
			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()		
				
			for idx, child in pairs(lights.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 3.5, Range = 60})
					tw:Play()
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.02})
					tw:Play()	
				end
			end				
		elseif state == 3 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
	
			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()		

			for idx, child in pairs(lights.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 4.25, Range = 60})
					tw:Play()
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.02})
					tw:Play()	
				end
			end				
		end
	elseif type == "LED" then
		if state == 0 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()

			if plactive then
				for idx, child in pairs(lights.Headlights.Low:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency = 0.7
					end
				end
				for idx, child in pairs(lights.Headlights.High:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency = 1
					end
				end
			elseif not plactive then
				for idx, child in pairs(lights.Headlights:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency = 1
					end
				end	
			end	
		elseif state == 1 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			gtwe1:Play()
			gtwe2:Play()	
			
			for idx, child in pairs(lights.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 2
					child.Range = 48
				elseif child.Name == "LN" then
					child.Transparency = 0.2
				end
			end			
		elseif state == 2 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()		

			for idx, child in pairs(lights.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 3.5
					child.Range = 60
				elseif child.Name == "LN" then
					child.Transparency = 0.02
				end
			end				
		elseif state == 3 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()		

			for idx, child in pairs(lights.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 4.25
					child.Range = 60
				elseif child.Name == "LN" then
					child.Transparency = 0.02
				end
			end				
		end	
	end
end

F.Popups = function(state, enabled)
	if enabled then
		local motor = PHeadlights.Hinge:WaitForChild("Motor")
		motor.MaxVelocity = 0.08
		
		if state then
			motor.DesiredAngle = -0.75
		elseif not state then
			motor.DesiredAngle = 0
		end
	end
end

F.PopupLights = function(state, fade_time, tb, type)
	if type == "Halogen" then
		if state == 0 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()

			if plactive then
				for idx, child in pairs(PHeadlights.Parts.Headlights:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 0.7})
						tw:Play()	
					end
				end
			elseif not plactive then
				for idx, child in pairs(PHeadlights.Parts.Headlights:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()	
					end
				end				
			end	
		elseif state == 1 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			gtwe1:Play()
			gtwe2:Play()		

			for idx, child in pairs(PHeadlights.Parts.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 2, Range = 48})
					tw:Play()
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.2})
					tw:Play()	
				end
			end			
		elseif state == 2 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()		

			for idx, child in pairs(PHeadlights.Parts.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 3.5, Range = 60})
					tw:Play()
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.02})
					tw:Play()	
				end
			end				
		elseif state == 3 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()		

			for idx, child in pairs(PHeadlights.Parts.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 4.25, Range = 60})
					tw:Play()
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.02})
					tw:Play()	
				end
			end				
		end
	elseif type == "LED" then
		if state == 0 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()

			if plactive then
				for idx, child in pairs(lights.Headlights:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency = 0.7
					end
				end
			elseif not plactive then
				for idx, child in pairs(lights.Headlights:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency = 1
					end
				end	
			end	
		elseif state == 1 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			gtwe1:Play()
			gtwe2:Play()	

			for idx, child in pairs(lights.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 2
					child.Range = 48
				elseif child.Name == "LN" then
					child.Transparency = 0.2
				end
			end			
		elseif state == 2 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()		

			for idx, child in pairs(lights.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 3.5
					child.Range = 60
				elseif child.Name == "LN" then
					child.Transparency = 0.02
				end
			end				
		elseif state == 3 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[1], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			local gtwe2 = TweenService:Create(tb[2], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()
			gtwe2:Play()		

			for idx, child in pairs(lights.Headlights:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 4.25
					child.Range = 60
				elseif child.Name == "LN" then
					child.Transparency = 0.02
				end
			end				
		end			
	end	
end

F.FogLights = function(state, fade_time, tb, type)
	if state then
		if type == "Halogen" then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[4], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			gtwe1:Play()
			
			for idx, child in pairs(lights.Fog:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 3.75, Range = 60})
					tw:Play()
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.02})
					tw:Play()	
				end
			end				
		elseif type == "LED" then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[4], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
			gtwe1:Play()

			for idx, child in pairs(lights.Fog:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 3.75
					child.Range = 60
				elseif child.Name == "LN" then
					child.Transparency = 0.02
				end
			end				
		end
	elseif not state then
		if type == "Halogen" then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[4], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()

			for idx, child in pairs(lights.Fog:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
					tw:Play()
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 1})
					tw:Play()	
				end
			end				
		elseif type == "LED" then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			local gtwe1 = TweenService:Create(tb[4], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
			gtwe1:Play()

			for idx, child in pairs(lights.Fog:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 0
					child.Range = 0
				elseif child.Name == "LN" then
					child.Transparency = 1
				end
			end				
		end		
	end
end

F.ParkLights = function(state, tb)
	if state then
		local gtwe = TweenService:Create(tb[3], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 0})
		gtwe:Play()
			
		plactive = true
	else
		local gtwe = TweenService:Create(tb[3], TweenInfo.new(0.05, Enum.EasingStyle.Quint), {ImageTransparency = 1})
		gtwe:Play()			
		
		plactive = false
	end
end

F.BrakeLights = function(state, fade_time, type)
	if type == "Halogen" then
		if state then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
		
			for idx, child in pairs(lights.Brake:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 2.5, Range = 38})
					tw:Play()			
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.02})
					tw:Play()	
				end
			end			
		else
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
		
			for idx, child in pairs(lights.Brake:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
					tw:Play()			
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 1})
					tw:Play()	
				end
			end				
		end
	elseif type == "LED" then
		if state then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			for idx, child in pairs(lights.Brake:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 3.5
					child.Range = 38
				elseif child.Name == "LN" then
					child.Transparency = 0.02
				end
			end			
		else
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			for idx, child in pairs(lights.Brake:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 0
					child.Range = 0
				elseif child.Name == "LN" then
					child.Transparency = 1
				end
			end				
		end		
	end	
end

F.RearLights = function(state, fade_time, type)
	if type == "Halogen" then
		if state == 0 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
	
			if plactive then
				for idx, child in pairs(lights.Rear:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 0.7})
						tw:Play()	
					end
				end
			elseif not plactive then
				for idx, child in pairs(lights.Rear:GetDescendants()) do
					if child:IsA("SpotLight") then
						local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
						tw:Play()
					elseif child.Name == "LN" then
						local tw = TweenService:Create(child, t, {Transparency = 1})
						tw:Play()	
					end
				end				
			end				
		elseif state == 1 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
		
			for idx, child in pairs(lights.Rear:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 1.5, Range = 25})
					tw:Play()			
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.2})
					tw:Play()	
				end
			end			
		end
	elseif type == "LED" then
		if state == 0 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			if plactive then
				for idx, child in pairs(lights.Rear:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency  = 0.7	
					end
				end
			elseif not plactive then
				for idx, child in pairs(lights.Rear:GetDescendants()) do
					if child:IsA("SpotLight") then
						child.Brightness = 0
						child.Range = 0
					elseif child.Name == "LN" then
						child.Transparency  = 1
					end
				end				
			end				
		elseif state == 1 then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			for idx, child in pairs(lights.Rear:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 1.5
					child.Range = 25
				elseif child.Name == "LN" then
					child.Transparency  = 0.2
				end
			end			
		end	
	end
end	

F.DashboardIndicators = function(headlights, indicators, parklights)
	
end

F.Reverse = function(state, fade_time, type)
	if type == "Halogen" then
		if state then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
		
			for idx, child in pairs(lights.Reverse:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 1, Range = 20})
					tw:Play()			
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 0.03})
					tw:Play()	
				end
			end	
		else
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
			
			for idx, child in pairs(lights.Reverse:GetDescendants()) do
				if child:IsA("SpotLight") then
					local tw = TweenService:Create(child, t, {Brightness = 0, Range = 0})
					tw:Play()			
				elseif child.Name == "LN" then
					local tw = TweenService:Create(child, t, {Transparency = 1})
					tw:Play()	
				end
			end				
		end
	elseif type == "LED" then
		if state then
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			for idx, child in pairs(lights.Reverse:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 1
					child.Range = 20
				elseif child.Name == "LN" then
					child.Transparency = 0.03
				end
			end	
		else
			local t = TweenInfo.new(fade_time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)

			for idx, child in pairs(lights.Reverse:GetDescendants()) do
				if child:IsA("SpotLight") then
					child.Brightness = 0
					child.Range = 0
				elseif child.Name == "LN" then
					child.Transparency = 1	
				end
			end				
		end		
	end	
end

F.IndsOnLeave = function(left, right, hazard, sequential, segs, fr, type)
	event.IndicatorsAfterLeave.Disabled = false
	wait()
	leaveseatevent:Fire(left, right, hazard, sequential, segs, fr, type)
end

event.OnServerEvent:Connect(function(pl, Fnc, ...)
	F[Fnc](...)
end)
