The biggest problem is that you're only checking it once when the vehicle is created.
A few other smaller problems:
Using vehicle::onSpawn will affect every vehicle. In the script below, change <YourVehicleDatablockName> to, well, you vehicle datablock name
You have a check for > 1, and a check for < 1, with no check for exactly one. I changed it to >= 1 and < 1. This is not an issue here as the velocity is extremely unlikely to be exactly 1 for any noticable amount of time, but just keep it in mind for future scripts.
Untested:
function <YourVehicleDatablockName>::onSpawn(%this)
{
%this.checkVelocity();
}
function <YourVehicleDatablockName>::checkVelocity(%this)
{
cancel(%this.checkVelocitySchedule);
if(!isthisect(%this))
return;
if(vectorLen(%this.getVelocity()) >= 1 && !%this.isFly)
{
%this.mountImage(DMTVJetStreamImage1,0);
%this.mountImage(DMTVJetStreamImage2,1);
%this.playThread(0,"toFly");
%this.isFly = 1;
}
if(vectorLen(%this.getVelocity()) < 1 && %this.isFly)
{
%this.unMountImage(DMTVJetStreamImage1,0);
%this.unMountImage(DMTVJetStreamImage2,1);
%this.playThread(0,"toIdle");
%this.isFly = 0;
}
%this.checkVelocitySchedule = %this.schedule(100,checkVelocity);
}
I'm unsure if those are the correct arguments for onSpawn as I couldn't find any source. I also changed a few things to match my own coding style.
Also, get in the habit of proper indenting. It makes code a lot easier to read.