ModuleSystem
The ModuleSystem is a framework developed by TaleWorlds to allow people to create mods. It is compiled with the programming language called Python.
The Warband 1.134 ModuleSystem consists of around 120 files, which are divided in four types:
- header_*
- ID_*
- module_*
- process_*
Info about operations and game constants (which generally should not be modified) are located in the header_*, ID_* and process_* files (the headers contain information, the IDs show each item, party, troop and etc.'s index, and the process_* files are responsible for compiling the module). To create your mod, you should only modify the module_* files.
There are a lot of tutorials in The Forge at TaleWorlds forums
Python and the ModuleSystem
Contrary to the popular belief, the ModuleSystem language itself is NOT Python. The ModuleSystem uses a custom (scripting) language with all operations defined in header_operations.py. The ModSys uses Python to compile itself into game-readable text files, though, so it is possible to use custom python functions in it.
To use the ModuleSystem, you need to use Python 2.5 or Python 2.6 - newer versions will not work.