here is my script
local char = script.Parent
game:GetService("RunService").Heartbeat:Connect(function(dt)
local extents = Vector3.one * 10
local region = Region3.new(char.HumanoidRootPart.Position - extents, char.HumanoidRootPart.Position + extents)
local np = workspace:FindPartsInRegion3WithIgnoreList(region,{char,workspace.Map})
for _, p in np do
for i,v in pairs(p:GetDescendants()) do
if v:IsA("BodyVelocity") or v:IsA("BodyPosition") or v:IsA("BodyGyro") or v:IsA("BodyAngularVelocity") or v:IsA("BodyForce") then
v:Destroy()
end
end
p.AssemblyLinearVelocity = Vector3.zero
p.AssemblyAngularVelocity = Vector3.zero
end
end)