Well, movement in water is defined by an extra force :
function update_frame(dt, engine, brake, steering){
this.extra_force({z:-0.05,y:-10},{x:9000*steering,y:15000*engine});
}
... the position, force used to turn the vessel around and the force for forward movement (mind the position of the force being applied should be somewhere, where the turning force can rotate the vessel (not close to the vehicles center of mass) )
Not sure how to define an engine and its RPM for an boat, doe, you can look at the WindTurbine-model script (the model is on the forum somewhere at static objects - the animated one) and try that for the stuff ya need turning, some more can be trough some math-thought ... otherwise, you can use some lightweight car-script for the engine and bind the forces to them (also, for the turning, see the "steering" script parts for vehicles) -
if ya can make a little sense of scripts, you can go trough the script of the BTR-80 and use the switch to turn on and off some rotations bounding that to some of the vehicle-usage keys (look for the part where AOpen AFire and such are) ... if ya like details about some, just paste them in my PM and i try to explain some of the stuff in proper detail for ya.
P.S.: If ya like some more optionous tool to go trought scripts, i use this one -
http://www.yaldex.com/Free_JavaScript_Editor.htm... it can help ya find certain parts of the script fastly and highlight some stuff so ya can see some evident miss-spellings.