@n00bie:
You want to press the key once and speed "my" up to 3. And if you press it again it should slow down to 0 again?
Code:

var inc;
var status_accel = 0;

define speed, skill2;

function change_speed()
{
status_accel = 0;
wait(1);

my = player;

status_accel = 1;
if(my.speed <= 0) { inc = 1; }
else { inc = -1; }

while(status_accel)
{
my.speed += 0.1 * inc * time_step;

if(my.speed >= 3 || my.speed <= 0)
{
status_accel = 0;
}

wait(1);
}
}

edit:
of course you need some entity pointer (like "player") to refer to it.

on_q = change_speed;