Module @flying-dice/tslua-dcs-mission-types

This repository contains TypeScript type definitions for DCS Worlds Mission Environment, enabling developers to use TypeScript’s powerful type system when scripting for DCS World. These type definitions are designed to be used with TypeScriptToLua to transpile TypeScript code into Lua, which is the scripting language used by DCS World.

To use these type definitions in your project, you need to have Node.js and npm installed. You can then install the type definitions via npm with the command

npm install @flying-dice/tslua-dcs-mission-types

TBC

Contributions to this project are welcome. If you find an issue or have suggestions for improvements, please open an issue or submit a pull request.

There are various ways to datamine dcs and of course the docs are a great source of information.

This project has relied heavily on DCSFiddle and the explore window which can help with exploring tables.

To seed the initial interface data is mined from DCS using DCS Fiddle.

https://dcsfiddle.pages.dev/

Once DCS Fiddle is setup run

npm run export

This will

  1. Read the export script packages/tslua-dcs-mission-types/scripts/export.fiddle.lua
  2. This will connect to DCS fiddle, traverse the namespaces
  3. Assemble a foundation typescript interface

From here you can extend the underlying interface and replace the typing information.

Updating the packages/tslua-dcs-mission-types/src/index.d.ts with a variable where the type is of your extending interface will allow it to be used.

To add new namespaces to be exported update the .exporttc.yaml and run the npm run export again.

This project is licensed under the MIT License.

  • Thanks to the TypeScriptToLua team for their incredible tool.
  • Special thanks to the DCS World community for their continuous support and contributions.

For any inquiries or contributions, please open an issue on this repository.

Modules

AI
Airbase
atmosphere
coalition
Controller
coord
env
exports/AI.export
exports/Airbase.export
exports/atmosphere.export
exports/coalition.export
exports/Controller.export
exports/coord.export
exports/env.export
exports/Group.export
exports/land.export
exports/missionCommands.export
exports/net.export
exports/Object.export
exports/radio.export
exports/StaticObject.export
exports/timer.export
exports/trigger.export
exports/Unit.export
exports/Warehouse.export
exports/Weapon.export
exports/world.export
Group
index
land
missionCommands
net
Object
radio
StaticObject
timer
trigger
Unit
Warehouse
Weapon
world