Hello,
I have a fly script that makes you fly when you double press space, but there is an error on line 31 that I can't understand. (Error: Players.DoudGeorges.Backpack.FlyScript:31: attempt to index nil with 'Position').
Here is the script:
local uis = game:GetService("UserInputService")
local rs = game:GetService("RunService")
local myPlayer = game.Players.LocalPlayer
local myChar = myPlayer.Character or myPlayer.CharacterAdded:Wait()
local myHRP = myChar:FindFirstChild("HumanoidRootPart")
local camera = game.Workspace.CurrentCamera
local flying = false
local speed = 0.5
local TapTime = .25
local Tapped = false
local bp = Instance.new("BodyPosition", myHRP)
bp.MaxForce = Vector3.new()
bp.D = 10
bp.P = 10000
local bg = Instance.new("BodyGyro", myHRP)
bg.MaxTorque = Vector3.new()
bg.D = 10
function fly()
flying = true
bp.MaxForce = Vector3.new(400000,400000,400000)
bg.MaxTorque = Vector3.new(400000,400000,400000)
while flying do
rs.RenderStepped:wait()
bp.Position = myHRP.Position +((myHRP.Position - camera.CFrame.p).unit * speed)
bg.CFrame = CFrame.new(camera.CFrame.p, myHRP.Position)
end
end
function endFlying()
bp.MaxForce = Vector3.new()
bg.MaxTorque = Vector3.new()
flying = false
end
uis.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.Space then
if not Tapped then
Tapped = true
wait(TapTime)
Tapped = false
else
if not flying then
fly()
else
endFlying()
end
end
end
end)
Thanks for your help!!

2 comments
I'm not gonna post this as an answer, as idk if it is the reason
with your local myHRP should be a :WaitForChild("HumanoidRootPart", 20) instead