diff options
Diffstat (limited to 'docs/modding/getting-started.md')
-rw-r--r-- | docs/modding/getting-started.md | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/docs/modding/getting-started.md b/docs/modding/getting-started.md new file mode 100644 index 0000000..17f50aa --- /dev/null +++ b/docs/modding/getting-started.md @@ -0,0 +1,66 @@ +# Getting Started + +## Basics + +This guide assumes you have basic understanding with programming and know how to use developer environments. Listed below are tools useful for exporting file formats + +If you'd like a more lengthy set of tutorials covering many topics. Look at: + +{% content-ref url="tutorials/modding-tutorials.md" %} +[modding-tutorials.md](tutorials/modding-tutorials.md) +{% endcontent-ref %} + +> TODO: Actually link tools + +### Tools + +* RSPNVPK +* Cra0 VPK Tool (Titanfall VPK Tool) +* Legion by DZXTPorter + +## Quick start + +In order to get started with making your mod, create a folder in `R2Northstar/mods`. While it isn't required, it is best practise by mod authors to follow the naming scheme "Author.ModName", such as "Northstar.Client". + +After making this folder, inside it add a folder named `mod` and a file named `mod.json`. + +Provided is a template `mod.json`, for a detailed list of values read [Cheatsheet](cheatsheet.md) + +```json +{ + "Name": "My.Mod", + "Description": "Woo yeah wooo!", + + "LoadPriority": 0, + "ConVars": [], + "Scripts": [], + "Localisation": [] +} +``` + +Inside the `mod` folder, existing files found in the engine's virtual file system will be overwritten and new files can be added. If you need to define new Squirrel files (.nut/.gnut) they _must_ be declared in the `"Scripts"` array in `mod.json`. An example for this might be: + +```json + "Scripts": [ + { + "Path": "path/to/my.nut", + "RunOn": "( CLIENT || SERVER ) && MP" + }, + { + "Path": "path/to/my_second.nut", + "RunOn": "( CLIENT || SERVER ) && MP", + "ClientCallback": { + "Before": "ClientPreMapspawnThing", + "After": "AfterMapspawnClientThing" + }, + "ServerCallback": { + "Before": "ServerPreMapspawncrap", + "After": "ServerAfterMapspawnWoo" + } + } + ] +``` + +> TODO: Create and link Squirrel VM documentation + +`"Path"` indicates where the script is, `"RunOn"` is the Squirrel VM context (see [Squirrel VM](getting-started.md)) as an expression, and `"ClientCallback"` and `"ServerCallback"` specify a function call that can be `"Before"` and/or `"After"` map-spawn. |