aboutsummaryrefslogtreecommitdiff
path: root/modding/getting-started.md
diff options
context:
space:
mode:
Diffstat (limited to 'modding/getting-started.md')
-rw-r--r--modding/getting-started.md63
1 files changed, 63 insertions, 0 deletions
diff --git a/modding/getting-started.md b/modding/getting-started.md
new file mode 100644
index 0000000..b9ee1f5
--- /dev/null
+++ b/modding/getting-started.md
@@ -0,0 +1,63 @@
+# Getting Started with Modding
+
+## 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="modding/getting-started-with-modding"}
+[modding-tutorials](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](#)) as an expression, and `"ClientCallback"` and `"ServerCallback"` specify a function call that can be `"Before"` and/or `"After"` map-spawn. \ No newline at end of file