Mod articles
-
To write your first configuration file you will first want to analyze how this framework handles input and output of data.
The framework will read all the configurations present in Data/SKSE/Plugins/AchievementsData and will inject the achievements present in the configuration files via the event listeners that are available. Each configuration file refers to a specific plugin, but more on that later.
When an achievement is unlocked, this will be saved in SKSE/Plugins/AchievementInjector, and by default achievements are character-based, which means that each character will have its own savefile. It's possible to enable global achievements through the mod configuration menu. These files will contain the data regarding achievements that have been completed or that are ongoing, th... -
Finding FormIDs of elements
One thing that you will need to know across the board to create your own achievements is knowing how to find FormIDs. If you're an experienced modder you can skip to the next section.
Let's start by loading up the Creation Kit and let's take as example the simplest of items: Iron Dagger.
First you need to use the icon in the top-left corner of your menu to choose what plugins to load. If you're looking for items in mods you will need to load those too, in this case the Iron Dagger is defined in the base game, so let's load only "Skyrim.esm"
In the top left of the object window you can find research filter. Let's search for "IronDagger".
The first column shows you what is called _EditorID_, which is a textual ... -
Plugin Override
All formids in conditions usually refer (and are checked against) to the plugin defined in the root structure, however, there is a way to override the plugin per-condition. As example, say that actor 01A67B is in "MyPlugin.esp", you can simply use:
"conditions": ,
Working with localizations
If you want to localize your achievements, you can put your localizations in Data/AchievementsData/Localizations.
The localization must have the same name of your JSON file and also contain the first two letters of the language to localize, so for SkyrimSE.json, my english localization will be SkyrimSE_EN.txt.
Localization files are text files that contain a key/value pair for each line, where the key starts with a $ sign, and the separator between key...