Making a controllable brush vehicle
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
First create a brush-based model of your plane, keep it balanced so it doesn't tip over.
Select it and bind it to the func_physbox entity, assign it a name. plane_01 will do fine.
You will require a seat to perch in. You should use prop_vehicle_prisoner_pod (you could use a buggy or airboat but that would look odd), name the chair plane_01_pod. Also make sure the pod isn't clipping into the plane's func_physboxes, if it is then make sure that the seat is not solid (it's okay if it clips into a door or other non-phys objects, but not the func_physbox).
Next set the outputs to the plane_01_pod like so.
Now make some phys_constraints to hold the plane_01_pod to plane_01.
You also might want to make a trigger system to make it easier for the player to get in the plane, and one that will teleport the player out (the top or either side of the plane) when exiting, to cancel out any problems that can occur, like getting stuck within the plane's solid parts.
Make a game_ui entity. Name it plane_01_game_ui, and set the outputs to the following.
Now you are going to require three logic_compare entities. One for each of the axes, pitch, yaw and roll. These will control your thrusters.
First make a logic_compare entity near the front of the plane and name it plane_01_logic_comparey. Then set the outputs to the following
Make another logic_compare on one of the wings. Name it plane_01_logic_comparex and set the outputs to the following
Make another logic_compare near the engines. Name it plane_01_logic_fly and set the outputs to the following
Now you need to setup a thruster.
Place a phys_thruster on the left end on the wing and name it plane_01_roll_clockwise. Set the parent to
plane_01, set the force to 800 and set the direction of the force to UP. Go into the flags and check 'ignore mass'.
Place a phys_thruster on the right end on the other wing and name it plane_01_roll_counter_clockwise. Set the parent to
plane_01, set the force to 800 and set the direction of the force to UP. Go into the flags and check 'ignore mass'.
Place a phys_thruster on the front of the plane and name it plane_01_up. Set the parent to
plane_01, set the force to 800 and set the direction of the force to UP. Go into the flags and check 'ignore mass'.
Place a phys_thruster on the front of the plane and name it plane_01_down. Set the parent to
plane_01, set the force to 800 and set the direction of the force to DOWN. Go into the flags and check 'ignore mass'.
Place a phys_thruster at the end of the left engine and name it plane_01_fly1. Set the parent to
plane_01, set the force to 2000 and set the direction of the force to "14 0 0". Go into the flags and check 'ignore mass'.
Place a phys_thruster at the end of the right engine and name it plane_01_fly2. Set the parent to
plane_01, set the force to 2000 and set the direction of the force to "14 0 0". Go into the flags and check 'ignore mass'.
You should now have a basic working plane that will probably need some adjustments here and there.