0,0,0 is a very valid coordinate - it’s the centre of the scene. If something is at 100, 0, 0
and you tell it to go to 0, 0, 0
, it will move 100uus. It sounds as if you wanted the script treat an otherwise valid 0,0,0 as invalid. Would that work for you:
Another, much better imho, way is to include a flag in the Data Table entry, indicating whether this vector (or some of its components), is valid. Consider incorporating more meaningful data in the structs.