Skip to content

Configuration

mlthelama edited this page Jan 20, 2024 · 26 revisions

General

The configuration files in the source are here. Releases are here

SkyrimCharacterSheet_Champion.json, SkyrimCharacterSheet_Faction.json, SkyrimCharacterSheet_Player.json and SkyrimCharacterSheet_Thane.json support additional configuration. For Example SkyrimCharacterSheet_Champion.json will be read, but if there is a SkyrimCharacterSheet_Champion_Nazeem.json the configuration will be appended to the already read. It will not be overwritten.

SkyrimCharacterSheet_Input.json, SkyrimCharacterSheet_Keys.json, SkyrimCharacterSheet_Menu.json and SkyrimCharacterSheet_ModDetection.json do NOT support additional files as configuration.

In the following parts, keys written in BOLD are required and ITALIC for optional.

I suggest to check custom files first with a json lint

Input ("Basic" Configuration)

check here for dxscancodes for the key configuration

{
  "debug": false,
  "open_key_combination": [
    22
  ],
  "close_key_combination": [
    22
  ],
  "page_next_keys": [
    32,
    205,
    77,
    274
  ],
  "page_previous_keys": [
    30,
    203,
    75,
    270
  ],
  "pause_game": true,
  "tween_menu_only": false,
  "ignore_input_menu": ["CustomMenu"],
  "inventory_open_key_combination": [
    11
  ],
  "inventory_close_key_combination": [
    11
  ],
  "inventory_enabled": true,
  "inventory_auto_show_inventory": true,
  "inventory_auto_show_magic": false
}
  • debug [boolean]: Default false. Enable for debug log information, useful for analyzing errors or reporting errors.

Stat and Faction Menu

  • open_key_combination [int array]: Key(s) that need to be down to open the Menu
  • close_key_combination [int array]: Key(s) that need to be down to close the Menu (can be the same as open_key_combination)
  • page_next_keys [int array]: Only checked if one of the menus is open. Each of those keys will go to the next menu if pressed. Currently configured D, Arrow Right, Numpad 6 and Controller DPad Right
  • page_previous_keys [int array]: Only checked if one of the menus is open. Each of those keys will go to the previous menu if pressed. Currently configured A, Arrow Left, Numpad 4 and Controller DPad Left
  • pause_game [boolean]: Default true. If the menu is open, the game is considered as paused. (skyrim souls dll will be detected automatically and the menus will be not pause the game)
  • tween_menu_only [boolean]: Default false. Enables the mod only to take input if the tween menu is open. It also adds a small hint menu to display the first bound key and the name of the window. If wait menu redirected has been detected the key for it and the name will be displayed as well
  • ignore_input_menu [string array]: menu names that well block the input for the the mods men. for example if additemmenu search bar is open.

Inventory Stat Menu

  • inventory_open_key_combination [int array]: Key(s) that need to be down to open the Menu inside the Inventory Menu
  • inventory_close_key_combination [int array]: Key(s) that need to be down to close the Menu inside the Inventory Menu (can be the same as open_key_combination)
  • inventory_enabled [bool]: Default true. If the menu is enabled and registered
  • inventory_auto_show_inventory [bool]: Default false. If the menu should open with the inventory menu
  • inventory_auto_show_magic [bool]: Default false. If the menu should open with the magic menu

Champion

{
  "key": "azura",
  "name": "$ShowAzura",
  "mod": "Skyrim.esm",
  "quest_form": "0x00028AD6",
  "quest_stage_favor": [
    100
  ],
  "quest_stage_alternate": [
    110
  ]
}

champion object

  • key [string]: used for internal handling, will be translated to the correct enum if the name matches. for custom it can be freely chosen, except those
  • name [string]: can be just a plain string or $whatever it will require an entry in translation file (beware of the used format in that file)
  • mod [string]: name of the modfile the quest can be read from (not overwritten, defined)
  • quest_form [string]: the from id of the quest without the modindex
  • quest_stage_favor[int array]: the quest stage(s) that needs to be completed to count the quest as done
  • quest_stage_alternate[int array]: if the quest has alternate endings but is also finished. This example, got the black star not the white star.

Faction

{
  "key": "dark_brotherhood",
  "name": "$ShowDarkbrotherHood",
  "mod": "Skyrim.esm",
  "form_faction": "0x0001BDB3",
  "rank": [
    {
      "key": "assassin",
      "name": "$ShowAssassin"
    },
    {
      "key": "listener",
      "name": "$ShowListener",
      "quest": [
        {
          "mod": "Skyrim.esm",
          "form_quest": "0x0001EA59",
          "stages": [
            200,
            255
          ]
        }
      ]
    }
  ]
},

faction object

  • key [string]: used for internal handling, will be translated to the correct enum if the name matches. for custom it can be freely chosen, except those
  • name [string]: can be just a plain string or $whatever it will require an entry in translation file (beware of the used format in that file)
  • mod [string]: name of the modfile the quest can be read from (not overwritten, defined)
  • form_faction [string]: the from id of the faction without the modindex
  • rank [object array]: not required if the rank information is defined for the faction. In the following array ranks can be defined to set a name based on quests and stages. It checks object after object until there is nothing left to check or one check is not finished (quest not done)

rank object

the first entry is the default "rank" does not need a quest when the actor is in the faction

  • key [string]: can be freely chosen. I suggest an easy name, like in the examples
  • name [string]: can be just a plain string or $whatever it will require an entry in translation file (beware of the used format in that file)
  • quest [object]: information about the quest that needs to be finished for the rank to set

quest object

  • mod [string]: name of the modfile the quest can be read from (not overwritten, defined)
  • form_quest [string]: the from id of the quest without the modindex
  • stages [int array]: the quest stage(s) that needs to be completed to count the quest as done

Player

{
  "key": "lockpicking_mod",
  "display_name": "$ShowLockpickingMod",
  "actor_value": 104,
  "actor_value_handling": "single",
  "ending": "%",
  "icon_string": "av_lockpicking",
  "overwrite_mod": "hand_to_hand",
  "overwrite": {
    "display_name": "$ShowHandToHandMod",
    "icon_string": "av_unarmed"
  },
  "stats_column": "thief",
  "stats_inventory_column": "effect",
  "hide_value_when_zero": true
},

player object

  • key [string]: used for internal handling, will be translated to the correct enum if the name matches. for custom it can be freely chosen, except those
  • display_name [string]: can be just a plain string or $whatever it will require an entry in translation file (beware of the used format in that file)
  • actor_value [int or int array]: not required for defined key with a coded handling behind it. Required for custom configurations. Id can be taken from here
  • actor_value_handling [string]: single, multiply, single_with_permanent, single_with_base. Default single. All except multiply require actor_value to be [int]. multiply can work with a [int array]. It will read the given values and multiplies them example
  • actor_value_source [string]: standard, base, permanent. Default standard. What value from the actor value should be read.
  • result_handling [string]: none, multiply, divide, add. Default none.
  • result_handling_value [int]: configured value will be result_handling with the value we have read got from actor_valueexample
  • ending [string]: string that should be append after the value
  • max_handling [string]: none, armor, resistance Default none. Build to add the game setting (fMaxArmorRating and fPlayerMaxResistance) and adds them after the value.
  • icon_string [string]: Defined Values can be found here and the flash file can be found here
  • overwrite_mod [string]: mod that needs to be activated for the overwrite object to trigger. accepted values none, hand_to_hand. Default none
  • overwrite [object]: object that can overwrite name and icon for this value if the mod is active
  • stats_column [string]: none, player, defence, attack, magic, warrior, thief, special. special is used for values that have a fixed position by me like the character name. none just disables the value and will be skipped. the other value are the columns from left to right.
  • stats_inventory_column [string]: same as stats_column just for a different screen (inside the inventory menu). none, equip, armor, weapon, effect. equip, as of the writing, is only used to display the equipment and the slot a part takes.
  • hide_value_when_zero [boolean]: Default false. If set to true if a value returns 0. It will not be displayed.

overwrite object

  • display_name [string]: can be just a plain string or $whatever it will require an entry in translation file (beware of the used format in that file)
  • icon_string [string]: Defined Values can be found here and the flash file can be found here

Thane

{
  "key": "whiterun",
  "name": "$ShowWhiterun",
  "thane_name": "$ShowThaneOfWhiterun",
  "quest_mod": "Skyrim.esm",
  "quest_form": "0x000A2C9E",
  "quest_stage": [
    25
  ],
  "crime_faction_mod": "Skyrim.esm",
  "crime_faction_form": "0x000267EA",
  "pre_quest": [
    {
      "mod": "Skyrim.esm",
      "form_quest": "0x00096E71",
      "stages": [
        9000,
        9999
      ]
    }
  ],
  "bypass_quest": {
    "bypass_quest_mod": "Skyrim.esm",
    "bypass_quest_form": "0x0002610C",
    "bypass_quest_stages": [
      160
    ]
  }
}

thane object

  • key [string]: used for internal handling, will be translated to the correct enum if the name matches. for custom it can be freely chosen, except those
  • name [string]: can be just a plain string or $whatever it will require an entry in translation file (beware of the used format in that file)
  • thane_name [string]: can be just a plain string or $whatever it will require an entry in translation file (beware of the used format in that file)
  • quest_mod [string]: name of the modfile the quest can be read from (not overwritten, defined)
  • quest_form [string]: the from id of the quest without the modindex
  • quest_stage [int array]: the quest stage(s) that needs to be completed to count the quest as done
  • crime_faction_mod [string]: currently the bounty or the value is shown on the UI. name of the modfile the quest can be read from (not overwritten, defined)
  • crime_faction_form [string]: currently the bounty or the value is shown on the UI. he from id of the faction without the modindex
  • pre_quest [object]: quest that needs to be finished before the normal one can be started.
  • bypass_quest [object]: quest that can bypass the way to become a thane

pre_quest object

  • mod [string]: name of the modfile the quest can be read from (not overwritten, defined)
  • form_quest [string]: the from id of the quest without the modindex
  • stages [int array]: the quest stage(s) that needs to be completed to count the quest as done

bypass_quest object

  • bypass_quest_mod [string]: name of the modfile the quest can be read from (not overwritten, defined)
  • bypass_quest_form [string]: the from id of the quest without the modindex
  • bypass_quest_stages [int array]: the quest stage(s) that needs to be completed to count the quest as done

Mod Detection

{
  "armor_rating_rescaled_remake": true,
  "hand_to_hand": true,
  "skyrim_unbound": true,
  "skyrim_souls": true,
  "blade_and_blunt": true,
  "wait_menu_redirected": true
}

setting one of the following values to false, will block the mod from be detected

  • armor_rating_rescaled_remake [boolean]: default true
  • hand_to_hand [boolean]: default true
  • skyrim_unbound [boolean]: default true
  • skyrim_souls [boolean]: default true
  • blade_and_blunt [boolean]: default true
  • wait_menu_redirected [boolean]: default true