Nononono, you have misundersood me.
What I wanted was for the scene to go into slow mo, as the tank fires, then go back to normal speed.
What happens currently, is that it goes into slow mo, and simultaneously execs doFire, however, you can wait for around 10 seconds or more (1+ seconds in real time) before the tank fires. This ruins the cinematic effect, I want the script only to go into slow mo AS the tank fires, rather than before.
Using Kyle's suggestions, I have implemented an event handler to detect when the tank fires;
WAfour addeventhandler ["fired",{_this exec "fired.sqs"}]
However, I have created the following code as "fired.sqs"
~ 0.05
setAccTime 0.1
WAfour removeEventHandler ["fired", 0]
~ 0.8
setAccTime 1
EXIT
So, in theory, only when the tank has "fired", does "fired.sqs" get called (which then implements slow mo for ~ 0.8 seconds).
In reality, I find that often, what may happen is it can go into super slow mo for around 20 seconds, the tank hasn't fired yet, and only when the tank has fired (after 20 secs or more )does the script exit and return to normal time.
What does this suggest? - That the "Fired" EH can be true, even before the unit has fired, sometimes it is true when the unit is attempting to fiire, but cant aim properly....
* Anyyway, so how can I ensure my script is called only at the exact moment that the unit DOES actually fire?
* And why does is "fired" EH true, even before the unit fires???
Thanks lotz.