Thats because you do not reset it to a normal value of 1
Try this:
Code:
action blade()
{
  while (!player) { wait (1); }
  while(me)
  {
    if(vec_dist(player.x,my.x) < 1000) // play with 1000
    {
      time_factor = 0.1;
    }
    else
    {
      time_factor = 1; // reset to normal value if player out of range
    }

    wait(1);
  }
}



Now a problem may arise if you have more blades in your level that are that far away from each other that, if the player is in range for blade A he is out of range of blade B, thus blade B and blade A will "fight" around the time_factor and if you are lucky the time goes to slow motion, if not then its always constantly "normal".

If you want to control more blades with this code which can be far way from each other, then you need a different approach.
Just say a word and someone will help you.

edit:
Damn I was too slow wink

Last edited by Xarthor; 09/17/09 16:19.