What do i want to achieve? Basically i am trying to avoid gravity to players. I found the way to use BodyForce in humanoidrootpart
What is the issue? The problem is that it gives different gravity based on the player avatar (for example some player jump a bit, some players jump too much!)
What solutions have you tried so far? I searched online and i found that the issue can be the body mass and or dansity of the player character, but i don’t understand how to solve this problem and i don’t understand how to get mass or density of the character and how to modificate it.
How do i make sure that the players have the same gravity? If you have another method it is ok. All answers are welcome ;D!
You can get the Player’s mass by using GetMass() on every body part and then add them together. After adding them you can set the force of the BodyForce equal to the mass of the Player.
An example on how you could set this up is by first having a variable for the player’s mass. (mass = 0) Then use a for loop and search through any BaseParts that are in the character and use the GetMass() function and add it to the variable. (mass += basePart:GetMass()) After the loop is finished, simply set the force of the BodyForce equal to the variable. (BodyVelocity.Force = mass)
I’m sry for the late answer, but i don’t understand a thing:
i made this script
local mass = 0
local bodyforce = Instance.new("BodyForce", char.HumanoidRootPart)
for i,v in pairs(char:GetChildren()) do
if v:IsA("Part") then
mass += v:GetMass()
end
end
bodyforce.Force = Vector3.new(0,mass,0)
But then how do i set the gravity that i want equal to all players? Bc now the force of the bodyforce is 0,2.8,0 (because of my mass). But the gravity i want is different to this
local gravforceclone = game.ReplicatedStorage.GRAVFORCE:Clone()
gravforceclone.Parent = game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
local targetForce = 2016.892
local mass_default = 12.849721789360046
local jump_height = 1
local mass = 0
for _, v in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
if v:IsA("BasePart") then
mass += v:GetMass()
end
end
local force = mass * targetForce * jump_height / mass_default
gravforceclone.Force = Vector3.new(0, force, 0)