-- ================================================================ local lplayer = game.Players.LocalPlayer local Players = game:GetService("Players") repeat wait() until lplayer.Character:WaitForChild('Head') and lplayer.Character:WaitForChild('Torso') and lplayer.Character:WaitForChild('HumanoidRootPart') local Head = lplayer.Character.Head local RS = game:GetService("RunService") local HumT = lplayer.Character.Torso local HumRP = lplayer.Character.HumanoidRootPart function OnPlayerAdded(plr) plr.CharacterAdded:connect(function(character) RS.Stepped:connect(function() -- ===== character.Changed:connect(function(Property) if Property == "CanCollide" then HumT.CanCollide = false Head.CanCollide = false HumRP.CanCollide = false end end) end) end) end for _,v in pairs(Players:GetPlayers()) do OnPlayerAdded(v) end game.Players.PlayerAdded:connect(OnPlayerAdded) -- ================================================================
It only changes HumanoidRootPart's CanCollide to false, and when there is 2+ players it doesn't change the CanCollide of anyone.