Help me to fix script (Vector3, Gravity)

I fall down too much fast, and I need slow fall for dropper game anyone can help?.
I can’t understand which numbers or way I should do.

script.Parent.Transparency = 1
parent = script.Parent

function onTouch(hit)
--parent.Touched:connect(function(hit)
	local humanoid = hit.Parent:FindFirstChild("Humanoid")
	if humanoid then
		local character = hit.Parent
		local HumanoidRootPart = character.HumanoidRootPart
		if not HumanoidRootPart:FindFirstChild("NoGrav") then
			local bv = Instance.new("BodyForce")
			bv.Name = "NoGrav"
			bv.Force = Vector3.new(0,-20,0)* -workspace.Gravity/10
			bv.Parent = HumanoidRootPart
			character.Animate.fall.FallAnim.AnimationId = "rbxassetid://9994619922"
		end
	end
end
parent.Touched:connect(onTouch)

Force = Vector.yXis * (workspace.Gravity / 2) * Character.PrimaryPart.AssemblyMass

This will slow down I think

I noticed you set body force name to “NoGrav”, do you mean you want to make anti gravity?

BodyForce is a force, so you have to apply kinematics here.

If you’re trying to make an object reach terminal velocity, then you need to:

  • Apply realistic gravity (ROBLOX doesn’t have Newtonian mechanics, instead objects just exponentially accelerate);
  • Apply a force of equal magnitude in the opposite direction to gravity on the same plane.

Here is an example of the first point.

Hope this helps.

1 Like

I dont really understand a lots about that bodyforce and gravity
, But ok I can try what you sent

script.Parent.Transparency = 1
parent = script.Parent


function onTouch(hit)
	--parent.Touched:connect(function(hit)
	local humanoid = hit.Parent:FindFirstChild("Humanoid")
	if humanoid then
		local character = hit.Parent
		local HumanoidRootPart = character.HumanoidRootPart
		if not HumanoidRootPart:FindFirstChild("NoGrav") then

			local totalMass= 0
			for _, instance in pairs(character:GetDescendants()) do
				if instance:IsA("BasePart") then
					
					print(instance, ' ', instance:GetMass())
					totalMass += instance:GetMass()
				end
			end
			
			local VectorForce = Instance.new("VectorForce")
			local ForceAttachment = Instance.new("Attachment")
			VectorForce.Attachment0 = ForceAttachment
			ForceAttachment.Parent = HumanoidRootPart
			VectorForce.Name = "NoGrav"
			VectorForce.Force = Vector3.new(0, (totalMass * workspace.Gravity) * .5,0)
			VectorForce.Parent = HumanoidRootPart
			character.Animate.fall.FallAnim.AnimationId = "rbxassetid://9994619922"
		end
	end
end
parent.Touched:connect(onTouch)

Body Force is deprecated. You should use Vector Force. The gravity can also be changed in workspace through the explorer window. If you want to change it for a specific player, you can change it locally, but must ensure the server validates it in order to prevent exploits.