I advice against putting everything to a single file.
That's for sure not a programming practice you will thank yourself later.
The problem with putting too much into one file becomes clear when your script gets big. You will have trouble managing it, and keeping it error-free. The goto style programming is a sure way to confuse yourself, I suggest to avoid that. It's just too easy to make an error when building big scripts which use goto, so it's best to avoid it if you can, and yes you can avoid it.
Write small functions to accomplish clearly defined tasks. Some good examples can be found from the Editors Depot. Then use those functions together to accomplish the tasks your code needs to do in your mission. You will need to carefully determine which parts of your scripts can be separated into functions. Think about things which can be done so that the function does not need to know anything specific to the mission you are creating, or anything specific to other functions (try to keep dependencies to minimum and you will have re-usable code). For example one clear rule I can give to you that your functions should not have to rely on any global variables.
This is definitely the way to go instead of writing one big script which tries to handle the whole mission.
You should try to separate:
- Utility functions/scripts which do small tasks, and need not to know anything specific to your mission in order to work. An example of what one such file could do: eject a group out of a flying helicopter.
- Mission logic functions/scripts, these are the ones which use the utility functions/scripts to accomplish some small sub-tasks in a certain order and timing. An example: a script which makes the helicopter fly into a drop zone, and then calls the utility function to eject the group.