There are four significantly different versions of the basic scripts. The original “convict” in Thief: The Dark Project, the second-generation “convict” from Thief Gold, the first set of scripts from Thief 2: The Metal Age, and the version 1.18 scripts of Thief 2.
The names “convict” and “gen” refer to the modules that the scripts are usually separated into. For historical reasons, the two modules were combined in Thief 1 and Thief Gold; the combined module being named
convict.osm. Many of the mission-specific modules (all of them in Thief 1/G) also contain duplicates of the standard scripts. This is primarily done for technical reasons, and most duplicated scripts are not any different. This is an issue for Thief 1, however, where it is possible to use the “convict” module from Thief Gold. But they may be overridden if a mission-specific script is used.
With the latest versions of Dromed, it is possible to load multiple script modules. When doing so, a script will be used from the first module it is found in, where modules are searched in the reverse order that they are entered in Dromed. (You can see the actual order by typing script_dump_files.) So when using mission-specific scripts from Thief 1/G, you should also load
convict, and be sure that it is searched first.
In the past, designers had to consider the minimum version of the game that their missions would function on, partly because of the scripts used. The most common concern being the TrapTimedRelay script of Thief 2. The consensus now is that it is reasonably acceptable to distribute copies of the original script modules for the sake of compatibility. I have seen no reports of technical problems caused by using a more recent script module with an earlier game executable. If you use a script that may not be available in all versions of the game, then you should include the appropriate script module with the mission.