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