How do I change this from using magnitude, to using GetPartsInPart? I need the Add functions to work when inside the part, and the remove after you exit the part.
wait(1) local Players = game:GetService("Players") local part = script.Parent local PG = script:WaitForChild("PlanetGravity") local ID = script:WaitForChild("GravityID") local Radius = 20 if ID.Value == 0 then ID.Value = math.random(5000,10000) PG.Value = ID.Value end function CloneAdd(plr) local Gravity = plr.Character:FindFirstChild(PG.Name) if not Gravity and plr:DistanceFromCharacter(part.Position) < Radius then PG:Clone().Parent = plr.Character end end function CloneRemove(plr) local Gravity = plr.Character:FindFirstChild(PG.Name) if Gravity.Value == PG.Value and plr:DistanceFromCharacter(part.Position) > Radius then Gravity:Destroy() end end --Shuttle Addition if (_G.all_Gateships == nil) then _G["all_Gateships"] = {} end ALL = _G.all_Gateships shared["all_Gateships"] = _G.all_Gateships --Models Addition if (_G.all_Models == nil) then _G["all_Models"] = {} end ALLMODELS = _G.all_Models shared["all_Models"] = _G.all_Models function CloneAddShuttle(shuttle) local Gravity = shuttle:FindFirstChild(PG.Name) if not Gravity and (shuttle.Engine.Position-script.parent.Position).magnitude < Radius then PG:Clone().Parent = shuttle end end function CloneRemoveShuttle(shuttle) local Gravity = shuttle:FindFirstChild(PG.Name) if Gravity.Value == PG.Value and (shuttle.Engine.Position-script.parent.Position).magnitude > Radius then Gravity:Destroy() end end function CloneAddModel(model) local Gravity = model:FindFirstChild(PG.Name) if not Gravity and (model.Handle.Position-script.parent.Position).magnitude < Radius then PG:Clone().Parent = model end end function CloneRemoveModel(model) local Gravity = model:FindFirstChild(PG.Name) if Gravity.Value == PG.Value and (model.Handle.Position-script.parent.Position).magnitude > Radius then Gravity:Destroy() end end while true do wait(0.05) for _,plr in pairs(game.Players:GetPlayers()) do if plr.Character then local Gravity = plr.Character:FindFirstChild(PG.Name) if not Gravity and plr:DistanceFromCharacter(part.Position) < Radius then CloneAdd(plr) elseif Gravity and Gravity.Value == PG.Value and plr:DistanceFromCharacter(part.Position) > Radius then CloneRemove(plr) end end end for i = 1, #ALL do local Gravity = ALL[i].Model:FindFirstChild(PG.Name) if not Gravity and (ALL[i].Model.Engine.Position-part.Position).magnitude < Radius then CloneAddShuttle(ALL[i].Model) elseif Gravity and Gravity.Value == PG.Value and (ALL[i].Model.Engine.Position-part.Position).magnitude > Radius then CloneRemoveShuttle(ALL[i].Model) end end for i = 1, #ALLMODELS do local Gravity = ALLMODELS[i]:FindFirstChild(PG.Name) if not Gravity and (ALLMODELS[i].Handle.Position-part.Position).magnitude < Radius then CloneAddModel(ALLMODELS[i]) elseif Gravity and Gravity.Value == PG.Value and (ALLMODELS[i].Handle.Position-part.Position or ALLMODELS[i].Handle.Position-part.Position).magnitude > Radius then CloneRemoveModel(ALLMODELS[i]) end end end