Consider the following, I realised this when lying in bed one morning and it was a revelation for my editing.
While you design a mission remember there are 2 possible users for a script and only one should ever be used, these are local and non-local (or server) scripts
there are a few differences between these that might be found above but the main ones are
Local scripts will never produce createvehicle or drop effects you want this is because if you had 4 players and a script running on each compter you would get 4 of the same thing and if the local script does create a vehicle (which it often does) then it wont appear in other players screens (same for effects
The server can run these so it is best to use "manager" style scripts to manage the incoming variables and pass them to the server to take your actions. An example of this for my MP artillery, napalm and cti scrpts will be up on my site soon so check it out to see how it is done
A server script can be denoted by using the following line at the start of the script
? !(Local LocalServerObject):Exit
where LocalServerObject is the name of a game logic placed in the editor mode of your mission
This checks if the computer running the script is the server and exits it if it is not.
Hope this helps. If you understand it should allow you to code perfectly in multiplayer.
Ron