Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Making a Distance rendering Script Local? without filtering.

Asked by 6 years ago

Hello everyone! im about to go crazy after trying to making a script local, its a distance changing script and it focuses on only 1 player regardless of the other, the others see what he sees and i dont want that. is there a way to make it local without filtering? Thanks!



Distance = 300 RenderTime = 1 Map = workspace.Map ------------------------------------------------------------------------- function Descendants(m, children) children = children or {} for i, v in pairs(m:GetChildren()) do if v.ClassName == "Part" or v.ClassName == "WedgePart" or v.ClassName == "MeshPart" or v.ClassName == "UnionOperation" then if v:FindFirstChild("RealParent") == nil and v.Anchored == true then local Obj = Instance.new("ObjectValue", v) Obj.Name = "RealParent" Obj.Value = v.Parent table.insert(children, v) end end Descendants(v, children) end return children end function Check(player, v) if v.Size.X < 10 or v.Size.Y < 10 or v.Size.Z < 10 then if (player.Character.Torso.Position - CFrame.new(-v.Size.X / 2, -v.Size.Y / 2, -v.Size.Z / 2).p).magnitude < Distance or (player.Character.Torso.Position - (v.CFrame * CFrame.new(-v.Size.X / 2, -v.Size.Y / 2, v.Size.Z / 2).p)).magnitude < Distance or (player.Character.Torso.Position - (v.CFrame * CFrame.new(-v.Size.X / 2, v.Size.Y / 2, v.Size.Z / 2).p)).magnitude < Distance or (player.Character.Torso.Position - (v.CFrame * CFrame.new(v.Size.X / 2, v.Size.Y / 2, v.Size.Z / 2).p)).magnitude < Distance or (player.Character.Torso.Position - (v.CFrame * CFrame.new(v.Size.X / 2, -v.Size.Y / 2, -v.Size.Z / 2).p)).magnitude < Distance or (player.Character.Torso.Position - (v.CFrame * CFrame.new(v.Size.X / 2, v.Size.Y / 2, -v.Size.Z / 2).p)).magnitude < Distance or (player.Character.Torso.Position - (v.CFrame * CFrame.new(v.Size.X / 2, -v.Size.Y / 2, v.Size.Z / 2).p)).magnitude < Distance or (player.Character.Torso.Position - (v.CFrame * CFrame.new(-v.Size.X / 2, v.Size.Y / 2, -v.Size.Z / 2).p)).magnitude < Distance or (player.Character.Torso.Position - v.Position).magnitude < Distance then return true end elseif v.Size.X < 25 or v.Size.Y < 25 or v.Size.Z < 25 then (MORE OF V SIZE HERE BUT CUTTING THE SCRIPT HERE TO MAKE THE QUESTION FIT) (player.Character.Torso.Position - v.Position).magnitude < Distance then return true end end end repeat Parts = Descendants(Map) wait() until #Parts > 0 Map1 = Instance.new("Model", game.ReplicatedStorage) Map1.Name = "Map" while wait(RenderTime) do for i, v in pairs(Parts) do for _, player in pairs(game.Players:GetChildren()) do if Check(player, v) == true then CFrame = v.CFrame v.Parent = v.RealParent.Value v.CFrame = CFrame CFrame = nil else CFrame = v.CFrame v.Parent = Map1 v.CFrame = CFrame CFrame = nil end end end end
1
use filtering. problem solved aztec_glory 63 — 6y

Answer this question