It would be practical to have a “Timer equals” -condition (do I remember wrong, or did we have it before the update? ). Then you could have it triggered exactly when wanted, and triggered once (without having to add that).
I think the reason this doesn’t exist is that timers will never exactly be a number. Timers can only be checked every frame, and therefore the closest you’ll get is 0.016 ms (assuming 60 frames per second).
I believe that is why the old method was “timer is greater than X” and the new method lets you choose greater than or lesser than.
It’s the same issue with using the “Sound on Channel X is offset blah”. You’ll never be able to get exact so you need lesser than/greater than.
I think 0.016 ms is close enough for most people
While I agree with you in premise that most people would be fine with near numbers, the thing to understand that conditions and actions still have to send information to the engine, not to people.
Computers deal in exact numbers. If the engine devs add in a “The timer is =” condition, it will only be valid if the timer is exactly that number. If it is even 0.001 ms off, it would evaluate as false, which would likely be the majority of scenarios. This would be exacerbated even worse if the framerate fluctuates, which does happen pretty frequently (usually from 59.98 to 61).
So you would end up with a condition that most people would think isn’t working correctly.
If the game lags even a little bit, it wouldn’t calculate it. Just use the “greater than or equal to”