Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Is it possible to make a player float?

I think its possible its just I don't understand how it works.

What I'm trying to do is make a game where the player can fly and I want the player to float when doing nothing but I dunno how to do this.

Thanks, KiHeros

1 answer

✓ Accepted answer

We can't make a script for you so I'll teach you how to make a part float: Roblox has gravity, the Gravitational pull is 96.2 studs per second squared. Which means you can set the gravity by 0 by making a body force push up 96.2 on the y axis per part.

--Inside a part:
local bf = Instance.new("BodyForce", script.Parent)
bf.force = Vector3.new(0,96.2,0) * script.Parent:GetMass() --Part floats

Using this knowledge we can make the part slowly fall to the ground by changing 96.2 to a smaller number like 48.1 which would make you get affected by half of ROBLOX's gravity:

--Inside a part:
local bf = Instance.new("BodyForce", script.Parent)
bf.force = Vector3.new(0,48.1,0) * script.Parent:GetMass() --Part floats

The problem with no gravity is if a player is using this and they jump, they will always go up until there is a force that acts upon it, like another player or a part. So make sure they don't go flying everywhere and end up in space.


#Get the mass of a player GetMass only works on one part, but the player's character has multiple parts, well according to my calculations the character without hats has a mass of 14. But we need to see how much the hat weights:

local character = script.Parent --Find the character
groups = {["Model"] = true, ["Hat"] = true} --Dictionary; add more here.
local mass = 0

function search(instance)
	for _,obj in pairs(instance:GetChildren()) do
		if groups[obj.ClassName] then
			search(obj)
		elseif obj:IsA("BasePart") then
			mass = mass+obj:GetMass()
		end
	end
end

search(character)


Hope it helps!

This discussion is preserved as it was. New answers, comments, and votes are closed.