I'm not that far into LUA to be able to do it, but yes LUA can do autopilots. It can do almost everything that custom code does.
Look into the Orbiter help for this:
Code:
Thruster management
v:create_thruster Add a logical thruster definition for the vessel.
v:del_thruster Delete a logical thruster definition.
v:clear_thrusters Delete all thruster and thruster group definitions.
v:get_thrustercount Returns the number of thrusters currently defined.
v:get_thrusterhandle Returns the handle of a thruster specified by its index.
v:get_thrusterresource Returns a handle for the propellant resource feeding the thruster.
v:set_thrusterresource Connect a thruster to a propellant resource.
v:get_thrusterpos Returns the thrust force attack point of a thruster.
v:set_thrusterpos Reset the thrust force attack point of a thruster.
v:get_thrusterdir Returns the force direction of a thruster.
v:set_thrusterdir Reset the force direction of a thruster.
v:get_thrustermax0 Returns the maximum vacuum thust rating of a thruster.
v:set_thrustermax0 Reset the maximum vacuum thrust rating of a thruster.
v:get_thrustermax Returns the pressure-dependent maximum thrust rating of a thruster.
v:get_thrusterisp0 Returns the vacuum fuel-specific impulse (Isp) rating for a thruster.
v:get_thrusterisp Returns the pressure-dependent fuel-specific impulse (Isp) rating for a thruster.
v:set_thrusterisp Reset the fuel-specific impulse (Isp) rating of a thruster.
v:get_thrusterlevel Returns the current thrust level setting of a thruster.
v:set_thrusterlevel Set thrust level for a thruster.
v:inc_thrusterlevel Apply a change to the thrust level of a thruster.
v:inc_thrusterlevel_singlestep Apply a change to a thruster level for the current frame only.
Thruster group management
v:create_thrustergroup Combine thrusters into a logical group.
v:del_thrustergroup Delete a thruster group.
v:get_thrustergrouphandle Returns the handle of a default thruster group.
v:get_thrustergrouphandlebyindex Returns the handle of a user-defined (nonstandard) thruster group.
v:get_groupthrustercount Returns the number of thrusters assigned to a logical thruster group.
v:get_groupthruster Returns a handle for a thruster that belongs to a thruster group.
v:get_thrustergrouplevel Returns the mean thrust level for a thruster group.
v:set_thrustergrouplevel Sets the thrust level for all thrusters in a group.
v:inc_thrustergrouplevel Increments the thrust level for all thrusters in a group.
v:inc_thrustergrouplevel_singlestep Increment the thrust level for the group thrusters for the current frame only.
For the vernier engines, you can "enhance" your SC3 config in LUA and try to do them. The only problem I see is that it does not receive keyboard inputs.
But you can change trust direction, sure, or simply add the necessary force vector, change center of gravity, etc. The only problem is getting them to work without keyboard input. Can't understand why all these commands are available if their usefulness is so limited. Perhaps on the next Orbiter version...
Anyway I recommend you try it. Simply start with a simple and familiar SC3 vessels, and load a LUA script on top that adds / changes some parameters.
Of course, you can define the entire vessel in LUA. I haven't tried that yet, but it is more powerful than sc3, and not that hard.