when I Press Space Bar 2 times my flying script activates
but I flys in the cam's position by itself! I want it to activated but not fly by itself and fly towards the camera's look vector when the character "Moves"
Why doesn't that happen
btw you can copy this script and test it your self too...….
local play = game.Players.LocalPlayer
local uis = game:GetService("UserInputService")
local char = play.Character
local hum = char:WaitForChild("Humanoid")
local root = char:WaitForChild("HumanoidRootPart")
local inair = false
local canjump = true
local moving = true
local cam = game.Workspace.CurrentCamera
local flying = false
hum.StateChanged:Connect(function(old, new)
if new == Enum.HumanoidStateType.Freefall or new == Enum.HumanoidStateType.Jumping then
inair = true
else
inair = false
canjump = true
end
end)
uis.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.Space and inair == true and canjump == true then
print("falsenow")
canjump = false
local bv = Instance.new("BodyVelocity",char.HumanoidRootPart)
flying = true
bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
hum.StateChanged:Connect(function(old,new)
if new == Enum.HumanoidStateType.Running then
if flying == true then
moving = true
else
moving = false
end
end
end)
while moving == true do wait()
if moving == false then
bv.Velocity = cam.CFrame.LookVector * 0
end
bv.Velocity = cam.CFrame.LookVector * 100
end
bv:Destroy()
flying = false
---print("fly")
end
end)
