Mod articles
-
Exclusive Groups
available in SPID 7.0.0+
Changelog
Dec 6, 2024
Cleaned all the invisible characters that caused issues when trying to copy code examples.
Summary
Exclusive Groups define sets of distributable forms where only one from the set can be distributed at any time.
Ordering and other distribution rules are unaffected by Exclusive Group. The entry that is distributed first according to default ordering will prevent all other entries from the same Exclusive Group to be distributed to the same NPC.
Note, that Exclusive Groups also affect Linked Distribution and On Death Distribution.
Syntax
ExclusiveGroup = GroupName|FormsList
requir... -
SPID: The Complete Reference
as of SPID 7.0.0
Everything you need to know to start creating SPID mods.
Changelog
17.04.24
Removed section about special Outfits ordering. The reverse ordering was removed in SPID 6.5.0
Table of Contents
General Distribution Info
How does SPID load configs?
When distribution happens?
In what order forms are distributed?
Syntax
Form Type
Type Inferring
Distributable Form
Filtering
String Filters
Supported Strings
String Expression Modifiers
Form Filters
Supported Fil... -
Linked Distribution
available in SPID 7.0.0+
Summary
Linked Forms define unconditional distribution by linking to other Distributable Forms*. They use the same ordering rules as regular entries. When a parent entry is distributed, all Linked Forms are automatically distributed as well to the same NPC.
Linked Distribution is not recursive, so linking forms to other Linked Forms won't cause a cascading distribution. Only immediate "descendants" of the original Distributable Form will be distributed.
Finally, Linked Forms are also controlled by Exclusive Groups, so that if Linked Forms are part of an Exclusive Group and another form from the same group is being distributed, then Linked Forms won't be distributed. -
On Death Distribution
available in SPID 7.1.0+
Summary
A special kind of distribution that occurs only when NPC dies. In SPID 6 and lower it was known as DeathItem. But now this concept is extended to allow any supported Distributable Form to be marked as On Death Distributable Form, even though not all Distributable Forms make sense to be distributed on death, perhaps you will find a creative use for it :D
Note that On Death Distribution also supports Exclusive Groups and can be used by Linked Distribution.
Syntax
Syntax is very similar to regular entries, with one key difference - FormType is prefixed with Death keyword.
DeathFormType = FormOrEditorID|StringFilters|FormFilters|LevelFilters|Tra... -
FormIDs and You
available since forever
The algorithm for writing FormID in _DISTR file is the following:
Grab a FormID in xEdit (or by any other means)
If plugin is one of the base game's plugins (Skyrim.esm or one of the DLCs (but not the Creation Club)) skip go straight to step #5.
For ESP/ESM plugins delete first 2 digits (so the result will contain only 6 digits), for ESL (ESLified) plugins delete first 5 digits (so the result will contain only 3 digits)
Append to the end of this result the exact plugin name (including file extension) with tilde (~). e.g. ~MyMod.esp.
If the result contains any leading zeros remove all of them.
Finally, prefix what's left with 0x.
Now you'll have the correct FormID encoded in...