You should definetly check out Colonel Klinks tutorials for some rather handy scripting bits for animations. ->
http://www.dc3d.co.nz/Tutorials/Index.htmBut I will see if I can give some ideas, with bits from the tutes
a)Possibly using something like this, ?(_player in _helo1): goto "checkGearUp". (check out the helo landing gear for more relating to this.)
b)User actions seem to need a point at which the action works in a radius from that point. (atleast they do on vehicles) e.g.
class LowerLandingGear
{
displayName="Lower landing gear";
position="GearArea";
radius=3condition="this animationPhase ""maingear"" >= 0.5 and player in this";
statement="this animate [""maingear"", 0]";
};
You could try changing the radius to somthing like 0.01.
Dont know if this is possible but give it a try.
c)Dont know if it is possible to "lock" vehicles. Maybe through remove action??
Alternatively you could have it so that the doors/hatches/ramps open as soon as the game startes. It would still be possible to get in and out once they are closed, but this is the easier fix, though not quite the effect your after.
Hope these help.