0 of 0

File information

Last updated

Original upload

Created by

powerofthree-sasnikol

Uploaded by

powerofthree

Virus scan

Safe to use

Mod articles

  • SPID: The Complete Reference

    SPID: The Complete Reference
    as of SPID 7.2.0

    Everything you need to know to start creating SPID mods.

    Changelog


    09.06.25
    Updated for SPID 7.2.

    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 Fi...

  • Outfit Distribution

    Outfit Distribution
    available in SPID 7.2.0+


    Summary

    SPID 7.2+ features a brand-new Per-Actor Outfit Distribution. To pull that off SPID implements a whole new layer on top of Skyrim's Default Outfit system. This new layer is responsible for tracking outfits of individual Actors and making sure the game treats them as the new Default Outfit without interfering with the game's original outfit logic. This provides several important benefits that are described below.


    Per-Actor Distribution

    Outfit Distribution works on individual Actors. Whereas game allows only NPCs to have an Outfit (so that all instances of the same NPC would have identical outfits), SPID allows each instance of the same NPC to have their own outfit.

  • Exclusive Groups

    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...

  • Linked Distribution

    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

    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

    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...