for _, part in next, game.Players.LocalPlayer.Character:GetChildren() do if part:IsA("BasePart") then part.CustomPhysicalProperties = PhysicalProperties.new(math.huge, 0, 0, 0, 0) part.EnableFluidForces = false pcall(function() sethiddenproperty(part, "Friction", -math.huge) end) part.Massless = false end end game.Players.LocalPlayer.Character.Humanoid.FallingDown:Connect(function() game.Players.LocalPlayer.Character.Humanoid:ChangeState("GettingUp") end) local tool = Instance.new("Tool", game.Players.LocalPlayer.Backpack) tool.Name = "Stop moving" tool.RequiresHandle = false tool.Activated:Connect(function() game.Players.LocalPlayer.Character.Humanoid:ChangeState("GettingUp") for _, part in next, game.Players.LocalPlayer.Character:GetChildren() do if part:IsA("BasePart") then part.Velocity = Vector3.zero part.AssemblyAngularVelocity = Vector3.zero part.AssemblyLinearVelocity = Vector3.zero end end end) local BF = Instance.new("BodyForce", game.Players.LocalPlayer.Character.HumanoidRootPart) task.spawn(function() repeat task.wait() if game.Players.LocalPlayer.Character.Humanoid:GetState() ~= "Running" and game.Players.LocalPlayer.Character.Humanoid:GetState() ~= "RunningNoPhysics" and game.Players.LocalPlayer.Character.Humanoid.MoveDirection.Magnitude <= 0 then BF.Force = Vector3.zero else BF.Force = game.Players.LocalPlayer.Character.Humanoid.MoveDirection * 1e9 -- you can change it end until not game.Players.LocalPlayer.Character end)