aboutsummaryrefslogtreecommitdiff
path: root/docs/modding/squirrel/setting-mods
diff options
context:
space:
mode:
Diffstat (limited to 'docs/modding/squirrel/setting-mods')
-rw-r--r--docs/modding/squirrel/setting-mods/settingmodsintro.md5
-rw-r--r--docs/modding/squirrel/setting-mods/the-json.md38
-rw-r--r--docs/modding/squirrel/setting-mods/the-language-file.md17
-rw-r--r--docs/modding/squirrel/setting-mods/the-mod-file.md96
4 files changed, 0 insertions, 156 deletions
diff --git a/docs/modding/squirrel/setting-mods/settingmodsintro.md b/docs/modding/squirrel/setting-mods/settingmodsintro.md
deleted file mode 100644
index 98df141..0000000
--- a/docs/modding/squirrel/setting-mods/settingmodsintro.md
+++ /dev/null
@@ -1,5 +0,0 @@
-Introduction to creating mutators and settings
-=======================
-Mutators or setting mods are mods that apply additional functions to otherwise normal gamemodes, they should be able to support all gamemodes and care should be taken to ensure that when the setting is disabled they do nothing.
-
-This section will explain how to create a basic randomiser mutator
diff --git a/docs/modding/squirrel/setting-mods/the-json.md b/docs/modding/squirrel/setting-mods/the-json.md
deleted file mode 100644
index db80a55..0000000
--- a/docs/modding/squirrel/setting-mods/the-json.md
+++ /dev/null
@@ -1,38 +0,0 @@
-The mod.json
-============
-
-The mod.json is responsible for governing when, and where your mod is loaded, and follows a layout that is fairly complicated at first glance, but ultimately simple
-
-```json
-{
- "Name" : "SimpleRandomiser",
- "Description" : "SimpleRandomiser",
- "Version": "0.1.0",
- "LoadPriority": 1,
-```
-The script above defines the pubic and listed details of the mod
-```json
- "Scripts": [
- {
- "Path": "sh_SimpleRandomiser.gnut",
- "RunOn": "MP",
- "ClientCallback": {
- "After": "simplerandomiser_init"
- },
-
- "ServerCallback": {
- "After": "simplerandomiser_init"
- }
- }
- ],
-```
-The scirpt above defines both what functions to run, when to run them and WHERE to run them, in this case it runs your simplerandomiser_init, when on multiplayer and for both the server and the client
-```json
- "Localisation": [
- "resource/simplerandomiser_localisation_%language%.txt"
- ]
-}
-```
-this defines the path to the language file
-
-name this file mod.json, and it should go in the mods root folder
diff --git a/docs/modding/squirrel/setting-mods/the-language-file.md b/docs/modding/squirrel/setting-mods/the-language-file.md
deleted file mode 100644
index 89adea8..0000000
--- a/docs/modding/squirrel/setting-mods/the-language-file.md
+++ /dev/null
@@ -1,17 +0,0 @@
-Language file
-=======
-This follows a fairly simple template, the only thing of note is that you often get strange behaviour using `utf-8` when saving the file instead of using `utf-16 le`
-
-```
-"lang"
-{
- "Language" "english"
- "Tokens"
- {
- "MODE_SETTING_CATEGORY_SIMPLERANDOMISER" "Simple Randomiser"
- "SIMPLERANDOMISER" "Randomise"
- }
-}
-```
-
-Name this file simplerandomiser_localisation_english.txt and place it in the `yourmodsname/mod/resources/` folder
diff --git a/docs/modding/squirrel/setting-mods/the-mod-file.md b/docs/modding/squirrel/setting-mods/the-mod-file.md
deleted file mode 100644
index 069e3e2..0000000
--- a/docs/modding/squirrel/setting-mods/the-mod-file.md
+++ /dev/null
@@ -1,96 +0,0 @@
-Mod time
-========
-lets actually get started then on making a setting mod, this will involve the making of 3 things for a simple one. a mod.json, a language file and the mod itself
-
-lets get started with the mod itself
-
-The mod
-=======
-to begin with we need to answer the simple question of "what are we making" for our example lets make a simple randomiser than randomises your weapon on each spawn.
-
-Because this is a setting mod it will only need to be installed on the serverside but it also wont appear in the browser unless the host puts it in the name.
-
-so lets get started with our **initial function**
-
-The initial function
----------
-The initial function is the function that is called on server startup and contains 2 important things.
-the **callbacks** and the **setting buttons** to add the settings to the private match settings we need to use a new function:
-
-`AddPrivateMatchModeSettingEnum("string", "string", ["#SETTING_ENABLED", "#SETTING_ENABLED"], "0")`
-
-this might look complicated, but really its just (Category, settingname, [setting options], default value) however we use terms like "#MODE_SETTING_CATEGORY_RANDOMISER" in place of the category name so that we can create language files for different languages.
-(we will make that later)
-```cpp
-void function simplerandomiser_init(){
- AddPrivateMatchModeSettingEnum("#MODE_SETTING_CATEGORY_SIMPLERANDOMISER", "SimpleRandomiser", ["#SETTING_ENABLED", "#SETTING_ENABLED"], "0")
-
- #if SERVER
- AddCallback_OnPlayerRespawned(GiveRandomGun)
- #endif
- }
- ```
-As you may have noticed, checking if it is a server is a special case, so we use #if SERVER and #endif instead of the usual if(thing){stuff}
-
-Now that our initial function is created we now have the game triggering `GiveRandomGun` on spawn, but we dont have any such function, so lets make one. but before we can do that, we need to know what weapons we can equip.
-for this we define an array
-
-```cpp
-array<string> pilotWeapons = [
- "mp_weapon_alternator_smg",
- "mp_weapon_autopistol",
- "mp_weapon_car",
- "mp_weapon_dmr"]
-```
-here we have defined an array with only 4 weapons in it, you can make this list as long or as short as you like but remember to seperate all but the last item with a ,
-
-Now lets make a function to check if you enabled the setting
-```cpp
-bool
-Next lets make the randomise function:
- bool function SimpleRandomiserEnabled()
- return GetCurrentPlaylistVarInt("SimpleRandomiser", 0) == 1
-```
-
-Randomise function
-----------------
-As we already know its going to call GiveRandomGun on respawn, lets define that now.
-
-First we strip any existing weapons:
-```cpp
-void function GiveRandomGun(entity player){
- foreach ( entity weapon in player.GetMainWeapons() )
- player.TakeWeaponNow( weapon.GetWeaponClassName() )
-```
-this iterates through each weapon and removes them individually.
-
-Then lets give them a new, random weapon by selecting a random item from our previous array:
-```cpp
- player.GiveWeapon(pilotweapons[RandomInt(pilotweapons.len())])
-```
-And done, surprisingly short script huh?
-```cpp
-void function simplerandomiser_init(){
- AddPrivateMatchModeSettingEnum("#MODE_SETTING_CATEGORY_SIMPLERANDOMISER", "SimpleRandomiser", ["#SETTING_ENABLED", "#SETTING_ENABLED"], "0")
-
- #if SERVER
- AddCallback_OnPlayerRespawned(GiveRandomGun)
- #endif
- }
-
-array<string> pilotWeapons = [
- "mp_weapon_alternator_smg",
- "mp_weapon_autopistol",
- "mp_weapon_car",
- "mp_weapon_dmr"]
-
-void function GiveRandomGun(entity player){
- foreach ( entity weapon in player.GetMainWeapons() )
- player.TakeWeaponNow( weapon.GetWeaponClassName() )
- player.GiveWeapon(pilotweapons[RandomInt(pilotweapons.len())])
-}
-```
-
-Alas **we arent done yet** We still need the **mod.json** and the **language file**
-
-Name this sh_SimpleRandomiser.gnut and place it in the `yourmodsname/mod/scripts/vscripts/` folder