May i?
I've tested what you said and i must say the result was not like you expected it to be;
_i = 0
#again
a = a + 1
?a < 500000 : goto "again"
I've put that in init.sqs and then started the map.
After player selection screen there was the usual 'get ready' message then followed
by a few seconds of 'sending data'.
Once i reached the briefing screen i quickly pressed enter to start the game and display 'a'.
It returned: 500000
When testing the same with any event which from my previous results gets executed
after init.sqs, the result was always the value of 'a' which came from the event after init.sqs.
You're right with the ~delay, because when testing this:
a = 20
~10
_i = 0
#again
a = a + 1
?a < 500000 : goto "again"
I again quickly started the game after the usual short loading without 'sending data'
and it returned 20.
After 10 seconds the game got frozen for 2 or 3 seconds and then it returned 500000.
Well, when testing with 5000000 i found me back to desktop (even with 2 gigs of ram)
Since this stuff is all running local and doesn't require network traffic, it doesn't matter, how
many clients are connected - result will be everywhere the same.
Init.sqs without a delay will be finished before starting the game in every case.
To use publicvariable or a delay in init.sqs is something not to recommend or better say
a 'must not' because that's not what init.sqs is for.
btw - there were at least 200 units deployed on the map, so this also doesn't make any
difference on the outcome.
But it's good to include every single thought or suspect into the testings like you did
Mr. Peanut, at least the spectrum of tests gets more wide and one day we really can
have a reference of what happens when (exactly).
~S~ CD