I have a teleport script that I want to only teleport into unlit areas. I have a working script, but I'm afraid that if I add too many lights it will lag.
script.Parent.Activated:Connect(function()--the relevant function local mouse = player:GetMouse() local hit = mouse.Hit local h = hit.p local a = true if mouse.Target and b == true then for _, part in pairs(game.Workspace.Lights:GetChildren()) do local m = (mouse.Target.Position - part.Position).magnitude if m <= part.PointLight.Range then a = false end end if a == true then fadeout() player.Character:MoveTo(h) fadein() else local gui = game:GetService("ReplicatedStorage").Gui.Warning:Clone() gui.Parent = player.PlayerGui end b = false wait(.75) b = true end end)
Is there a way to see if the place I'm teleporting to is lit without going through each light in the folder?