Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Trying to make gliding, but starts flying really fast into the air. What am i doing wrong?

Asked by 3 years ago
Edited 3 years ago

I've been trying to make a gliding script, first time gliding works, but then when you jump you start flying up really fast

It's supposed to be when you press "space" while in the air, you start gliding, but then it makes some weird results

local uis = game:GetService("UserInputService")
local char = game.Players.LocalPlayer.Character

local mass = 0
for i, v in pairs(char:GetChildren()) do
    if v:IsA("BasePart") then
        mass = mass + v:GetMass()
    end
end

local count = 0
local bv = Instance.new("BodyForce")
uis.InputBegan:Connect(function(input, gpe)
    if not gpe and input.KeyCode == Enum.KeyCode.Space and count == 0 then
        if char.Humanoid:GetState() == Enum.HumanoidStateType.Freefall then
            bv.Force = Vector3.new(0, (mass * workspace.Gravity) ,0)
            bv.Parent = char.Torso
            count = 1
        else
            bv.Force = Vector3.new(0, 0, 0)
            count = 0
        end
    end
end)

Answer this question