Hehe, I think it's actually solved already.
Anyhow, what I ment/half asked, is that if you have a createunit script which has the ?!local server: exit line to exit all clients to prevent the units to be multiplied by clients, and if you have move commands in that script, then you have to let all the clients know about the move command also.
So basicly, from what I've seen about these kinds of scripts here's some working examples.
1. Make the create script run on all clients and only prevent the specific createunit lines from being executed on all clients with the ?!local server: method. Here you can use local variables, since the clients too know run them.
2. Have two parts in the same script. In the first part will be the createunit lines and server side stuff and in the second part the stuff that needs to be run on clients too. This can be done with
a) ?!local server: goto "waitforclient" in the begining of the script
b) clientgoodtogo = true; publicvariable "clientgoodtogo" at the end of the script
c) @clientgoodtogo at the begining of the second section.
3. Have two scripts where the first one will be run by server and then publicvariable the needed info to the second script, which is waiting at all clients for the first script publicvariabling the needed info.