I understand that Events are a fake multi-thread and that 3DGS only has 1 thread and is serial.
But my point isn't with the events, it's with the global variable that is also a network variable.

A var, ultimitely, is a memory address. One global var means one memory address. Hence, if you are sending data on that var, it is irrelevent (IMO) which event you are on... the second that I receive a var, that memory address changes regardless of which function you are on.

So pursuiant to my example above (which I would love to whip out by the GDC is this week), if I send a var =10 and have my event print out 1000 times "this is the var = %f", the output will be "this is the var = 10" a thousand times. Now, assume that halfway though the event operation, I send a var = 5. Then, AFAIK, there will be "this is the var = 10" 500 times followed "this is the var = 5" for the following 500 times since the memory address changed mid-way through the event operation.

So the event function is unchanged and will proceed serially as you descrbe. But the VALUES that the global variables take are not tied into the event and thus can change independent of the event you are currently on. This is why it has always been my impression (and I'm sure I read it in the

My understanding comes from this line in the manual

Quote:

If you want to keep them longer, copy them to local variables or entity skills. For clarity, let the entities' main action do most of the work, and keep the event function as short and simple as possible, without any wait instructions.




Specifically the "keep the event short and simple" and "copy them to a local variable or skill".