Skip to content

mwseMCMConfigVariable⚓︎

A ConfigVariable fetches a json file from a given path and stores the variable in the id field in that file. If no config file of that name exists yet, it will create it.

The ConfigVariable saves to the config file every time the setting is updated. It is generally recommended you use TableVariable and save the config using template.saveOnClose() instead, especially if you are using a setting where updates happen frequently such as with sliders.

This type inherits the following: mwseMCMVariable

Properties⚓︎

class⚓︎

The type of the variable.

Returns:

  • result (string)

componentType⚓︎

The type of this component.

Returns:

  • result ("Variable")

converter⚓︎

This function is called when the value of the variable is changed. The function can modify the new value before it is stored.

Returns:

  • result (fun(newValue): unknown)

defaultSetting⚓︎

If there is no value stored by the id key in the config file, it will be initialized to this value.

Returns:

  • result (unknown)

id⚓︎

Key in the config file used to store the variable.

Returns:

  • result (string)

inGameOnly⚓︎

If true, the setting containing this variable will be disabled while the game is on main menu.

Returns:

  • result (boolean)

path⚓︎

Location of the config file relative to Data Files/MWSE/config/.

Returns:

  • result (string)

restartRequired⚓︎

If true, updating the setting containing this variable will notify the player to restart the game.

Returns:

  • result (boolean)

restartRequiredMessage⚓︎

The default text is a localized version of: "The game must be restarted before this change will come into effect.".

Returns:

  • result (string)

value⚓︎

The value stored in the variable.

Returns:

  • result (unknown)

Methods⚓︎

get⚓︎

Returns the value stored in the variable.

local value = myObject:get()

Returns:

  • value (unknown)

new⚓︎

Creates a new variable of this type.

local variable = myObject:new({ id = ..., path = ..., defaultSetting = ..., inGameOnly = ..., numbersOnly = ..., restartRequired = ..., restartRequiredMessage = ..., converter = ... })

Parameters:

  • variable (table)
    • id (string): Key in the config file used to store the variable.
    • path (string): Location of the config file relative to Data Files/MWSE/config/.
    • defaultSetting (unknown): Optional. If there is no value stored by the id key in the config file, it will be initialized to this value.
    • inGameOnly (boolean): Default: false. If true, the setting containing this variable will be disabled if the game is on main menu.
    • numbersOnly (boolean): Default: false. If true, only numbers will be allowed for this variable in TextFields.
    • restartRequired (boolean): Default: false. If true, updating the setting containing this variable will notify the player to restart the game.
    • restartRequiredMessage (string): Optional. The default text is a localized version of: "The game must be restarted before this change will come into effect.".
    • converter (fun(newValue): unknown): Optional. This function is called when the value of the variable is changed. The function can modify the new value before it is saved.

Returns:


set⚓︎

Changes the value stored in the variable. Calls the converter function with the new value before saving.

myObject:set(newValue)

Parameters:

  • newValue (unknown)