Prompt:
--[[
 	  _______  ___________   ___________ ____________  _   ______
 	 / __/ _ \/  _/ ___/ /  /  _/ ___/ // /_  __/ __/ | | / /_  /
 	/ _// ___// // /__/ /___/ // (_ / _  / / / _\ \   | |/ //_ <
   /___/_/  /___/\___/____/___/\___/_//_/ /_/ /___/   |___/____/

   https://discord.gg/Vk7uGNnX9M
   join the discord for any questions or support relating to my plugins

]]

Response:
--

local F = {}
local TweenService = game:GetService("TweenService")
local DriveSeat = script.Parent.Parent:WaitForChild("DriveSeat")
local car = DriveSeat.Parent
local event = script.Parent
local leaveseatevent = script.Parent.OnLeave

local lights = car.Body.Lights
local misc = car.Misc
local PHeadlights = misc:FindFirstChild("Popups")
local trunk = misc:FindFirstChild("TK")
local isSetupCompleted = false
local doors = {}
local mirrorL
local mirrorR
local intlights
local doorFunction

for i, v in pairs(misc:GetDescendants()) do
	if v.Name == "FL" or v.Name == "FR" or v.Name == "RL" or v.Name == "RR" then
		table.insert(doors, v)
	end
end

local rl_loc
local l_tweeninfo
local ind_tweeninfo

F.Setup = function(lowbeamc, highbeamc, runninglightc, frontindc, rearindc, foglightc, popupe, platelighte, platelightc, trunklighte, mirrorinde, run_loc, ft, ind_fr, intlightse, intlightsc, doorFunctione)
	if not isSetupCompleted then
		l_tweeninfo = TweenInfo.new(ft, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
		ind_tweeninfo = TweenInfo.new(ind_fr / 2.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0)
		event.IndicatorsAfterLeave.Disabled = true

		intlights = intlightse
		doorFunction = doorFunctione

		if trunklighte and trunk ~= nil then
			for i, v in pairs(trunk.Brake:GetChildren()) do
				if v.Name == "L" and v.Parent.Name == "Brake" and #v:GetChildren() < 1  then
					local spot = Instance.new("SpotLight", v)
					spot.Name = "L"
					spot.Brightness = 0
					spot.Range = 38
					spot.Face = Enum.NormalId.Front
					spot.Color = Color3.fromRGB(255, 0, 0)
					spot.Shadows = true
					spot.Angle = 180
				elseif v.Name == "LN" then
					if v:IsA("MeshPart") then
						v.TextureID = ""
					end
					v.Material = Enum.Material.Neon
					v.Color = Color3.fromRGB(248, 87, 73)
					v.Transparency = 1
				end
			end
			for i, v in pairs(trunk.Rear:GetChildren()) do
				if v.Name == "L" and v.Parent.Name == "Rear" and #v:GetChildren() < 1 then
					local spot = Instance.new("SpotLight", v)
					spot.Name = "L"
					spot.Brightness = 0
					spot.Range = 25
					spot.Face = Enum.NormalId.Front
					spot.Color = Color3.fromRGB(255, 0, 0)
					spot.Shadows = true
					spot.Angle = 180
				elseif v.Name == "LN" then
					if v:IsA("MeshPart") then
						v.TextureID = ""
					end
					v.Material = Enum.Material.Neon
					v.Color = Color3.fromRGB(248, 87, 73)
					v.Transparency = 1
				end
			end
			for i, v in pairs(trunk.Reverse:GetChildren()) do
				if v.Name == "L" and v.Parent.Name == "Reverse" and #v:GetChildren() < 1 then
					local spot = Instance.new("SpotLight", v)
					spot.Name = "L"
					spot.Brightness = 0
					spot.Range = 20
					spot.Face = Enum.NormalId.Front
					spot.Color = Color3.fromRGB(255, 255, 255)
					spot.Shadows = true
					spot.Angle = 180
				elseif v.Name == "LN" then
					if v:IsA("MeshPart") then
						v.TextureID = ""
					end
					v.Material = Enum.Material.Neon
					v.Color = Color3.fromRGB(255, 255, 255)
					v.Transparency = 1
				end
			end
		end

		for i, v in pairs(lights.Brake:GetChildren()) do
			if v.Name == "L" and v.Parent.Name == "Brake" and #v:GetChildren() < 1  then
				local spot = Instance.new("SpotLight", v)
				spot.Name = "L"
				spot.Brightness = 0
				spot.Range = 38
				spot.Face = Enum.NormalId.Front
				spot.Color = Color3.fromRGB(255, 0, 0)
				spot.Shadows = true
				spot.Angle = 180
			elseif v.Name == "LN" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				v.Color = Color3.fromRGB(248, 87, 73)
				v.Transparency = 1
			end
		end

		for i, v in pairs(lights.Rear:GetChildren()) do
			if v.Name == "L" and v.Parent.Name == "Rear" and #v:GetChildren() < 1 then
				local spot = Instance.new("SpotLight", v)
				spot.Name = "L"
				spot.Brightness = 0
				spot.Range = 25
				spot.Face = Enum.NormalId.Front
				spot.Color = Color3.fromRGB(255, 0, 0)
				spot.Shadows = true
				spot.Angle = 180
			elseif v.Name == "LN" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				v.Color = Color3.fromRGB(248, 87, 73)
				v.Transparency = 1
			end
		end

		for i, v in pairs(lights.Reverse:GetChildren()) do
			if v.Name == "L" and v.Parent.Name == "Reverse" and #v:GetChildren() < 1 then
				local spot = Instance.new("SpotLight", v)
				spot.Name = "L"
				spot.Brightness = 0
				spot.Range = 20
				spot.Face = Enum.NormalId.Front
				spot.Color = Color3.fromRGB(255, 255, 255)
				spot.Shadows = true
				spot.Angle = 180
			elseif v.Name == "LN" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				v.Color = Color3.fromRGB(255, 255, 255)
				v.Transparency = 1
			end
		end

		for i, v in pairs(lights.LeftInd:GetDescendants()) do
			if v.Name == "L"  and v.Parent.Parent.Name == "LeftInd" and #v:GetChildren() < 1 then
				local sfc = Instance.new("SurfaceLight", v)
				sfc.Name = "L"
				sfc.Brightness = 0
				sfc.Range = 16
				sfc.Face = Enum.NormalId.Front
				sfc.Angle = 180
				if v.Parent.Name == "Front" or v.Parent.Name == "Side" then
					if frontindc == "Light Orange" then
						sfc.Color = Color3.fromRGB(255, 130, 80)
					elseif frontindc == "Yellow" then
						sfc.Color = Color3.fromRGB(181, 154, 45)
					elseif frontindc == "Red" then
						sfc.Color = Color3.fromRGB(241, 57, 60)
					elseif frontindc == "Dark Orange" then
						sfc.Color = Color3.fromRGB(198, 107, 54)
					else
						sfc.Color = frontindc
					end
				elseif v.Parent.Name == "Rear" then
					if rearindc == "Light Orange" then
						sfc.Color = Color3.fromRGB(255, 130, 80)
					elseif rearindc == "Yellow" then
					sfc.Color = Color3.fromRGB(181, 154, 45)
					elseif rearindc == "Red" then
						sfc.Color = Color3.fromRGB(241, 57, 60)
					elseif rearindc == "Dark Orange" then
						sfc.Color = Color3.fromRGB(198, 107, 54)
					else
						sfc.Color = rearindc
					end
				end
			elseif v.Name == "LN" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				if v.Parent.Name == "Front" or v.Parent.Name == "Side" then
					if frontindc == "Light Orange" then
						v.Color = Color3.fromRGB(255, 130, 80)
					elseif frontindc == "Yellow" then
						v.Color = Color3.fromRGB(181, 154, 45)
					elseif frontindc == "Red" then
						v.Color = Color3.fromRGB(241, 57, 60)
					elseif frontindc == "Dark Orange" then
						v.Color = Color3.fromRGB(198, 107, 54)
					else
						v.Color = frontindc
					end
				elseif v.Parent.Name == "Rear" then
					if rearindc == "Light Orange" then
						v.Color = Color3.fromRGB(255, 130, 80)
					elseif rearindc == "Yellow" then
						v.Color = Color3.fromRGB(181, 154, 45)
					elseif rearindc == "Red" then
						v.Color = Color3.fromRGB(241, 57, 60)
					elseif rearindc == "Dark Orange" then
						v.Color = Color3.fromRGB(198, 107, 54)
					else
						v.Color = rearindc
					end
				end
				v.Transparency = 1
			elseif string.sub(v.Name, 1, 2) == "SI" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				if v.Parent.Name == "Front" or v.Parent.Name == "Side" then
					if frontindc == "Light Orange" then
						v.Color = Color3.fromRGB(255, 130, 80)
					elseif frontindc == "Yellow" then
						v.Color = Color3.fromRGB(181, 154, 45)
					elseif frontindc == "Red" then
						v.Color = Color3.fromRGB(241, 57, 60)
					elseif frontindc == "Dark Orange" then
						v.Color = Color3.fromRGB(198, 107, 54)
					else
						v.Color = frontindc
					end
				elseif v.Parent.Name == "Rear" then
					if rearindc == "Light Orange" then
						v.Color = Color3.fromRGB(255, 130, 80)
					elseif rearindc == "Yellow" then
						v.Color = Color3.fromRGB(181, 154, 45)
					elseif rearindc == "Red" then
						v.Color = Color3.fromRGB(241, 57, 60)
					elseif rearindc == "Dark Orange" then
						v.Color = Color3.fromRGB(198, 107, 54)
					else
						v.Color = rearindc
					end
				end
				v.Transparency = 1
			end
		end

		for i, v in pairs(lights.RightInd:GetDescendants()) do
			if v.Name == "L"  and v.Parent.Parent.Name == "RightInd" and #v:GetChildren() < 1 then
				local sfc = Instance.new("SurfaceLight", v)
				sfc.Name = "L"
				sfc.Brightness = 0
				sfc.Range = 16
				sfc.Face = Enum.NormalId.Front
				sfc.Angle = 180
				if v.Parent.Name == "Front" or v.Parent.Name == "Side" then
					if frontindc == "Light Orange" then
						sfc.Color = Color3.fromRGB(255, 130, 80)
					elseif frontindc == "Yellow" then
						sfc.Color = Color3.fromRGB(181, 154, 45)
					elseif frontindc == "Red" then
						sfc.Color = Color3.fromRGB(241, 57, 60)
					elseif frontindc == "Dark Orange" then
						sfc.Color = Color3.fromRGB(198, 107, 54)
					else
						sfc.Color = frontindc
					end
				elseif v.Parent.Name == "Rear" then
					if rearindc == "Light Orange" then
						sfc.Color = Color3.fromRGB(255, 130, 80)
					elseif rearindc == "Yellow" then
						sfc.Color = Color3.fromRGB(181, 154, 45)
					elseif rearindc == "Red" then
						sfc.Color = Color3.fromRGB(241, 57, 60)
					elseif rearindc == "Dark Orange" then
						sfc.Color = Color3.fromRGB(198, 107, 54)
					else
						sfc.Color = rearindc
					end
				end
			elseif v.Name == "LN" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				if v.Parent.Name == "Front" or v.Parent.Name == "Side" then
					if frontindc == "Light Orange" then
						v.Color = Color3.fromRGB(255, 130, 80)
					elseif frontindc == "Yellow" then
						v.Color = Color3.fromRGB(181, 154, 45)
					elseif frontindc == "Red" then
						v.Color = Color3.fromRGB(241, 57, 60)
					elseif frontindc == "Dark Orange" then
						v.Color = Color3.fromRGB(198, 107, 54)
					else
						v.Color = frontindc
					end
				elseif v.Parent.Name == "Rear" then
					if rearindc == "Light Orange" then
						v.Color = Color3.fromRGB(255, 130, 80)
					elseif rearindc == "Yellow" then
						v.Color = Color3.fromRGB(181, 154, 45)
					elseif rearindc == "Red" then
						v.Color = Color3.fromRGB(241, 57, 60)
					elseif rearindc == "Dark Orange" then
						v.Color = Color3.fromRGB(198, 107, 54)
					else
						v.Color = rearindc
					end
				end
				v.Transparency = 1
			elseif string.sub(v.Name, 1, 2) == "SI" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				if v.Parent.Name == "Front" or v.Parent.Name == "Side" then
					if frontindc == "Light Orange" then
						v.Color = Color3.fromRGB(255, 130, 80)
					elseif frontindc == "Yellow" then
						v.Color = Color3.fromRGB(181, 154, 45)
					elseif frontindc == "Red" then
						v.Color = Color3.fromRGB(241, 57, 60)
					elseif frontindc == "Dark Orange" then
						v.Color = Color3.fromRGB(198, 107, 54)
					else
						v.Color = frontindc
					end
				elseif v.Parent.Name == "Rear" then
					if rearindc == "Light Orange" then
						v.Color = Color3.fromRGB(255, 130, 80)
					elseif rearindc == "Yellow" then
						v.Color = Color3.fromRGB(181, 154, 45)
					elseif rearindc == "Red" then
						v.Color = Color3.fromRGB(241, 57, 60)
					elseif rearindc == "Dark Orange" then
						v.Color = Color3.fromRGB(198, 107, 54)
					else
						v.Color = rearindc
					end
				end
				v.Transparency = 1
			end
		end

		if platelighte then
			for i, v in pairs(lights.Plate:GetDescendants()) do
				if v.Name == "L" and v.Parent.Name == "Plate" and #v:GetChildren() < 1 then
					local sfc = Instance.new("SurfaceLight", v)
					sfc.Name = "L"
					sfc.Angle = 135
					sfc.Brightness = 0
					sfc.Range = 1
					sfc.Face = Enum.NormalId.Bottom
					sfc.Shadows = true
					if lowbeamc == "Pure White" then
						sfc.Color = Color3.fromRGB(255, 255, 255)
					elseif lowbeamc == "OEM White" then
						sfc.Color = Color3.fromRGB(255, 237, 199)
					elseif lowbeamc == "Xenon" then
						sfc.Color = Color3.fromRGB(205, 227, 255)
					elseif lowbeamc == "Brilliant Blue" then
						sfc.Color = Color3.fromRGB(74, 137, 255)
					elseif lowbeamc == "Light Green" then
						sfc.Color = Color3.fromRGB(175, 196, 196)
					elseif lowbeamc == "Golden Yellow" then
						sfc.Color = Color3.fromRGB(255, 239, 193)
					elseif lowbeamc == "Bubu's Purple" then
						sfc.Color = Color3.fromRGB(197, 197, 255)
					elseif lowbeamc == "Yellow" then
						sfc.Color = Color3.fromRGB(181, 178, 87)
					else
						sfc.Color = lowbeamc
					end
					sfc.Shadows = true
				elseif v.Name == "LN" then
					if v:IsA("MeshPart") then
						v.TextureID = ""
					end
					v.Material = Enum.Material.Neon
					if lowbeamc == "Pure White" then
						v.Color = Color3.fromRGB(255, 255, 255)
					elseif lowbeamc == "OEM White" then
						v.Color = Color3.fromRGB(255, 180, 161)
					elseif lowbeamc == "Xenon" then
						v.Color = Color3.fromRGB(226, 231, 255)
					elseif lowbeamc == "Brilliant Blue" then
						v.Color = Color3.fromRGB(97, 126, 255)
					elseif lowbeamc == "Light Green" then
						v.Color = Color3.fromRGB(165, 195, 196)
					elseif lowbeamc == "Golden Yellow" then
						v.Color = Color3.fromRGB(255, 169, 140)
					elseif lowbeamc == "Bubu's Purple" then
						v.Color = Color3.fromRGB(150, 146, 255)
					elseif lowbeamc == "Yellow" then
						v.Color = Color3.fromRGB(181, 178, 87)
					else
						v.Color = lowbeamc
					end
					v.Transparency = 1
				end
			end
		end

		if run_loc == "Low Beam / Indicators" then
			rl_loc = 1
		elseif run_loc == "Low Beam" then
			rl_loc = 2
		elseif run_loc == "Custom DRL" then
			rl_loc = 3
			for i, v in pairs(lights.Headlights.Running:GetDescendants()) do
				if v.Name == "LN" then
					if v:IsA("MeshPart") then
						v.TextureID = ""
					end
					v.Material = Enum.Material.Neon
					if runninglightc == "Pure White" then
						v.Color = Color3.fromRGB(255, 255, 255)
					elseif runninglightc == "OEM White" then
						v.Color = Color3.fromRGB(255, 180, 161)
					elseif runninglightc == "Xenon" then
						v.Color = Color3.fromRGB(226, 231, 255)
					elseif runninglightc == "Brilliant Blue" then
						v.Color = Color3.fromRGB(97, 126, 255)
					elseif runninglightc == "Light Green" then
						v.Color = Color3.fromRGB(165, 195, 196)
					elseif runninglightc == "Golden Yellow" then
						v.Color = Color3.fromRGB(255, 169, 140)
					elseif runninglightc == "Bubu's Purple" then
						v.Color = Color3.fromRGB(150, 146, 255)
					elseif runninglightc == "Yellow" then
						v.Color = Color3.fromRGB(181, 178, 87)
					else
						v.Color = runninglightc
					end
					v.Transparency = 1
				end
			end
		end

		for i, v in pairs(lights.Headlights.Low:GetChildren()) do
			if v.Name == "L" and v.Parent.Name == "Low" and #v:GetChildren() < 1 then
				local spot = Instance.new("SpotLight", v)
				spot.Angle = 180
				spot.Name = "L"
				spot.Brightness = 0
				spot.Range = 0
				spot.Face = Enum.NormalId.Front
				if lowbeamc == "Pure White" then
					spot.Color = Color3.fromRGB(255, 255, 255)
				elseif lowbeamc == "OEM White" then
					spot.Color = Color3.fromRGB(255, 237, 199)
				elseif lowbeamc == "Xenon" then
					spot.Color = Color3.fromRGB(205, 227, 255)
				elseif lowbeamc == "Brilliant Blue" then
					spot.Color = Color3.fromRGB(74, 137, 255)
				elseif lowbeamc == "Light Green" then
					spot.Color = Color3.fromRGB(175, 196, 196)
				elseif lowbeamc == "Golden Yellow" then
					spot.Color = Color3.fromRGB(255, 239, 193)
				elseif lowbeamc == "Bubu's Purple" then
					spot.Color = Color3.fromRGB(197, 197, 255)
				elseif lowbeamc == "Yellow" then
					spot.Color = Color3.fromRGB(181, 178, 87)
				else
					spot.Color = lowbeamc
				end
				spot.Shadows = true
			elseif v.Name == "LN" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				if lowbeamc == "Pure White" then
					v.Color = Color3.fromRGB(255, 255, 255)
				elseif lowbeamc == "OEM White" then
					v.Color = Color3.fromRGB(255, 180, 161)
				elseif lowbeamc == "Xenon" then
					v.Color = Color3.fromRGB(226, 231, 255)
				elseif lowbeamc == "Brilliant Blue" then
					v.Color = Color3.fromRGB(97, 126, 255)
				elseif lowbeamc == "Light Green" then
					v.Color = Color3.fromRGB(165, 195, 196)
				elseif lowbeamc == "Golden Yellow" then
					v.Color = Color3.fromRGB(255, 169, 140)
				elseif lowbeamc == "Bubu's Purple" then
					v.Color = Color3.fromRGB(150, 146, 255)
				elseif lowbeamc == "Yellow" then
					v.Color = Color3.fromRGB(181, 178, 87)
				else
					v.Color = lowbeamc
				end
				v.Transparency = 1
			end
		end

		for i, v in pairs(lights.Headlights.High:GetChildren()) do
			if v.Name == "L" and v.Parent.Name == "High" and #v:GetChildren() < 1 then
				local spot = Instance.new("SpotLight", v)
				spot.Name = "L"
				spot.Angle = 180
				spot.Brightness = 0
				spot.Range = 0
				spot.Face = Enum.NormalId.Front
				if highbeamc == "Pure White" then
					spot.Color = Color3.fromRGB(255, 255, 255)
				elseif highbeamc == "OEM White" then
					spot.Color = Color3.fromRGB(255, 237, 199)
				elseif highbeamc == "Xenon" then
					spot.Color = Color3.fromRGB(205, 227, 255)
				elseif highbeamc == "Brilliant Blue" then
					spot.Color = Color3.fromRGB(74, 137, 255)
				elseif highbeamc == "Light Green" then
					spot.Color = Color3.fromRGB(175, 196, 196)
				elseif highbeamc == "Golden Yellow" then
					spot.Color = Color3.fromRGB(255, 239, 193)
				elseif highbeamc == "Bubu's Purple" then
					spot.Color = Color3.fromRGB(197, 197, 255)
				elseif highbeamc == "Yellow" then
					spot.Color = Color3.fromRGB(181, 178, 87)
				else
					spot.Color = highbeamc
				end
				spot.Shadows = true
			elseif v.Name == "LN" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				if highbeamc == "Pure White" then
					v.Color = Color3.fromRGB(255, 255, 255)
				elseif highbeamc == "OEM White" then
					v.Color = Color3.fromRGB(255, 180, 161)
				elseif highbeamc == "Xenon" then
					v.Color = Color3.fromRGB(226, 231, 255)
				elseif highbeamc == "Brilliant Blue" then
					v.Color = Color3.fromRGB(97, 126, 255)
				elseif highbeamc == "Light Green" then
					v.Color = Color3.fromRGB(165, 195, 196)
				elseif highbeamc == "Golden Yellow" then
					v.Color = Color3.fromRGB(255, 169, 140)
				elseif highbeamc == "Bubu's Purple" then
					v.Color = Color3.fromRGB(150, 146, 255)
				elseif highbeamc == "Yellow" then
					v.Color = Color3.fromRGB(181, 178, 87)
				else
					v.Color = highbeamc
				end
				v.Transparency = 1
			end
		end

		if popupe and PHeadlights ~= nil then
			for i, v in pairs(PHeadlights.Parts.Headlights:GetChildren()) do
				if v.Name == "L" and #v:GetChildren() < 1 then
					local spot = Instance.new("SpotLight", v)
					spot.Name = "L"
					spot.Angle = 180
					spot.Brightness = 0
					spot.Range = 0
					spot.Face = Enum.NormalId.Front
					if lowbeamc == "Pure White" then
						spot.Color = Color3.fromRGB(255, 255, 255)
					elseif lowbeamc == "OEM White" then
						spot.Color = Color3.fromRGB(255, 237, 199)
					elseif lowbeamc == "Xenon" then
						spot.Color = Color3.fromRGB(205, 227, 255)
					elseif lowbeamc == "Brilliant Blue" then
						spot.Color = Color3.fromRGB(74, 137, 255)
					elseif lowbeamc == "Light Green" then
						spot.Color = Color3.fromRGB(175, 196, 196)
					elseif lowbeamc == "Golden Yellow" then
						spot.Color = Color3.fromRGB(255, 239, 193)
					elseif lowbeamc == "Bubu's Purple" then
						spot.Color = Color3.fromRGB(197, 197, 255)
					elseif lowbeamc == "Yellow" then
						spot.Color = Color3.fromRGB(181, 178, 87)
					else
						spot.Color = lowbeamc
					end
					spot.Shadows = true
				elseif v.Name == "LN" then
					if v:IsA("MeshPart") then
						v.TextureID = ""
					end
					v.Material = Enum.Material.Neon
					if lowbeamc == "Pure White" then
						v.Color = Color3.fromRGB(255, 255, 255)
					elseif lowbeamc == "OEM White" then
						v.Color = Color3.fromRGB(255, 180, 161)
					elseif lowbeamc == "Xenon" then
						v.Color = Color3.fromRGB(226, 231, 255)
					elseif lowbeamc == "Brilliant Blue" then
						v.Color = Color3.fromRGB(97, 126, 255)
					elseif lowbeamc == "Light Green" then
						v.Color = Color3.fromRGB(165, 195, 196)
					elseif lowbeamc == "Golden Yellow" then
						v.Color = Color3.fromRGB(255, 169, 140)
					elseif lowbeamc == "Bubu's Purple" then
						v.Color = Color3.fromRGB(150, 146, 255)
					elseif lowbeamc == "Yellow" then
						v.Color = Color3.fromRGB(181, 178, 87)
					else
						v.Color = lowbeamc
					end
					v.Transparency = 1
				end
			end
		end
		for i, v in pairs(lights.Fog:GetChildren()) do
			if v.Name == "L" and v.Parent.Name == "Fog" and #v:GetChildren() < 1 then
				local spot = Instance.new("SpotLight", v)
				spot.Name = "L"
				spot.Angle = 180
				spot.Brightness = 0
				spot.Range = 48
				spot.Face = Enum.NormalId.Front
				if foglightc == "Pure White" then
					spot.Color = Color3.fromRGB(255, 255, 255)
				elseif foglightc == "OEM White" then
					spot.Color = Color3.fromRGB(255, 237, 199)
				elseif foglightc == "Xenon" then
					spot.Color = Color3.fromRGB(205, 227, 255)
				elseif foglightc == "Brilliant Blue" then
					spot.Color = Color3.fromRGB(74, 137, 255)
				elseif foglightc == "Light Green" then
					spot.Color = Color3.fromRGB(175, 196, 196)
				elseif foglightc == "Golden Yellow" then
					spot.Color = Color3.fromRGB(255, 239, 193)
				elseif foglightc == "Bubu's Purple" then
					spot.Color = Color3.fromRGB(197, 197, 255)
				elseif foglightc == "Yellow" then
					spot.Color = Color3.fromRGB(181, 178, 87)
				else
					spot.Color = foglightc
				end
				spot.Shadows = true
			elseif v.Name == "LN" then
				if v:IsA("MeshPart") then
					v.TextureID = ""
				end
				v.Material = Enum.Material.Neon
				if foglightc == "Pure White" then
					v.Color = Color3.fromRGB(255, 255, 255)
				elseif foglightc == "OEM White" then
					v.Color = Color3.fromRGB(255, 180, 161)
				elseif foglightc == "Xenon" then
					v.Color = Color3.fromRGB(226, 231, 255)
				elseif foglightc == "Brilliant Blue" then
					v.Color = Color3.fromRGB(97, 126, 255)
				elseif foglightc == "Light Green" then
					v.Color = Color3.fromRGB(165, 195, 196)
				elseif foglightc == "Golden Yellow" then
					v.Color = Color3.fromRGB(255, 169, 140)
				elseif foglightc == "Bubu's Purple" then
					v.Color = Color3.fromRGB(150, 146, 255)
				elseif foglightc == "Yellow" then
					v.Color = Color3.fromRGB(181, 178, 87)
				else
					v.Color = foglightc
				end
				v.Transparency = 1
			end
		end

		if intlightse then
			for i, v in pairs(lights.Interior:GetChildren()) do
				if v.Name == "FrontL" then
					local spot = Instance.new("SpotLight", v)
					spot.Name = "L"
					print(spot.Parent.Name)
					spot.Angle = 135
					spot.Brightness = 0
					spot.Range = 0
					spot.Face = Enum.NormalId.Bottom
					if intlightsc == "Pure White" then
						spot.Color = Color3.fromRGB(255, 255, 255)
					elseif intlightsc == "OEM White" then
						spot.Color = Color3.fromRGB(255, 237, 199)
					elseif intlightsc == "Xenon" then
						spot.Color = Color3.fromRGB(205, 227, 255)
					elseif intlightsc == "Brilliant Blue" then
						spot.Color = Color3.fromRGB(74, 137, 255)
					elseif intlightsc == "Light Green" then
						spot.Color = Color3.fromRGB(175, 196, 196)
					elseif intlightsc == "Golden Yellow" then
						spot.Color = Color3.fromRGB(255, 239, 193)
					elseif intlightsc == "Bubu's Purple" then
						spot.Color = Color3.fromRGB(197, 197, 255)
					elseif intlightsc == "Yellow" then
						spot.Color = Color3.fromRGB(181, 178, 87)
					else
						spot.Color = intlightsc
					end
					spot.Shadows = true
				elseif v.Name == "CenterL" then
					local point = Instance.new("PointLight", v)
					point.Name = "L"
					point.Brightness = 0
					point.Range = 0
					if intlightsc == "Pure White" then
						point.Color = Color3.fromRGB(255, 255, 255)
					elseif intlightsc == "OEM White" then
						point.Color = Color3.fromRGB(255, 237, 199)
					elseif intlightsc == "Xenon" then
						point.Color = Color3.fromRGB(205, 227, 255)
					elseif intlightsc == "Brilliant Blue" then
						point.Color = Color3.fromRGB(74, 137, 255)
					elseif intlightsc == "Light Green" then
						point.Color = Color3.fromRGB(175, 196, 196)
					elseif intlightsc == "Golden Yellow" then
						point.Color = Color3.fromRGB(255, 239, 193)
					elseif intlightsc == "Bubu's Purple" then
						point.Color = Color3.fromRGB(197, 197, 255)
					elseif intlightsc == "Yellow" then
						point.Color = Color3.fromRGB(181, 178, 87)
					else
						point.Color = intlightsc
					end
					point.Shadows = true
				elseif v.Name == "CLN" or v.Name == "FLN" then
					if v:IsA("MeshPart") then
						v.TextureID = ""
					end
					v.Material = Enum.Material.Neon
					if highbeamc == "Pure White" then
						v.Color = Color3.fromRGB(255, 255, 255)
					elseif highbeamc == "OEM White" then
						v.Color = Color3.fromRGB(255, 180, 161)
					elseif highbeamc == "Xenon" then
						v.Color = Color3.fromRGB(226, 231, 255)
					elseif highbeamc == "Brilliant Blue" then
						v.Color = Color3.fromRGB(97, 126, 255)
					elseif highbeamc == "Light Green" then
						v.Color = Color3.fromRGB(165, 195, 196)
					elseif highbeamc == "Golden Yellow" then
						v.Color = Color3.fromRGB(255, 169, 140)
					elseif highbeamc == "Bubu's Purple" then
						v.Color = Color3.fromRGB(150, 146, 255)
					elseif highbeamc == "Yellow" then
						v.Color = Color3.fromRGB(181, 178, 87)
					else
						v.Color = highbeamc
					end
					v.Transparency = 1
				end
			end
		end
		print("EpicLights Version 3 // Setup completed!")
		isSetupCompleted = true
	end
	intLights()
end

F.SignalLeft = function(b, tp, t, seq, iseg)
	if tp == 0.71 then
		if t == "Halogen" then
			for i, v in pairs(lights.LeftInd:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, ind_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" and v.Parent.Name == "Rear" then
					TweenService:Create(v, ind_tweeninfo, {Transparency = 1}):Play()
				elseif v.Name == "LN" and v.Parent.Name == "Front" then
					TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.LeftInd:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" and v.Parent.Name == "Rear" then
					v.Transparency = 1
				elseif v.Name == "LN" and v.Parent.Name == "Front" then
					v.Transparency = tp
				end
			end
		end
	else
		if t == "Halogen" then
			if not seq then
				for i, v in pairs(lights.LeftInd:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						TweenService:Create(v, ind_tweeninfo, {Brightness = b}):Play()
					elseif v.Name == "LN" then
						TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
					end
				end
			else
				for i, v in pairs(lights.LeftInd:GetDescendants()) do
					if v:IsA("BasePart") or v:IsA("MeshPart") then
						if tp < 1 then
							if v.Name == "SI"..tostring(iseg) then
								TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
							end
						else
							if string.sub(v.Name, 1, 2) == "SI" then
								TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
							end
						end
					end
				end
			end
		elseif t == "LED" then
			if not seq then
				for i, v in pairs(lights.LeftInd:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
					elseif v.Name == "LN" then
						v.Transparency = tp
					end
				end
			else
				for i, v in pairs(lights.LeftInd:GetDescendants()) do
					if v:IsA("BasePart") or v:IsA("MeshPart") then
						if tp < 1 then
							if v.Name == "SI"..tostring(iseg) then
								v.Transparency = tp
							end
						else
							v.Transparency = tp
						end
					end
				end
			end
		end
	end
end

F.SignalRight = function(b, tp, t, seq, iseg)
	if tp == 0.71 then
		if t == "Halogen" then
			for i, v in pairs(lights.RightInd:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, ind_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" and v.Parent.Name == "Rear" then
					TweenService:Create(v, ind_tweeninfo, {Transparency = 1}):Play()
				elseif v.Name == "LN" and v.Parent.Name == "Front" then
					TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.RightInd:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" and v.Parent.Name == "Rear" then
					v.Transparency = 1
				elseif v.Name == "LN" and v.Parent.Name == "Front" then
					v.Transparency = tp
				end
			end
		end
	else
		if t == "Halogen" then
			if not seq then
				for i, v in pairs(lights.RightInd:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						TweenService:Create(v, ind_tweeninfo, {Brightness = b}):Play()
					elseif v.Name == "LN" then
						TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
					end
				end
			else
				for i, v in pairs(lights.RightInd:GetDescendants()) do
					if v:IsA("BasePart") or v:IsA("MeshPart") then
						if tp < 1 then
							if v.Name == "SI"..tostring(iseg) then
								TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
							end
						else
							if string.sub(v.Name, 1, 2) == "SI" then
								TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
							end
						end
					end
				end
			end
		elseif t == "LED" then
			if not seq then
				for i, v in pairs(lights.RightInd:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
					elseif v.Name == "LN" then
						v.Transparency = tp
					end
				end
			else
				for i, v in pairs(lights.RightInd:GetDescendants()) do
					if tp < 1 then
						if v.Name == "SI"..tostring(iseg) then
							v.Transparency = tp
						end
					else
						v.Transparency = tp
					end
				end
			end
		end
	end
end

F.Hazards = function(b, tp, t, seq, iseg)
	if tp == 0.71 then
		if t == "Halogen" then
			for i, v in pairs(lights.LeftInd:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, ind_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" and v.Parent.Name == "Rear" then
					TweenService:Create(v, ind_tweeninfo, {Transparency = 1}):Play()
				elseif v.Name == "LN" and v.Parent.Name == "Front" then
					TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
				end
			end
			for i, v in pairs(lights.RightInd:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, ind_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" and v.Parent.Name == "Rear" then
					TweenService:Create(v, ind_tweeninfo, {Transparency = 1}):Play()
				elseif v.Name == "LN" and v.Parent.Name == "Front" then
					TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.LeftInd:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" and v.Parent.Name == "Rear" then
					v.Transparency = 1
				elseif v.Name == "LN" and v.Parent.Name == "Front" then
					v.Transparency = tp
				end
			end
			for i, v in pairs(lights.RightInd:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" and v.Parent.Name == "Rear" then
					v.Transparency = 1
				elseif v.Name == "LN" and v.Parent.Name == "Front" then
					v.Transparency = tp
				end
			end
		end
	else
		if t == "Halogen" then
			if not seq then
				for i, v in pairs(lights.LeftInd:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						TweenService:Create(v, ind_tweeninfo, {Brightness = b}):Play()
					elseif v.Name == "LN" then
						TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
					end
				end
				for i, v in pairs(lights.RightInd:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						TweenService:Create(v, ind_tweeninfo, {Brightness = b}):Play()
					elseif v.Name == "LN" then
						TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
					end
				end
			else
				for i, v in pairs(lights.LeftInd:GetDescendants()) do
					if v:IsA("BasePart") or v:IsA("MeshPart") then
						if tp < 1 then
							if v.Name == "SI"..tostring(iseg) then
								TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
							end
						else
							if string.sub(v.Name, 1, 2) == "SI" then
								TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
							end
						end
					end
				end
				for i, v in pairs(lights.RightInd:GetDescendants()) do
					if v:IsA("BasePart") or v:IsA("MeshPart") then
						if tp < 1 then
							if v.Name == "SI"..tostring(iseg) then
								TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
							end
						else
							if string.sub(v.Name, 1, 2) == "SI" then
								TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
							end
						end
					end
				end
			end
		elseif t == "LED" then
			if not seq then
				for i, v in pairs(lights.LeftInd:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
					elseif v.Name == "LN" then
						v.Transparency = tp
					end
				end
				for i, v in pairs(lights.RightInd:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
					elseif v.Name == "LN" then
						v.Transparency = tp
					end
				end
			else
				for i, v in pairs(lights.LeftInd:GetDescendants()) do
					if v:IsA("BasePart") or v:IsA("MeshPart") then
						if tp < 1 then
							if v.Name == "SI"..tostring(iseg) then
								v.Transparency = tp
							end
						else
							v.Transparency = tp
						end
					end
				end
				for i, v in pairs(lights.RightInd:GetDescendants()) do
					if v:IsA("BasePart") or v:IsA("MeshPart") then
						if tp < 1 then
							if v.Name == "SI"..tostring(iseg) then
								v.Transparency = tp
							end
						else
							v.Transparency = tp
						end
					end
				end
			end
		end
	end
end

F.Headlights = function(b, tp, r, rl_a, pe, t, ls)
	if not pe then
		if t == "Halogen" then
			if rl_a and ls == 0 then
				if rl_loc == 1 then
					for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
						end
					end
					for i, v in pairs(lights.RightInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
						end
					end
					for i, v in pairs(lights.Headlights.Low:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
						end
					end
					for i, v in pairs(lights.Headlights.High:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
						end
					end
				elseif rl_loc == 2 then
					for i, v in pairs(lights.Headlights.Low:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
						end
					end
					for i, v in pairs(lights.Headlights.High:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
						end
					end
				end
				for i, v in pairs(lights.Headlights:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						if v.Parent.Name == "High" then
							TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
						elseif v.Parent.Name == "Low" and rl_loc ~= 2 and rl_loc ~= 1 then
							TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
						end
					end
				end
			elseif not rl_a and ls == 0 then
				if rl_loc == 1 then
					for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
						end
					end
					for i, v in pairs(lights.RightInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
						end
					end
					for i, v in pairs(lights.Headlights.Low:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
						end
					end
				elseif rl_loc == 2 then
					for i, v in pairs(lights.Headlights.Low:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
						end
					end
				end
				for i, v in pairs(lights.Headlights:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						if v.Parent.Name == "High" then
							TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
						elseif v.Parent.Name == "Low" and rl_loc ~= 2 and rl_loc ~= 1 then
							TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
						end
					end
				end
			elseif ls == 1 then
				if rl_loc == 1 then
					for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
						end
					end
					for i, v in pairs(lights.RightInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
						end
					end
				end
				for i, v in pairs(lights.Headlights.Low:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
					end
				end
				for i, v in pairs(lights.Headlights.High:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
			elseif ls == 2 then
				for i, v in pairs(lights.Headlights.Low:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
					end
				end
				for i, v in pairs(lights.Headlights.High:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
					end
				end
			end
		elseif t == "LED" then
			if rl_a and ls == 0 then
				if rl_loc == 1 then
					for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 0.71
						end
					end
					for i, v in pairs(lights.RightInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 0.71
						end
					end
					for i, v in pairs(lights.Headlights.Low:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 0.71
						end
					end
					for i, v in pairs(lights.Headlights.High:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 1
						end
					end
				elseif rl_loc == 2 then
					for i, v in pairs(lights.Headlights.Low:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 0.71
						end
					end
					for i, v in pairs(lights.Headlights.High:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 1
						end
					end
				end
				for i, v in pairs(lights.Headlights:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						if v.Parent.Name == "High" then
							v.Transparency = tp
						elseif v.Parent.Name == "Low" and rl_loc ~= 2 and rl_loc ~= 1 then
							v.Transparency = tp
						end
					end
				end
			elseif not rl_a and ls == 0 then
				if rl_loc == 1 then
					for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 1
						end
					end
					for i, v in pairs(lights.RightInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 1
						end
					end
					for i, v in pairs(lights.Headlights.Low:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 1
						end
					end
				elseif rl_loc == 2 then
					for i, v in pairs(lights.Headlights.Low:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 1
						end
					end
				end
				for i, v in pairs(lights.Headlights:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						if v.Parent.Name == "High" then
							v.Transparency = tp
						elseif v.Parent.Name == "Low" and rl_loc ~= 2 and rl_loc ~= 1 then
							v.Transparency = tp
						end
					end
				end
			elseif ls == 1 then
				if rl_loc == 1 then
					for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 0.71
						end
					end
					for i, v in pairs(lights.RightInd.Front:GetChildren()) do
						if v:IsA("MeshPart") and v.Name == "LN" then
							v.Transparency = 0.71
						end
					end
				end
				for i, v in pairs(lights.Headlights.Low:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = tp
					end
				end
				for i, v in pairs(lights.Headlights.High:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = 1
					end
				end
			elseif ls == 2 then
				for i, v in pairs(lights.Headlights.Low:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = tp
					end
				end
				for i, v in pairs(lights.Headlights.High:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = tp
					end
				end
			end
		elseif not rl_a and ls == 0 then
			if rl_loc == 1 then
				for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = 1
					end
				end
				for i, v in pairs(lights.RightInd.Front:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = 1
					end
				end
				for i, v in pairs(lights.Headlights.Low:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = 1
					end
				end
			elseif rl_loc == 2 then
				for i, v in pairs(lights.Headlights.Low:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = 1
					end
				end
			end
			for i, v in pairs(lights.Headlights:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
					v.Range = r
				elseif v:IsA("MeshPart") and v.Name == "LN" then
					if v.Parent.Name == "High" then
						v.Transparency = tp
					elseif v.Parent.Name == "Low" and rl_loc ~= 2 and rl_loc ~= 1 then
						v.Transparency = tp
					end
				end
			end
			if ls == 1 then
				for i, v in pairs(lights.Headlights.Low:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = b
						v.Range = r
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = tp
					end
				end
				for i, v in pairs(lights.Headlights.High:GetDescendants()) do
					if v:IsA("Light") and v.Name == "L" then
						v.Brightness = 0
						v.Range = 0
					elseif v:IsA("MeshPart") and v.Name == "LN" then
						v.Transparency = 1
					end
				end

			end
		end
	else
		if rl_a and ls == 0 then
			if rl_loc == 1 then
				for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
					end
				end
				for i, v in pairs(lights.RightInd.Front:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
					end
				end
				for i, v in pairs(lights.Headlights.Low:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
					end
				end
				for i, v in pairs(PHeadlights.Parts.Headlights:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
			elseif rl_loc == 2 then
				for i, v in pairs(lights.Headlights.Low:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
					end
				end
				for i, v in pairs(PHeadlights.Parts.Headlights:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
			else
				for i, v in pairs(lights.Headlights.Running:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
					end
				end
				for i, v in pairs(PHeadlights.Parts.Headlights:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
			end
			for i, v in pairs(lights.Headlights:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
					v.Range = r
				elseif v:IsA("MeshPart") and v.Name == "LN" then
					if v.Parent.Name == "High" then
						TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
					elseif v.Parent.Name == "Low" and rl_loc ~= 2 and rl_loc ~= 1 then
						TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
					end
				end
			end
			for i, v in pairs(PHeadlights.Parts.Headlights:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
					v.Range = r
				end
			end
		elseif not rl_a and ls == 0 then
			if rl_loc == 1 then
				for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
				for i, v in pairs(lights.RightInd.Front:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
				for i, v in pairs(lights.Headlights.Low:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
				for i, v in pairs(PHeadlights.Parts.Headlights:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
			elseif rl_loc == 2 then
				for i, v in pairs(lights.Headlights.Low:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
				for i, v in pairs(PHeadlights.Parts.Headlights:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
			else
				for i, v in pairs(lights.Headlights.Running:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
				for i, v in pairs(PHeadlights.Parts.Headlights:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
					end
				end
			end
			for i, v in pairs(lights.Headlights:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
					v.Range = r
				elseif v:IsA("MeshPart") and v.Name == "LN" then
					if v.Parent.Name == "High" then
						TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
					elseif v.Parent.Name == "Low" and rl_loc ~= 2 and rl_loc ~= 1 then
						TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
					end
				end
			end
			for i, v in pairs(PHeadlights.Parts.Headlights:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
					v.Range = r
				end
			end
		elseif ls == 1 then
			if rl_loc == 1 then
				for i, v in pairs(lights.LeftInd.Front:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
					end
				end
				for i, v in pairs(lights.RightInd.Front:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
					end
				end
			elseif rl_loc == 3 then
				for i, v in pairs(lights.Headlights.Running:GetChildren()) do
					if v:IsA("MeshPart") and v.Name == "LN" then
						TweenService:Create(v, l_tweeninfo, {Transparency = 0.71}):Play()
					end
				end
			end
			for i, v in pairs(lights.Headlights.Low:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
					v.Range = r
				elseif v:IsA("MeshPart") and v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
			for i, v in pairs(PHeadlights.Parts.Headlights:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
					v.Range = r
				elseif v:IsA("MeshPart") and v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif ls == 2 then
			for i, v in pairs(lights.Headlights.Low:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
					v.Range = r
				elseif v:IsA("MeshPart") and v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
			for i, v in pairs(lights.Headlights.High:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
					v.Range = r
				elseif v:IsA("MeshPart") and v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
			for i, v in pairs(PHeadlights.Parts.Headlights:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
					v.Range = r
				elseif v:IsA("MeshPart") and v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
		end
	end
end

F.CustomDRL = function(s, t)
	if t == "Halogen" then
		if s then
			for i, v in pairs(lights.Headlights.Running:GetDescendants()) do
				if v:IsA("MeshPart") and v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = 0.02}):Play()
				end
			end
		else
			for i, v in pairs(lights.Headlights.Running:GetDescendants()) do
				if v:IsA("MeshPart") and v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
				end
			end
		end
	else
		if s then
			for i, v in pairs(lights.Headlights.Running:GetDescendants()) do
				if v:IsA("MeshPart") and v.Name == "LN" then
					v.Transparency = 0.02
				end
			end
		else
			for i, v in pairs(lights.Headlights.Running:GetDescendants()) do
				if v:IsA("MeshPart") and v.Name == "LN" then
					v.Transparency = 1
				end
			end
		end
	end
end

F.PlateLights = function(s, t)
	if s then
		if t == "Halogen" then
			for i, v in pairs(lights.Plate:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = 1}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = 0}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.Plate:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = 1
				elseif v.Name == "LN" then
					v.Transparency = 0
				end
			end
		end
	else
		if t == "Halogen" then
			for i, v in pairs(lights.Plate:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = 0}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.Plate:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = 0
				elseif v.Name == "LN" then
					v.Transparency = 1
				end
			end
		end
	end
end

F.Popups = function(state, enabled, hinge_angle)
	if enabled then
		local motor = PHeadlights.Hinge:WaitForChild("Motor")
		motor.MaxVelocity = 0.06

		if state then
			motor.DesiredAngle = hinge_angle
		elseif not state then
			motor.DesiredAngle = 0
		end
	end
end

F.FogLights = function(b, tp, t)
	if t == "Halogen" then
		for i, v in pairs(lights.Fog:GetDescendants()) do
			if v:IsA("Light") and v.Name == "L" then
				TweenService:Create(v, ind_tweeninfo, {Brightness = b}):Play()
			elseif v.Name == "LN" then
				TweenService:Create(v, ind_tweeninfo, {Transparency = tp}):Play()
			end
		end
	elseif t == "LED" then
		for i, v in pairs(lights.Fog:GetDescendants()) do
			if v:IsA("Light") and v.Name == "L" then
				v.Brightness = b
			elseif v.Name == "LN" then
				v.Transparency = tp
			end
		end
	end
end

F.BrakeLights = function(t, b, tp, te)
	if not te then
		if t == "Halogen" then
			for i, v in pairs(lights.Brake:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.Brake:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" then
					v.Transparency = tp
				end
			end
		end
	else
		if t == "Halogen" then
			for i, v in pairs(lights.Brake:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
			for i, v in pairs(trunk.Brake:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.Brake:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" then
					v.Transparency = tp
				end
			end
			for i, v in pairs(trunk.Brake:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" then
					v.Transparency = tp
				end
			end
		end
	end
end

F.RearLights = function(t, b, tp, te)
	if not te then
		if t == "Halogen" then
			for i, v in pairs(lights.Rear:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.Rear:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" then
					v.Transparency = tp
				end
			end
		end
	else
		if t == "Halogen" then
			for i, v in pairs(lights.Rear:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
			for i, v in pairs(trunk.Rear:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.Rear:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" then
					v.Transparency = tp
				end
			end
			for i, v in pairs(trunk.Rear:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" then
					v.Transparency = tp
				end
			end
		end
	end
end

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

end

F.Reverse = function(t, b, tp, te)
	if not te then
		if t == "Halogen" then
			for i, v in pairs(lights.Reverse:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.Reverse:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" then
					v.Transparency = tp
				end
			end
		end
	else
		if t == "Halogen" then
			for i, v in pairs(lights.Reverse:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
			for i, v in pairs(trunk.Reverse:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					TweenService:Create(v, l_tweeninfo, {Brightness = b}):Play()
				elseif v.Name == "LN" then
					TweenService:Create(v, l_tweeninfo, {Transparency = tp}):Play()
				end
			end
		elseif t == "LED" then
			for i, v in pairs(lights.Reverse:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" then
					v.Transparency = tp
				end
			end
			for i, v in pairs(trunk.Reverse:GetDescendants()) do
				if v:IsA("Light") and v.Name == "L" then
					v.Brightness = b
				elseif v.Name == "LN" then
					v.Transparency = tp
				end
			end
		end
	end
end

function intLights()
	if intlights then
		local center_override = false
		local front_override = false
		local door_open = false
		local int_triggers = car.Body:FindFirstChild("InteriorTriggers")
		local event1 = int_triggers:FindFirstChild("OverrideTriggers")
		if #doors > 0 and doorFunction then
			for i, v in pairs(doors) do
				local event2 = v:FindFirstChild("EpicLightsDoor")
				event2.Event:Connect(function(s)
					door_open = s
					if s then
						for i, v in pairs(lights.Interior:GetDescendants()) do
							if v.Name == "L" and v:IsA("SpotLight") and not front_override then
								TweenService:Create(v, l_tweeninfo, {Brightness = 0.5, Range = 9}):Play()
							elseif v.Name == "L" and v:IsA("PointLight") and not center_override then
								TweenService:Create(v, l_tweeninfo, {Brightness = 0.5, Range = 9}):Play()
							elseif v.Name == "FLN" and not front_override then
								TweenService:Create(v, l_tweeninfo, {Transparency = 0.2}):Play()
							elseif v.Name == "CLN" and not center_override then
								TweenService:Create(v, l_tweeninfo, {Transparency = 0.2}):Play()
							end
						end
					else
						for i, v in pairs(lights.Interior:GetDescendants()) do
							if v.Name == "L" and v:IsA("SpotLight") and not front_override then
								TweenService:Create(v, l_tweeninfo, {Brightness = 0, Range = 0}):Play()
							elseif v.Name == "L" and v:IsA("PointLight") and not center_override then
								TweenService:Create(v, l_tweeninfo, {Brightness = 0, Range = 0}):Play()
							elseif v.Name == "FLN" and not front_override then
								TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
							elseif v.Name == "CLN" and not center_override then
								TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
							end
						end
					end
				end)
			end
		end
		event1.Event:Connect(function(s, t)
			if t == "Center" then
				center_override = s
				if not door_open then
					if s then
						for i, v in pairs(lights.Interior:GetDescendants()) do
							if v.Parent.Name == "CenterL" and v:IsA("PointLight") then
								TweenService:Create(v, l_tweeninfo, {Brightness = 0.5, Range = 9}):Play()
							elseif v.Name == "CLN" then
								TweenService:Create(v, l_tweeninfo, {Transparency = 0.2}):Play()
							end
						end
					else
						for i, v in pairs(lights.Interior:GetDescendants()) do
							if v.Parent.Name == "CenterL" and v:IsA("PointLight") then
								TweenService:Create(v, l_tweeninfo, {Brightness = 0, Range = 0}):Play()
							elseif v.Name == "CLN" then
								TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
							end
						end
					end
				end
			elseif t == "Front" then
				front_override = s
				if not door_open then
					if s then
						for i, v in pairs(lights.Interior:GetDescendants()) do
							if v.Parent.Name == "FrontL" and v:IsA("SpotLight") then
								TweenService:Create(v, l_tweeninfo, {Brightness = 0.5, Range = 9}):Play()
							elseif v.Name == "FLN" then
								TweenService:Create(v, l_tweeninfo, {Transparency = 0.2}):Play()
							end
						end
					else
						for i, v in pairs(lights.Interior:GetDescendants()) do
							if v.Parent.Name == "FrontL" and v:IsA("SpotLight") then
								TweenService:Create(v, l_tweeninfo, {Brightness = 0, Range = 0}):Play()
							elseif v.Name == "FLN" then
								TweenService:Create(v, l_tweeninfo, {Transparency = 1}):Play()
							end
						end
					end
				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) -- 1627 lines previously


Prompt:
--[=[
	Forces the value to be nil on cleanup, cleans up the Maid

	Does not fire the event since 3.5.0
]=]

Response:
function ValueObject:Destroy()
	rawset(self, "_value", nil)
	self._maid:DoCleaning()
	setmetatable(self, nil)
end

return ValueObject


Prompt: --WRITE YOUR ABILITIES HERE--

Response: hum.WalkSpeed = 40


Prompt:
--	if Character:IsA("Model") then
--		Character:BreakJoints()


Prompt:
-- May return NaN or inf or -inf
-- This is a way of finding the angle between the two vectors:

Response:
local function findAngleBetweenXZVectors(vec2, vec1)
	return math.atan2(vec1.X*vec2.Z-vec1.Z*vec2.X, vec1.X*vec2.X + vec1.Z*vec2.Z)
end

local function CreateAttachCamera()
	local module = RootCameraCreator()

	local lastUpdate = tick()
	function module:Update()
		local now = tick()

		local camera = 	workspace.CurrentCamera
		local player = PlayersService.LocalPlayer

		if lastUpdate == nil or now - lastUpdate > 1 then
			module:ResetCameraLook()
			self.LastCameraTransform = nil
		end

		local subjectPosition = self:GetSubjectPosition()
		if subjectPosition and player and camera then
			local zoom = self:GetCameraZoom()
			if zoom <= 0 then
				zoom = 0.1
			end

			if self.LastCameraTransform then
				local humanoid = self:GetHumanoid()
				if lastUpdate and humanoid and humanoid.Torso then
					local forwardVector = humanoid.Torso.CFrame.lookVector

					local y = findAngleBetweenXZVectors(forwardVector, self:GetCameraLook())
					if IsFinite(y) and math.abs(y) > 0.0001 then
						self.RotateInput = self.RotateInput + Vector2.new(y, 0)
					end
				end
			end
			local newLookVector = self:RotateCamera(self:GetCameraLook(), self.RotateInput)
			self.RotateInput = Vector2.new()

			camera.Focus = CFrame.new(subjectPosition)
			camera.CoordinateFrame = CFrame.new(camera.Focus.p - (zoom * newLookVector), camera.Focus.p)
			self.LastCameraTransform = camera.CoordinateFrame
		end
		lastUpdate = now
	end

	return module
end

return CreateAttachCamera


Prompt:
-- Shift to sprint script for Stamina System V1.
-- Delete if you don't want to use.

Response:
local UserInputService = game:GetService("UserInputService")
local StaminaModule = require(script.Parent.StaminaModule)
local TweenService = game:GetService("TweenService")
local player = game.Players.LocalPlayer

local defaultSpeed = 16
local belowStaminaSpeed = 18
local sprintSpeed = 24
local staminaDeductRate = 1
local staminaDeductInterval = 0.1
local minimumStaminaToSprint = 15
local sprinting = false
local regainDelay = 1
local belowStaminaDelay = 2

local function deductStamina()
	while sprinting and StaminaModule.StaminaValue.Value > 0 do
		local character = player.Character
		if character then
			local humanoid = character:WaitForChild("Humanoid")
			-- Only deduct stamina if the player is moving
			if humanoid.MoveDirection.Magnitude > 0 then
				StaminaModule.RemoveStamina(staminaDeductRate)
				StaminaModule.StaminaCanRegen = false
			else
				StaminaModule.StaminaCanRegen = true
			end
		end
		wait(staminaDeductInterval)
	end
end

local function tweenWalkSpeed(humanoid, speed, time)
	local info = TweenInfo.new(time)
	local tween = TweenService:Create(humanoid, info, {WalkSpeed = speed})
	tween:Play()
end

UserInputService.InputBegan:Connect(function(input)
	if input.KeyCode == Enum.KeyCode.LeftShift then
		local character = player.Character
		if character then
			local humanoid = character:WaitForChild("Humanoid")
			if StaminaModule.StaminaValue.Value >= minimumStaminaToSprint then
				tweenWalkSpeed(humanoid, sprintSpeed, 1)
				sprinting = true
				StaminaModule.StaminaCanRegen = false
				deductStamina()
			end
		end
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if input.KeyCode == Enum.KeyCode.LeftShift then
		local character = player.Character
		if character then
			local humanoid = character:WaitForChild("Humanoid")
			tweenWalkSpeed(humanoid, defaultSpeed, 1)
			sprinting = false
			wait(regainDelay)
			StaminaModule.StaminaCanRegen = true
		end
	end
end)

StaminaModule.StaminaValue:GetPropertyChangedSignal("Value"):Connect(function()
	local character = player.Character
	if character then
		local humanoid = character:WaitForChild("Humanoid")
		if StaminaModule.StaminaValue.Value < minimumStaminaToSprint and sprinting then
			tweenWalkSpeed(humanoid, belowStaminaSpeed, 2)
		end
		if StaminaModule.StaminaValue.Value <= 0 then
			tweenWalkSpeed(humanoid, defaultSpeed, 1)
			sprinting = false
			wait(belowStaminaDelay)
			StaminaModule.StaminaCanRegen = true
		end
	end
end)


Prompt: -- Colors

Response:
local FriendlyReticleColor = Color3.new(1, 0, 0)
local EnemyReticleColor	= Color3.new(1, 0, 0)
local NeutralReticleColor	= Color3.new(1, 0, 0)

local Spread = MinSpread
local AmmoInClip = ClipSize

local Tool = script.Parent
local Handle = WaitForChild(Tool, 'Handle')
local WeaponGui = nil

local LeftButtonDown
local Reloading = false
local IsShooting = false


Prompt: --Function For Making Rays Which Kills Bricks

Response:
function ray(angle,radius, orig)
	----------------SET POSITIONS
	local startPos = (orig * CFrame.new(0,0,3) ).p
	local secondPos = orig
					* CFrame.Angles(0, 0, math.rad(angle))
					* CFrame.new(radius,0,-6)

	----------------MAKE RAY
	local  damageRay = Ray.new	(startPos,(secondPos - startPos).p)
	local hit, position = game.Workspace:FindPartOnRayWithIgnoreList(damageRay, ignoreList)
	--if hit then print("Hit: "..hit.Name) else print("Hit: nil") end

	----------------DRAW RAY
	if makeRays then
		local distance = (position - startPos).magnitude
		makeRay(CFrame.new(startPos, secondPos.p) * CFrame.new(0, 0, -distance/2),
		Vector3.new(0.2, 0.2, distance))
	end

	if not hit then return end
	if hit.Name == "FakeTrack" then
		ignoreList[#ignoreList+1] = hit
		ray(angle,radius, orig)
		return
	end
	if not hit.Parent then return end
	local human = hit.Parent:findFirstChild("Humanoid")
	local player = game.Players:findFirstChild(hit.Parent.Name)
	if human and player then
		if player.TeamColor ~= BrickColor.new("Earth green") then
			human:takeDamage(110)
		end
	end

	if hit.Parent.Name == "Parts" then return end

	if hit.Parent.Parent then --look if what we hit is a tank
		tank = hit.Parent.Parent:findFirstChild("Tank")

		if not tank and hit.Parent.Parent.Parent then
			tank = hit.Parent.Parent.Parent:findFirstChild("Tank")
		end
	end

	if not tank or tank == parts.Parent.Parent.Tank then return end
	----------------IF ITS A DAMAGEABLE PART
	local damagable = hit.Parent:findFirstChild("Damage")
	if damagable then
		if damagable.Value == "Barrel" and not tank.Parent.GunDamaged.Value and math.random(1,8) == 1 then
			tank.Parent.GunDamaged.Value = true
			print("Damaged Barrel")

		elseif damagable.Value == "LTrack" and not tank.Parent.LTrack.Value and math.random(1,8) == 1 then
			tank.Parent.LTrack.Value = true
			print("Damaged Left Track")

			local list = hit.Parent:getChildren()
			local randSide = math.random(1,2)
			for i = 1, #list do
				if list[i].Name == ("trackDamage"..randSide) then
					list[i].Transparency = 1
				end
			end
		elseif damagable.Value == "RTrack" and not tank.Parent.RTrack.Value and math.random(1,8) == 1 then
			tank.Parent.RTrack.Value = true
			print("Damaged Right Track")

			local list = hit.Parent:getChildren()
			local randSide = math.random(1,2)
			for i = 1, #list do
				if list[i].Name == ("trackDamage"..randSide) then
					list[i].Transparency = 1
				end
			end
		end

	elseif hit.Name == "Fuel" then --if we hit their weak point
		tank.Value = BrickColor.new("Black")
	else
		local damage = hit:findFirstChild("Damage")	--Check if There's a Damage Value Already in the Brick
		if not damage then
			damage = Instance.new("NumberValue")
			damage.Parent = hit
			damage.Name = "Damage"
			local volume = hit.Size.X*hit.Size.Y*hit.Size.Z
			damage.Value = volume*hit.Parent.ArmourValue.Value
		end
		damage.Value = damage.Value - dealingDamage
		if damage.Value <= 0 then
			if math.random(1,2) == 1 then
				hit:BreakJoints()
			else
				hit:remove()
			end
		end
	end
end

round					= Instance.new("Part", user)
round.Name				= "RayPart"
round.Material          = "Neon"
round.Transparency		= 0.5
round.Anchored			= true
round.CanCollide		= false
round.TopSurface		= Enum.SurfaceType.Smooth
round.BottomSurface		= Enum.SurfaceType.Smooth
round.formFactor		= Enum.FormFactor.Custom
round.BrickColor		= BrickColor.new("Bright blue")
yOffset					= -0.2


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
local v1 = {};
DebugLogger = {};
function DebugLogger.new(p1, p2)
	local v2 = p2 and typeof(p2) == "string";
	assert(v2, "Invalid script name");
	local v3 = {
		scriptName = p2
	};
	setmetatable(v3, p1);
	p1.__index = p1;
	return v3;
end;
function DebugLogger.Log(p3, p4, p5)
	pcall(function()
		local v4 = p3.scriptName .. " - " .. p4 .. " called with parameters ";
		for v5, v6 in pairs(p5) do
			v4 = v4 .. tostring(v5) .. " : " .. tostring(v6) .. ", ";
		end;
		print(v4);
	end);
end;
function DebugLogger.LogFunctionCall(p6, p7, p8)
	p6:Log(p7, p8);
end;
function DebugLogger.LogString(p9, p10)
	pcall(function()
		print(p9.scriptName .. " - " .. p10);
	end);
end;
v1.DebugLogger = DebugLogger;
return v1;


Prompt:
--[[
	REFERENCE:
		command_full_name: The name of a command (e.g. :cmds)

	[command_full_name] = {
		Player = 0;
		Server = 0;
		Cross = 0;
	}
]]

Response:
}

settings.HttpWait = 60					-- How long things that use the HttpService will wait before updating again
settings.Trello_Enabled = false			-- Are the Trello features enabled?
settings.Trello_Primary = ""			-- Primary Trello board
settings.Trello_Secondary = {}			-- Secondary Trello boards (read-only)		Format: {"BoardID";"BoardID2","etc"}
settings.Trello_AppKey = ""				-- Your Trello AppKey						  	Link: https://trello.com/app-key
settings.Trello_Token = ""				-- Trello token (DON'T SHARE WITH ANYONE!)    Link: https://trello.com/1/connect?name=Trello_API_Module&response_type=token&expires=never&scope=read,write&key=YOUR_APP_KEY_HERE

settings.G_API = true					-- If true allows other server scripts to access certain functions described in the API module through _G.Adonis
settings.G_Access = false				-- If enabled allows other scripts to access Adonis using _G.Adonis.Access; Scripts will still be able to do things like _G.Adonis.CheckAdmin(player)
settings.G_Access_Key = "Example_Key"	-- Key required to use the _G access API; Example_Key will not work for obvious reasons
settings.G_Access_Perms = "Read" 		-- Access perms
settings.Allowed_API_Calls = {
	Client = false;				-- Allow access to the Client (not recommended)
	Settings = false;			-- Allow access to settings (not recommended)
	DataStore = false;			-- Allow access to the DataStore (not recommended)
	Core = false;				-- Allow access to the script's core table (REALLY not recommended)
	Service = false;			-- Allow access to the script's service metatable
	Remote = false;				-- Communication table
	HTTP = false; 				-- HTTP related things like Trello functions
	Anti = false;				-- Anti-Exploit table
	Logs = false;
	UI = false;					-- Client UI table
	Admin = false;				-- Admin related functions
	Functions = false;			-- Functions table (contains functions used by the script that don't have a subcategory)
	Variables = true;			-- Variables table
	API_Specific = true;		-- API Specific functions
}

settings.FunCommands = true				-- Are fun commands enabled?
settings.PlayerCommands = true			-- Are player-level utility commands enabled?
settings.CommandFeedback = false		-- Should players be notified when commands with non-obvious effects are run on them?
settings.CrossServerCommands = true		-- Are commands which affect more than one server enabled?
settings.ChatCommands = true			-- If false you will not be able to run commands via the chat; Instead you MUST use the console or you will be unable to run commands
settings.CreatorPowers = true			-- Gives me creator level admin; This is strictly used for debugging; I can't debug without full access to the script
settings.CodeExecution = true			-- Enables the use of code execution in Adonis; Scripting related (such as :s) and a few other commands require this
settings.SilentCommandDenials = false	-- If true, there will be no differences between the error messages shown when a user enters an invalid command and when they have insufficient permissions for the command

settings.BanMessage = "Banned"				-- Message shown to banned users upon kick
settings.LockMessage = "Not Whitelisted"	-- Message shown to people when they are kicked while the game is :slocked
settings.SystemTitle = "System Message"		-- Title to display in :sm and :bc

settings.MaxLogs = 5000			-- Maximum logs to save before deleting the oldest
settings.SaveCommandLogs = true	-- If command logs are saved to the datastores
settings.Notification = true	-- Whether or not to show the "You're an admin" and "Updated" notifications
settings.SongHint = true		-- Display a hint with the current song name and ID when a song is played via :music
settings.TopBarShift = false	-- By default hints and notifs will appear from the top edge of the window, this is acheived by offsetting them by -35 into the transparent region where roblox buttons menu/chat/leaderstat buttons are. Set this to true if you don't want hints/notifs to appear in that region.
settings.Messages = {}			-- A list of notification messages to show HeadAdmins and above on join
settings.AutoClean = false		-- Will auto clean workspace of things like hats and tools
settings.AutoCleanDelay = 60	-- Time between auto cleans
settings.AutoBackup = false 	-- Run :backupmap automatically when the server starts. To restore the map, run :restoremap

settings.Console = true				-- Whether the command console is enabled
settings.Console_AdminsOnly = false -- If true, only admins will be able to access the console

settings.HelpSystem = true		-- Allows players to call admins for help using !help
settings.HelpButton = true    -- Shows a little help button in the bottom right corner.
settings.HelpButtonImage = "rbxassetid://357249130" -- Change this to change the help button's image

settings.DonorCapes = true 		-- Donors get to show off their capes; Not disruptive :)
settings.DonorCommands = true	-- Show your support for the script and let donors use harmless commands like !sparkles
settings.LocalCapes = false	 	-- Makes Donor capes local so only the donors see their cape [All players can still disable capes locally]

settings.Detection = true			-- Attempts to detect certain known exploits
settings.CheckClients = true		-- Checks clients every minute or two to make sure they are still active

settings.ExploitNotifications = true        -- Notify all moderators and higher ups when a player is kicked or crashed from the AntiExploit
settings.CharacterCheckLogs = false		-- If the character checks appear in exploit logs and exploit notifications
settings.AntiNoclip = false			-- Attempts to detect noclipping and kills the player if found
settings.AntiRootJointDeletion = false		-- Attempts to detect paranoid and kills the player if found
settings.AntiHumanoidDeletion = false -- (Very important) Prevents invalid humanoid deletion. Un-does the deletion and kills the player
settings.AntiMultiTool = false -- Prevents multitooling and because of that many other exploits
settings.AntiGod = false -- If a player does not respawn when they should have they get respawned
settings.AntiSpeed = true 			-- (Client-Sided) Attempts to detect speed exploits
settings.AntiBuildingTools = false	-- (Client-Sided) Attempts to detect any HopperBin(s)/Building Tools added to the client
settings.AntiClientIdle = false 		-- (Client-Sided) Kick the player if they are using an anti-idle exploit
settings.ProtectHats = false 				-- Prevents hats from being un-welded from their characters through unnormal means


Prompt: -- Detectors

Response:
local handler = DriveSeat.AirbagFilter

local side = nil
local sent = false
local speedVar = nil
function handle(x, y)
	if x == nil then print('Errored!') end
	if sent == false then
		if speedVar > 20 and DriveSeat.Parent.Electrics.Value == true then
			if y.CanCollide == true then
				handler:FireServer(x)
				print('fired to remote')
				script.Parent.epicFrame.Visible = true
				DriveSeat.FE_Lights:FireServer('blinkers', 'Hazards')
				wait(2)
				sent = false
			end
		end
	end
end


Prompt: -- Settings

Response:
local amientReverb : EnumItem = Enum.ReverbType.Alley

local bubbleChatEnabled : boolean = false

local gravity : number = 196.2 -- 35 is realistic

local walkSpeed : number = 16 -- 17 is good for low gravity
local jumpPower : number = 50 -- 16 is good for low gravity
local respawnTime : number = 5 -- 1 is enough

local clockTime : number = 0
local fogColor : Color3 = Color3.fromRGB(0, 0, 0)
local fogEnd : number = 150
local fogStart : number = 0


Prompt: --Fuction that plays when we click the button.

Response:
Button.MouseClick:Connect(function(player)
	local newcode = game.ReplicatedStorage:WaitForChild("CodeDoor"):InvokeClient(player)  --we invoke the players client and wait until they return the code

	if newcode == Code.Value then
		print('correct')
		Light.Color = Color3.fromRGB(73, 181, 71)					--Light (part) color changes
		Light.PointLight.Color = Color3.fromRGB(73, 181, 71)		--PointLight color changes (optional, disabled by default)
		script.Parent.Parent.Lock.Disabled = false
		script.Parent.Button:Destroy()
	else 		--If the code is not correct, we just print "incorrect"
		print('incorrect')
	end
end)


Prompt: --Made by Stickmasterluke

Response:
sp=script.Parent

db=true

firerate=22
power=50
rate=1/30

debris=game:GetService("Debris")
equipped=false
check=true

local event = script.Parent:WaitForChild("RemoteEvent")

function onEquipped(mouse)
	equipped=true
	if mouse~=nil then
		mouse.Button1Down:connect(function()
			if db then
			event:FireServer(mouse.Hit,check)
			db=false
			wait(firerate)
			db=true
			end
		end)
	end
end

function onUnequipped()
	equipped=false
	sp.Handle.Transparency=1
end

sp.Equipped:connect(onEquipped)
sp.Unequipped:connect(onUnequipped)


Prompt:
--LIBS
-- RANDOM
---- WeightedRandom(t, default)
----- Uses a simple weighted random technique to choose
-----  a table value based on its weight.
----- Syntax for the table must be like this:
------ { Value = [value], Weight = [weight] }
----- The function will return the Value key of the
-----  chosen table.
----- You may specify a default value if you are
-----  completely insane.
---- TrueRandom(min, max)
----- Multiplies the min and max by 100, uses math.random
-----  on those, and then divides the result by 100
----- Mostly just did this to get finer granularity from
-----  random numbers
-- TABLES
---- IndexOf(t, obj)
----- Given a table t, returns the index of the specified
-----  object obj, assuming the object is in the table.
----- By default, returns 0.
---- Contains(t, obj)
----- Returns a boolean representing whether or not the
-----  specified object is in the table.
-- VECTOR3
---- Half(vector)
----- Just halves a vector with a "/ 2"
----- Don't know why I needed this.
---- Distance(vec1, vec2)
----- Returns the distance between two vectors.


Prompt: --// Positioning

Response:
	RightArmPos = CFrame.new(-0.902175903, 0.295501232, -1.32277012, 1, 0, 0, 0, 1.19248806e-08, 1, 0, -1, 1.19248806e-08);
	LeftArmPos = CFrame.new(1.06851184, 0.973718464, -1.99667926, 0.787567914, -0.220087856, -0.575584888, -0.615963876, -0.308488727, 0.724860668, 0.0180283934, -0.925416589, -0.378522098);
	GunPos = CFrame.new(0.284460306, -0.318524063, 1.06423128, 1, 0, 0, 0, -2.98023224e-08, -0.99999994, 0, 0.99999994, -2.98023224e-08);


Prompt:
--[=[
	Initializes a new promise with the given function in a spawn wrapper.

	@param func (resolve: (...) -> (), reject: (...) -> ()) -> ()?
	@return Promise<T>
]=]

Response:
function Promise.spawn(func)
	local self = Promise.new()

	task.spawn(func, self:_getResolveReject())

	return self
end


Prompt: -- MODULES --

Response:
local bezierTween = require(Modules.BezierTweens)
local Waypoints = bezierTween.Waypoints
local partCacheMod = require(Modules.PartCache)


Prompt: -- Main

Response:
game:GetService("RunService").Heartbeat:Connect(function()
	for f, g in pairs(game:GetService("Players"):GetChildren()) do
		Checker(g)
	end
end


Prompt: -- services

Response:
local ReplicatedStorage	= game:GetService("ReplicatedStorage")
local RunService		= game:GetService("RunService")
local Workspace			= game:GetService("Workspace")
local Players			= game:GetService("Players")


Prompt:
-- BEHAVIOUR
--Controller support

Response:
coroutine.wrap(function()

	-- Create PC 'Enter Controller Mode' Icon
	runService.Heartbeat:Wait() -- This is required to prevent an infinite recursion
	local Icon = require(iconModule)
	local controllerOptionIcon = Icon.new()
		:setProperty("internalIcon", true)
		:setName("_TopbarControllerOption")
		:setOrder(100)
		:setImage(11162828670)
		:setRight()
		:setEnabled(false)
		:setTip("Controller mode")
		:setProperty("deselectWhenOtherIconSelected", false)

	-- This decides what controller widgets and displays to show based upon their connected inputs
	-- For example, if on PC with a controller, give the player the option to enable controller mode with a toggle
	-- While if using a console (no mouse, but controller) then bypass the toggle and automatically enable controller mode
	userInputService:GetPropertyChangedSignal("MouseEnabled"):Connect(IconController._determineControllerDisplay)
	userInputService.GamepadConnected:Connect(IconController._determineControllerDisplay)
	userInputService.GamepadDisconnected:Connect(IconController._determineControllerDisplay)
	IconController._determineControllerDisplay()

	-- Enable/Disable Controller Mode when icon clicked
	local function iconClicked()
		local isSelected = controllerOptionIcon.isSelected
		local iconTip = (isSelected and "Normal mode") or "Controller mode"
		controllerOptionIcon:setTip(iconTip)
		IconController._enableControllerMode(isSelected)
	end
	controllerOptionIcon.selected:Connect(iconClicked)
	controllerOptionIcon.deselected:Connect(iconClicked)

	-- Hide/show topbar when indicator action selected in controller mode
	userInputService.InputBegan:Connect(function(input,gpe)
		if not IconController.controllerModeEnabled then return end
		if input.KeyCode == Enum.KeyCode.DPadDown then
			if not guiService.SelectedObject and checkTopbarEnabledAccountingForMimic() then
				IconController.setTopbarEnabled(true,false)
			end
		elseif input.KeyCode == Enum.KeyCode.ButtonB and not IconController.disableButtonB then
			if IconController.activeButtonBCallbacks == 1 and TopbarPlusGui.Indicator.Image == "rbxassetid://5278151556" then
				IconController.activeButtonBCallbacks = 0
				guiService.SelectedObject = nil
			end
			if IconController.activeButtonBCallbacks == 0 then
				IconController._previousSelectedObject = guiService.SelectedObject
				IconController._setControllerSelectedObject(nil)
				IconController.setTopbarEnabled(false,false)
			end
		end
		input:Destroy()
	end)

	-- Setup overflow icons
	for alignment, detail in pairs(alignmentDetails) do
		if alignment ~= "mid" then
			local overflowName = "_overflowIcon-"..alignment
			local overflowIcon = Icon.new()
				:setProperty("internalIcon", true)
				:setImage(6069276526)
				:setName(overflowName)
				:setEnabled(false)
			detail.overflowIcon = overflowIcon
			overflowIcon.accountForWhenDisabled = true
			if alignment == "left" then
				overflowIcon:setOrder(math.huge)
				overflowIcon:setLeft()
				overflowIcon:set("dropdownAlignment", "right")
			elseif alignment == "right" then
				overflowIcon:setOrder(-math.huge)
				overflowIcon:setRight()
				overflowIcon:set("dropdownAlignment", "left")
			end
			overflowIcon.lockedSettings = {
				["iconImage"] = true,
				["order"] = true,
				["alignment"] = true,
			}
		end
	end

	-- This checks if voice chat is enabled
	task.defer(function()
		local success, enabledForUser
		while true do
			success, enabledForUser = pcall(function() return voiceChatService:IsVoiceEnabledForUserIdAsync(localPlayer.UserId) end)
			if success then
				break
			end
			task.wait(1)
		end
		local function checkVoiceChatManuallyEnabled()
			if IconController.voiceChatEnabled then
				if success and enabledForUser then
					voiceChatIsEnabledForUserAndWithinExperience = true
					IconController.updateTopbar()
				end
			end
		end
		checkVoiceChatManuallyEnabled()

		--------------- FEEL FREE TO DELETE THIS IS YOU DO NOT USE VOICE CHAT WITHIN YOUR EXPERIENCE ---------------
		localPlayer.PlayerGui:WaitForChild("TopbarPlus", 999)
		task.delay(10, function()
			checkVoiceChatManuallyEnabled()
			if IconController.voiceChatEnabled == nil and success and enabledForUser and isStudio then
				warn("⚠TopbarPlus Action Required⚠ If VoiceChat is enabled within your experience it's vital you set IconController.voiceChatEnabled to true ``require(game.ReplicatedStorage.Icon.IconController).voiceChatEnabled = true`` otherwise the BETA label will not be accounted for within your live servers. This warning will disappear after doing so. Feel free to delete this warning if you have not enabled VoiceChat within your experience.")
			end
		end)
		------------------------------------------------------------------------------------------------------------

	end)

	if not isStudio then
		local ownerId = game.CreatorId
		local groupService = game:GetService("GroupService")
		if game.CreatorType == Enum.CreatorType.Group then
			local success, ownerInfo = pcall(function() return groupService:GetGroupInfoAsync(game.CreatorId).Owner end)
			if success then
				ownerId = ownerInfo.Id
			end
		end
		local version = require(iconModule.VERSION)
		if localPlayer.UserId ~= ownerId then
			local marketplaceService = game:GetService("MarketplaceService")
			local success, placeInfo = pcall(function() return marketplaceService:GetProductInfo(game.PlaceId) end)
			if success and placeInfo then
				-- Required attrbute for using TopbarPlus
				-- This is not printed within stuido and to the game owner to prevent mixing with debug prints
				local gameName = placeInfo.Name
				print(("\n\n\n⚽ %s uses TopbarPlus %s\n🍍 TopbarPlus was developed by ForeverHD and the Nanoblox Team\n🚀 You can learn more and take a free copy by searching for 'TopbarPlus' on the DevForum\n\n"):format(gameName, version))
			end
		end
	end

end)()


Prompt: --------------------) Settings

Response:
Damage = 0 -- the ammout of health the player or mob will take

Cooldown = 10 -- cooldown for use of the tool again

ZoneModelName = "Spin string" -- name the zone model

MobHumanoidName = "Humanoid"-- the name of player or mob u want to damage


Prompt:
-- Constructs a new state. Should not be called directly.
-- @param Table or Instance
-- @param StateMachine
-- @return BaseState

Response:
function BaseState.New(stateFolder,StateMachine)
	local self = {}
	setmetatable(self,BaseState)

	self.stateFolder = stateFolder
	self.StateMachine = StateMachine

	self.handles = {}
	self.stateTime = 0
	self.offStateTime = 0

	return self
end


Prompt:
--PromptChained
--* very similar to PromptShown, except there are no responses.
--* that means there's a prompt following this prompt. the only
--* responsibility of this function is to call the clalback in
--* order to acknowledge that the chain should proceed. this
--* allows you to use your own timing scheme for how the chain
--* should proceed, with a continue button, arbitrary timing, etc.
--* promptTable is in the following format:
--* {
--* 	Line = "The prompt string.",
--* 	Data = [the data from the prompt node],
--* }

Response:
function Interface.PromptChained(dialogueFolder, promptTable, callback)

end

return Interface


Prompt: -- Setup animation objects

Response:
function scriptChildModified(child)
	print(animTable)
	local fileList = animNames[child.Name]
	if (fileList ~= nil) then
		configureAnimationSet(child.Name, fileList)
	end
end

script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)


Prompt: -- Looking for how exactly to set up your background music? Open the Readme/Instructions script!

Response: local settings = {}


Prompt:
--[[
	The Enabler is a script that enables the Main script once it gets put into the Player's backpack. This script is needed
	because Roblox updates prevented the Tool from being enabled the first time the plane tool was selected.
]]

Response:
local Main = script.Parent.Main
repeat wait() until game.Players.LocalPlayer
Main.Disabled = false


Prompt: --[[Weight and CG]]

Response:
	Tune.Weight			= 6500		-- Total weight (in pounds)
	Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	 --[[Width]]		6		,
	 --[[Height]]		4		,
	 --[[Length]]		15		}
	Tune.WeightDist		= 50		-- Weight distribution (0 - on rear wheels, 100 - on front wheels, can be <0 or >100)
	Tune.CGHeight		= .8		-- Center of gravity height (studs relative to median of all wheels)
	Tune.WBVisible		= false		-- Makes the weight brick visible

	--Unsprung Weight
	Tune.FWheelDensity	= .1		-- Front Wheel Density
	Tune.RWheelDensity	= .1		-- Rear Wheel Density
	Tune.FWLgcyDensity	= 1			-- Front Wheel Density [PGS OFF]
	Tune.RWLgcyDensity	= 1			-- Rear Wheel Density [PGS OFF]

	Tune.AxleSize		= 2			-- Size of structural members (larger = MORE STABLE / carry more weight)
	Tune.AxleDensity	= .1		-- Density of structural members


Prompt:
--- Returns whether it should be possible to scope into the given item.
-- @returns boolean

Response:
local function IsItemScopable(Item)
    return Item:IsA('Model')
        or Item:IsA('Folder')
        or Item:IsA('Tool')
        or Item:IsA('Accessory')
        or Item:IsA('Accoutrement')
        or (Item:IsA('BasePart') and Item:FindFirstChildWhichIsA('BasePart', true))
end


Prompt: -- Table setup containing product IDs and functions for handling purchases

Response: local developerProductFunctions = {}


Prompt: --WRITE YOUR ABILITIES HERE--

Response: hum.WalkSpeed = 25


Prompt: -- UI elements

Response:
local intro = script.Parent:WaitForChild("Intro")
intro.Visible = true

local tokensLabel = script.Parent:WaitForChild("Tokens") -- the textlabel in our maingui
local tokens = game.Players.LocalPlayer:WaitForChild("Tokens") -- value with our tokens in the player object

wait(2)

game.Workspace.Camera.CameraType = Enum.CameraType.Scriptable
game.Workspace.Camera.CFrame = CFrame.new(game.Workspace.IntroTunnel.CameraOrigin.Position,game.Workspace.IntroTunnel.CameraFace.Position)

local topStatus = script.Parent:WaitForChild("TopStatus")
topStatus.Text = status.Value

status:GetPropertyChangedSignal("Value"):Connect(function()
	topStatus.Text = status.Value
end)

tokensLabel.Text = tokens.Value
tokens:GetPropertyChangedSignal("Value"):Connect(function()
	tokensLabel.Text = tokens.Value
end)

intro.Play.MouseButton1Click:Connect(function()
	if game.ReplicatedStorage.MapVoting.Value == true then
		script.Parent.MapVoting.Visible = true
	end

	intro.Visible = false
	topStatus.Visible = true
	game.ReplicatedStorage.MenuPlay:FireServer()
	game.Workspace.Camera.CameraType = Enum.CameraType.Custom
end)

game.ReplicatedStorage.KillFeed.OnClientEvent:Connect(function(text)
	script.Parent.KillFeed.Visible = true
	script.Parent.KillFeed.Text = text
	wait(2)
	script.Parent.KillFeed.Visible = false
end)

game.ReplicatedStorage.Announcement.OnClientEvent:Connect(function(text)
	script.Parent.Announcement.Text = text
	script.Parent.Announcement.Visible = true
	wait(5)
	script.Parent.Announcement.Visible = false
end)

intro.Store.MouseButton1Click:Connect(function()
	script.Parent:WaitForChild("Shop").Visible = true
	intro.Visible = false
end)

script.Parent:WaitForChild("ShopBtn").MouseButton1Click:Connect(function()
	script.Parent:WaitForChild("Shop").Visible = not script.Parent:WaitForChild("Shop").Visible
end)

script.Parent:WaitForChild("Shop"):WaitForChild("Close").MouseButton1Click:Connect(function()
	if game.Players.LocalPlayer:FindFirstChild("InMenu") then
		-- we know you are in the menu
		intro.Visible = true
	end
	script.Parent:WaitForChild("Shop").Visible = false
end)


Prompt: --face = "none",

Response:
},

toolbar = {
{name = "Rock",
lastSwing = 0,}, -- 1
{},  -- 2
{}, -- 3
{}, -- 4
{}, -- 5
{}, -- 6
}, -- end of toolbar

customRecipes = {},

ownedCosmetics = {},

} -- end of default data table

end, -- end of function
} -- end of module
return module


Prompt: --!strict

Response: local Find = require(script.Parent.find)


Prompt: -- / Functions / --

Response:
RagdollModule.SetupRagdoll = function(Character)
	for _, Joint in pairs(Character:GetDescendants()) do
		if Joint:IsA("Motor6D") then
			local A0 = Instance.new("Attachment")
			local A1 = Instance.new("Attachment")

			A0.Parent = Joint.Part0
			A1.Parent = Joint.Part1

			A0.CFrame = Joint.C0
			A1.CFrame = Joint.C1

			local BallSocketConstraint = Instance.new("BallSocketConstraint")
			BallSocketConstraint.Parent = Joint.Parent
			BallSocketConstraint.Enabled = false
			BallSocketConstraint.Attachment0 = A0
			BallSocketConstraint.Attachment1 = A1

		end
	end
end

RagdollModule.Ragdoll = function(Character)
	for _, CharacterObject in pairs(Character:GetDescendants()) do
		if CharacterObject:IsA("Motor6D") then
			local Joint = CharacterObject

			Joint:Destroy()

		elseif CharacterObject:IsA("BallSocketConstraint") then
			local BallSocketConstraint = CharacterObject

			BallSocketConstraint.Enabled = true

		elseif CharacterObject.Name == "Head" then
			if CharacterObject:IsA("BasePart") then
				local Head = CharacterObject
				local HRP = Character:WaitForChild("HumanoidRootPart")

				Head.CanCollide = true

				local HeadWeld = Instance.new("WeldConstraint")
				HeadWeld.Parent = Head
				HeadWeld.Part0 = Head
				HeadWeld.Part1 = HRP
			end
		end
	end
end


Prompt: -- orig.Leaderboard.SurfaceGui.scrLeader.Disabled=false -- оригинал

Response: wait(1)