In order to configure plugins, plugin settings files can be used. These files should have the file extension ".set" and must be placed in the bakkesmod/plugins/settings/ folder.
Loading of settings files
By default, all files matching *.set in the plugins/settings folder are loaded when the game/mod is loaded. Alternatively, the command "cl_settings_refreshplugins" can be used to reload all settings files whilst in-game.
Note: All files matching *.set will be loaded, so this means you do not have to have a matching dll name. This way you can split settings over multiple tabs if needed.
The .set files are simply textfiles, thus they can be edited with any text editor.
The first line of the .set file is the label that is shown in the left of the "plugins" tab in-game. From line 2 and onward, components can be declared. The components are in the form of $id|$param1|$param2|... Currently, the following components are implemented:
|0||Label|command||Button||Will execute command when button is pressed|
|1||Label|cvar||Checkbox||Will set cvar to true or false|
|2||Label|cvar|min_val|max_val||Float range slider||Range slider allowing the user to select a range (float)|
|3||Label|cvar|min_val|max_val||Integer range slider||Range slider allowing the user to select a range (int)|
|4||Label|cvar|min_val|max_val||Float slider||Slider allowing the user to select one value (float)|
|5||Label|cvar|min_val|max_val||Integer slider||Slider allowing the user to select one value(int)|
|6||Label|cvar|options||Combobox||options=items inside the combobox in the form of label@value, separated by &. For example:
key1@val1&key2@val2, will display "key1" and "key2" to the user, and set cvar to either "val1" or "val2"
|7||Same line||Will make it so the item declared under this component is on the same line as the item declared above this component|
|8||Separator||Will insert a separator line at this position|
|9||Label||Label||Will simply render the label, has the ability to display cvar values, for example:
9|cl_goalreplay_pov value is $cl_goalreplay_pov$.
|10||cvar||Grayed component start||Will disable all components below if the evaluated cvar is false until grayed component end is found|
|11||Grayed component end||Ends the earlier declared grayed component section|
|12||Label|cvar||Textbox||Will set cvar value equal to whatever is in the textbox. Note: this will automatically be applied as soon as a single character is added/removed/changed.|
Labels for components are also used as identifiers, therefore if you use the same label for two components you could run into some issues, to fix this, simply add ##id to the label to add an identifier. For example