try this:
What this will do, is set the velocity of the plane to half of its current velocity, by dividing each of its velocity vectors (or whatvere they're called) by two....
_vel = velocity plane
_velx = _vel select 0
_vely = _vel select 1
_velz = _vel select 2
plane setvelocity [(_velx / 2),(_vely / 2),(_velz / 2)]
If you wanted to double the plane's velocity you would multiply instead of divide, like so...
_vel = velocity plane
_velx = _vel select 0
_vely = _vel select 1
_velz = _vel select 2
plane setvelocity [(_velx * 2),(_vely * 2),(_velz * 2)]
Here is an example (from memory) of a peice of code I used in a "nitro boost" script for vehicles....
_vehicle = vehicle (_this select 1)
#nitroboost
_vehicle setvelocity [(velocity _vehicle select 0) * 1.1,(velocity _vehicle select 1) * 1.1,(velocity _vehicle select 2) * 1.1]
?_time > 3:exit
~0.1
goto "nitroboost"
This peice of code was started via an action and would multiply the player's vehicles velocity by 1.1 over and over for 3 seconds. I was semi realistic.
To specifically answer your question:
OK 120/80 = 1.5
So your goal velocity is 120/1.5 (80)
CHeck this out. YOU would initiate like so:
[vehicle,goalspeed,rateofchange] exec "changevel.sqs"
[airplane1,0,0.05] exec "changevel.sqs"
_vehicle = _this select 0
_goal = _this select 1
_rate = _this select 2
_speed = speed _vehicle
_ratio = _speed / _goal
?_speed > _goal:goto "slowdown"
goto "speedup"
#slowdown
_vehicle setvelocity [(velocity _vehicle select 0) / 1.05,(velocity _vehicle select 1) / 1.05,(velocity _vehicle select 2) / 1.05]
~rate
?speed _vehicle < _goal:exit
goto "slowdown"
#speedup
_vehicle setvelocity [(velocity _vehicle select 0) * 1.05,(velocity _vehicle select 1) * 1.05,(velocity _vehicle select 2) * 1.05]
~rate
?speed _vehicle > _goal:exit
goto "speedup"