DCS uses Lua everywhere — entry files, weapon definitions, mission triggers.
Key concepts:
- Tables are everything: declare_plugin(), add_aircraft() and friends all take tables
- The mission scripting environment vs the mod environment are separate sandboxes
- Use dofile() and loadfile() carefully; paths are relative to the DCS root
Debugging tip: check Saved Games/DCS/Logs/dcs.log after every load. Most mod failures show up there with a precise line number.