You'll notice that most of the !ship.cmd.(command) scripts have two versions, the ones ending in .pl and the ones ending in .std. The .pl stands for "preload", .std for "standard". The preload scripts are a very small bit of info that the game loads when you start the game. This tells the game what script to run when you select a command from the command menu. This way you have only a small bit of memory taken up. In the case of the Special command, "collect wares in sector..." there is no .std command, the entire script is in the preload file. This means the game is loading the entire script into memory even if you're not using it.
i just saw this and through i would correct the misinformation.
Firstly, .pl files does not stand for preload, alot some of them do act as a preload script. .pl actually stands for player, and .std is standard.
the AI, will use the standard scripts, but for some commands, they might have additional abilites or different argumetns to use etc, so a .pl exists, most of the time these just get the arguments required for the player and then call the .std script
as this command is only used for the player, the script is named .pl. The naming of the script actually makes no difference, its just a convention, and the game doesn't care what you call them
Secondly, you are way wrong about what preloads actually are. all command scripts, standard, player, preload, check scripts, etc, are all cached at the beginning, so switching it from a preload to a normal one will make no difference to the memory footprint.
of course, simply change a script from .pl to .std makes absolutily no difference at all, the game doesn't see a difference between them.
preload scripts are actually scripts that are "preloaded" before the command is run. Basically, this allows the command to use an advanced menu before running the actual command.
what happens, is when you run a command, if theres a preload, that will run first, if it returns the correct values, then the command script will be run, if not, the command is rejected.
if u just use a standard command and create you menu system for that command, when the command is run, any old command that was running will be stoped to run your new one, so if the player quits from the menu, ie they dont want to run the command in the end, the script will stop, but any previous commands will also be stopped. With a preload, the old command will not be stopped until the preload has returned its arguments
like i said, as far as memory usage and performance goes, there is no real difference between them, any difference there is would actually be in the preloads favour, not the other way around