AGS script modules are a way for AGS script code to be reused and shared. They work like plugins, through a module manager, but are written in AGS script code entirely, and thus are independent of the platform on which a game is run.
The module manager is accessed through the Script menu on AGS, where a number of options are presented:
From the basic Scripts Node you access:
- New script
- create a new module from scratch
- Import script...
- load a module from a .SCM file that you have downloaded
From the specific script file within the opened script node you access the following options:
- Give the module another name
- Removes an existing module from the game
- Move up
- The order of modules can be important, as it reflects the order in which they are compiled and run, so this option and the next let you change their ordering.
- Move down
- see Move up
- save your own module as a file others can use (modules are also saved in with the game they are used, so you don't HAVE to export them unless you want others to use them)
Each module contains its own script and header, similar to the global script and header. They are compiled before the global script/header and can contain their own versions of global script functions such as repeatedly_execute, on_event, etc.
You can also enter a brief description of the module, a version number and authorship details in the module manager when you create a module. There are options, too, to protect the script and the module info from modification if you export and distribute your own module.