I'm using the packman demo

var hero_speed = 1.6; //game speed. used for making game more interesting.

action hero() //the hero itself, controlled by player
{
player = me;
set(my,TRANSLUCENT | LIGHT | NOFOG);
my.alpha = 0;
while (my.alpha < 100)
{
my.alpha += time_step * 20;
if (my.alpha >= 100) {break;}
wait(1);
}
set(my,PASSABLE); //same system laugh
while (1)
{
while(!(is(my,FLAG1))) //while it havent contact with enemys, we can control it
{
my.skill24 = cycle(my.skill24+hero_speed+2,0,100);//same animation cycle system
ent_rotate(my.skill22,15);//and don't forget to rotate it.
//
if (my.skill21>0)
{ //c_move alternative (it's a pacman, so colision isn't realy needed)
vec_add(my.x,vector(hero_speed*cos(my.skill22),hero_speed*sin(my.skill22),0));
my.skill21 -= hero_speed;//reduce total points by covered distance
}
}
my.skill21 = 0; //make sure it wouldn't move after 'reappearing'
set(my,PASSABLE|TRANSLUCENT); //make it translucent
my.alpha = 0;
snd_play(die,50,50);
reset(my,PASSABLE|TRANSLUCENT|FLAG1); //and it's alive again!
//vec_set(my.x,nullvector); //reset position (it makes level building a little bit harder)
wait(1);
}
}

I can't get my hero_speed to increase gradually. If I change it to 1.5 or 1.9, there is no change in the speed of the character.
If I change it to 2 or 2.anything, it moves faster than I want it to.
What is the correct way to increase the character's speed a little at a time?