How to create a flying system like "Plane Crazy"

Hey, I’m looking to create a flying system like Plane Crazy.
If I must be honest though, I’m really just looking to figure out the movement, so for example,
It’ll head in the mouse’s direction. The plane tilting to the direction isn’t exactly needed.

Here’s a example video of their flying system:

Thanks in advanced

2 Likes

I know how the camera would work, you can just use a third-person camera lock that controls direction. then for the speeds like turn off motor just do it as Input “M” pressed then speed tweens to 0, then if “else” it will tween back to say “50”, and you can add a

M.UIS:Connect(function(player)

	M.Triggered:Connect(function()
		if active == 0 then
			active = 1
			--speed stuff
		elseif active == 1 then
			active = 0
			--speed stuff
		end
	end)
end)

Here’s the third person script you can customize

local uis = game:GetService("UserInputService")


local camera = workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Scriptable


local char = script.Parent

local humanoid = char:WaitForChild("Humanoid")
humanoid.AutoRotate = false

local hrp = char:WaitForChild("HumanoidRootPart")


local x = 0
local y = 0


local offset = Vector3.new(3, 3, 10)


uis.InputChanged:Connect(function(input, processed)

	if processed then return end

	if input.UserInputType == Enum.UserInputType.MouseMovement then

		x = x - input.Delta.X

		y = math.clamp(y - input.Delta.Y*0.4, -75, 75)


		hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(-input.Delta.X), 0)
	end
end)


game:GetService("RunService").RenderStepped:Connect(function()

	uis.MouseBehavior = Enum.MouseBehavior.LockCenter


	local startCFrame = CFrame.new((hrp.CFrame.Position)) * CFrame.Angles(0, math.rad(x), 0) * CFrame.Angles(math.rad(y), 0, 0)
	local cameraCFrame = startCFrame:ToWorldSpace(CFrame.new(offset.X, offset.Y, offset.Z))
	local cameraDirection = startCFrame:ToWorldSpace(CFrame.new(offset.X, offset.Y, -10000))

	camera.CFrame = CFrame.new(cameraCFrame.Position, cameraDirection.Position)
end)


Put it in a LocalScript in StartCharacterScripts
Hope this somewhat helps you.

3 Likes

Hey thanks I appreciate it. Lmk If there’s any idea on the movement too

1 Like