gears will go 1-2-3-4-5-6-7 and so on then 7-6-5-4-3-2-1 will stop at first gear
CODE
list ForwardPowerGears = [12, 13, 16, 20, 30];
integer Gear = 0;
integer NumGears;
float ForwardPower;
//------------------------------------------------------\\
if((edge & level & CONTROL_UP))
{
if((Gear + 1) != NumGears)
{
++Gear;
llWhisper(0, "Gear " + (string)(Gear + 1));
ForwardPower = llList2Float(ForwardPowerGears, Gear);
}
}
else if((edge & level & CONTROL_DOWN))
{
if((Gear - 1) != -1)
{
--Gear;
llWhisper(0, "Gear " + (string)(Gear + 1));
ForwardPower = llList2Float(ForwardPowerGears, Gear);
}
}
if(level & CONTROL_FWD)
{
llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <ForwardPower,0,0> );
}

