-- ================================================================
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.

2 comments
Are you trying to prevent Player Collision? If so, see CloneTrooper's models. (Can't remember numbers)
I'm trying to make the Head / Torso / HumanoidRootPart CanCollide = false