I think engineon is a vehicle situation, not a unit, so try
vehicle player engineon true
vehicle player engineon false
or may require:
vehiclenameengineon true(and false)
I know, people are vehicles too but in this situation, vehicle actually does mean vehicle!