control(key id, integer held, integer change)
{
integer reverse=1;
vector angular_motor;
vector vel = llGetVel();
float speed = llVecMag(vel);
if(held & CONTROL_FWD)
{
llStartAnimation("AIM"
;llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <forward_power,0,0>
;reverse=1;
}
if(held & CONTROL_BACK)
{
llStartAnimation("AIM"
;llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <reverse_power,0,0>
;reverse = -1;
}
if(held & (CONTROL_RIGHT|CONTROL_ROT_RIGHT))
{
angular_motor.z -= speed / turning_ratio * reverse;
}
if(held & (CONTROL_LEFT|CONTROL_ROT_LEFT))
{
angular_motor.z += speed / turning_ratio * reverse;
}
llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, angular_motor);
}