aboutsummaryrefslogtreecommitdiff
path: root/doc/examples/babysfirstaddon.md
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2017-11-18 16:00:29 -0500
committerAlexander Pickering <alexandermpickering@gmail.com>2017-11-18 16:00:29 -0500
commit25e4d04a331a6a0b9d897d4f721757730771ff97 (patch)
tree4f410e968ea6e377c53e55e92a495f47a9e504a7 /doc/examples/babysfirstaddon.md
parent8ed7aec95941c0752a0ae21d10594579c39677fb (diff)
downloadartery-25e4d04a331a6a0b9d897d4f721757730771ff97.tar.gz
artery-25e4d04a331a6a0b9d897d4f721757730771ff97.tar.bz2
artery-25e4d04a331a6a0b9d897d4f721757730771ff97.zip
More documentation
* Documented the item table * Documented the inventory table * Started writing tutorials
Diffstat (limited to 'doc/examples/babysfirstaddon.md')
-rw-r--r--doc/examples/babysfirstaddon.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/doc/examples/babysfirstaddon.md b/doc/examples/babysfirstaddon.md
new file mode 100644
index 0000000..595ad77
--- /dev/null
+++ b/doc/examples/babysfirstaddon.md
@@ -0,0 +1,29 @@
+# Tut 0x01 - Baby's First Addon
+
+A quick primer on addons for Garry's Mod, and Artery.
+
+You may have seen on the gmod wiki, instructions on running lua code. One way is to place files in your `garrysmod/lua/autorun` directory, and they will be run automatically when you enter single player. This can get messy though, another way to run lua is by making a folder in `garrysmod/addons/<addon_name>/lua/autorun`, and placing your scripts in that (i.e. so that `garrysmod/addons/my_first_addon/lua/autorun/hello.lua` is a valid file). As it turns out, all folders under `garrysmod/addons/<addon_name>` get reflected! This means that if you have a file `garrysmod/addons/data/pac3/my_pac.txt` it will appear in the pac editor and a pac you can load!
+
+This is the method used by addons for Artery. Since Garry's Mod loads addons's autorun BEFORE gamemodes, Artery uses the `data/artery/global/` folder to run scripts after the gamemode as loaded (and therefore has access to the nrequire() function, more on this later).
+
+## Lets get started
+
+Start by creating a new folder under `garrysmod/addons/` called `artery_rougelite`. We'll be using this folder for the rest of the tutorials to build a small rougelike gamemode to explore the different features artery provides.
+
+Now create another folder under the folder you just made `garrysmod/addons/artery_rougelite/data`
+
+Now another `garrysmod/addons/artery_rougelite/data/artery/`
+
+And another `garrysmod/addons/artery_rougelite/data/artery/global/`
+
+With the folder structure set up, we're ready to actually write some lua.
+
+Create a file `garrysmod/addons/artery_routelite/data/artery/global/helloworld.txt`
+
+and copy+paste the following code into it.
+
+```
+print("Hello, world!")
+```
+
+Now start up garrysmod with the Artery gamemode selected. Head into flatgrass or something. Open your console, you should see "Hello, world!" printed.