0 of 0

File information

Last updated

Original upload

Created by

jepster

Uploaded by

jepster

Virus scan

Safe to use

Tags for this mod

20 comments

  1. Klehron
    Klehron
    • premium
    • 1 kudos
    I have another question. Don't know if I'm right here:

    What is actually the best way to set the loadorder for a customized wabbajack list with additional mods and possible patches?
    Loot should not be used with Wabbajack lists because it destroys the tediously manually created load order.

    I tried to sort my additional plugins/patches using Loot.  Then I looked at which plugin they were sorted behind. I then entered this in the Json configuration under PluginDependencies and let run the Wabbbajack Customizer.

    The result was that I had some clipping effects in the landscape (holes in the ground),  although I didn't install any additional mods to change anything there. 
    It took me a while to figure out that it probably has to do with the order.

    It's hard to ask the authors of the Wabaajack lists because they don't offer support for customizing for customizing. Hence my question, what is the best way to determine the position of the additional plugins/patches?
    1. jepster
      jepster
      • premium
      • 84 kudos
      This is a difficult question, because there is no golden bullet. Most modlist authors and modders I heard do not recommend loot.
      The most difficult part is understanding what is the right position of a plugin in your load order. For a start you can load your custom mods after the ones from the Wabbajack modlist. This works fine for many cases. As you read mod descriptions, do some trial and error you start to get a basic understanding of some general good practices. Once your modlist grows and you become more advanced you need to understand reading and resolving conflicts which are displayed nicely in latest beta of MO2. There are some good videos on xedit on Youtube.
      Once you know the right position of the plugin you can use PluginDependencies of this mod to arrange for sorting.

      I am sure my load order is not perfect, but I do not have major issues with it and perhaps it helps as inspiration. Showing the folders for better sorting and categorisation:
      https://imgur.com/dwGHOMt
  2. Klehron
    Klehron
    • premium
    • 1 kudos
    Hello, this is a nice tool to customize a Wabbajack list. I like it and thanks for the work.

    But I have one question: Wenn I add [NoDelete] to this mod, so that it won't be removed after updating a Wabberjack list, the powershell script can't be executetd anymore. I think it is because of the brackets. The workarround is to don't add [NoDelete]. 

    Is there a way how the powershell can be executed with brackets in the folder name?
    
    1. jepster
      jepster
      • premium
      • 84 kudos
      Thanks for the feedback!
      Generally it should work with mods named [NoDelete] because this was the purpose for me to do this. I have many mods like this in my list as well. Do you have some more debug info for me, e.g. the name of the mod where it breaks or log output? I am traveling the next 2 weeks but can take a look afterwards
    2. Klehron
      Klehron
      • premium
      • 1 kudos
      I got following error (it is in German) when I start the powershell script:
      Get-ChildItem : Der Pfad "C:\Windows\System32\p" kann nicht gefunden werden, da er nicht vorhanden ist.
      In D:\Beowulf-Modlist\mods\[NoDelete] 00 Wabbajack customizer\SetupAssistant.ps1:9 Zeichen:19
      + ... oundFiles = Get-ChildItem -Path "..\..\profiles\" -Filter "plugins.tx ...
      +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : ObjectNotFound: (C:\Windows\System32\p:String) [Get-ChildItem], ItemNotFoundException
          + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
      Cannot find the folder where MO2 configuration files (plugins.txt, modlist.txt) are located. Please search manually and enter the path in the configuration file under 'folderTargetProfile'

      Second question:
      Is it possible to start the script with command line parameters? The reason for the question is that I'm plan to write a own wrapper arount it to update the the wabbajack list. I let Loot run with the additonal mods, generate the config file with the correct possition of the Mods and finaly run your script to keep the loadorder from the wabberjack list.
    3. jepster
      jepster
      • premium
      • 84 kudos
      Great, this is a log I can work with when I get home mid of the month. A quick question. In your folder D:\Beowulf-Modlist\profiles there are several subfolders for your MO2 profiles and within those can you check for plugins.txt. If this file is in there?

      Generally it should be possible to wrap my script. Actually this is what I have been doing myself. The file
      SetupAssistant.ps1
      is the wrapper and the other .ps1 file (forgot the name) is the one doing the magic with parameters passed over. I have probably been bad with my documentation but you can take a look at the scripts to understand the parameters. Or wait until I am back and I can look for you.
    4. Klehron
      Klehron
      • premium
      • 1 kudos
      Yes, there are two profiles. The original one and the new one which I'm using. Both profiles contains the file plugins.txt.

      If I rename the Mod folder from [NoDelete] 00 Wabbajack customizer to 00 Wabbajack customizer the whole customizing process is working. Maybe the issue is not in your code but in some settings on my Windows. I'm not an expert with Powershell, so I'm asking.
    5. jepster
      jepster
      • premium
      • 84 kudos
      The strange thing is that my path is quite similar and it works including a [NoDelete] tag: 'D:\MO2-Skyrim VR Minimalistic Overhaul\mods\[NoDelete] zzz Wabbajack Customizer'
      What you can do is try to change line 9 of the file SetupAssistant.ps1 to:
      $foundFiles = Get-ChildItem -Path "D:\Beowulf-Modlist\profiles\" -Filter "plugins.txt" -File -Recurse
      This way the script uses an absolute path, which may be a workaround for you.

      Regarding your question to start the script with command line parameters, this should be possible.
      You can use the following syntax and parameters:
      ActivateMods.ps1 -configParam $config -targetProfile $targetProfile -sourceProfile $sourceProfile
      The script copies over all configs from $sourceProfile into $targetProfile and then applies the rules defined in $config
      You can also specify sourceProfile "None". In that case the script does not recreate the targetProfile, but expects $targetProfile to be there already and simply applies the rules from $config.
      You can define and use different $config files. Just check the syntax e.g. in config_default.json.
    6. Klehron
      Klehron
      • premium
      • 1 kudos
      Thanks a lot for you feedback. 

      In the meantime I found out that it works when I open a powershell console in the mod folder and run the script. Powershell doesn't like the characters [ and ] in a path. You have to quote it with `, e.g. `[NoDelete`] 00 Wabbajack customizer\
      When I use the absolut path it also works. Thanks.
  3. Innocento
    Innocento
    • premium
    • 1 kudos
    Hi, one question. When setting up dependencies in config, let's say with this example:

    ["DVLaSS.esp", "Azurite Weathers II.esp"],

    Is "DVLaSS.esp" considered mod "A" or mod "B" as in "Load A directly after B"?
    1. Innocento
      Innocento
      • premium
      • 1 kudos
      Also I believe in the dependencies part I use the names of plugins instead of the names of mods?
    2. jepster
      jepster
      • premium
      • 84 kudos
      Sorry for the late reply, have not checked the posts some time.
      In your example DVLaSS.esp is mod A
      And you are right for dependencies the names of thr plugins must be used
  4. kboot
    kboot
    • premium
    • 72 kudos
    So I have tried this and it didn't work... I guess I missed up somewhere

    {


      "comment1": "Path to MO2 source profile with configuration files. If folderAlternateProfile is defined as an empty string, the script will not create/setup an alternate profile",
      "folderDefaultProfile": "C:\\Wabbajack Profiles\\Fahluaan\\profiles\\Fahluaan - Default\\",
      "folderAlternateProfile": "C:\\Wabbajack Profiles\\Fahluaan\\profiles\\Fahluaan - Default Profile\\",
      "modsDirectory": "C:\\Wabbajack Profiles\\Fahluaan\\mods\\",
     

     
      "comment2": "The following 3 configuration values define the mods used for the default profile. You can give the exact name of the mod as you see it in MO2 here or use partial names to work as wildcards.",
      "activateModsDefaultProfile": [
    "[NoDelete] a",
    "Mod that I like on top"
      ],

      "deactivateModsAlternateProfile": [
     "Power Attack Direction Fix - AE",
    "Mod from the modlist that I do not like"
      ],

      "comment3": "With this configuration value you can manage plugin dependencies. The syntax can be read like  'Load A directly after B'",
      "pluginDependenciesDefaultProfile": [
    ["AAAAAAAAAAAAAAA.esp", "BBBBBBBBBBBBBB.esp"],
    ["CCCCCCCCCCCCC.esp", "DDDDDDDDDDDDDDD.esp"]
      ],




      "comment4": "The following 3 configuration values define the mods used for the alternate profile. The logic is to take the default profile as a base and from here enable/disable mods for the alternate profile.",
      "activateModsAlternateProfile": [
    "[NoDelete] x"
      ],

      "deactivateModsDefaultProfile": [
    "Power Attack Direction Fix - AE",
    "Special mod for the alternate profile to deactivate"
    ],

      "pluginDependenciesAlternateProfile": [
    ["AAAAAAAA.esp", "BBBBBBBBB.esm"],
    ["CCCCCCCCCCCC.esm", "DDDDDDDDDD.esp"]
      ]
    }
    1. jepster
      jepster
      • premium
      • 84 kudos
      The config file looks good. What kind of error do you get when you run the script? Can you paste the error here?
    2. kboot
      kboot
      • premium
      • 72 kudos
      It didn't really give me an error. It just failed to activate the mods and disable the mod after the update when I ran the powershell script.
    3. jepster
      jepster
      • premium
      • 84 kudos
      I have uploaded a new version which I think might fix it. If you are willing to try, would be very happy about any feedback
    4. kboot
      kboot
      • premium
      • 72 kudos
      I ran it and the script is closing immediately. No result
    5. jepster
      jepster
      • premium
      • 84 kudos
      Next try. I have pretty much redeveloped the tool so it is more comprehensive and hopefully fixed the bug mentioned by you
  5. Piranha91
    Piranha91
    • premium
    • 67 kudos
    I was just thinking of building something like this myself, but looks like I got beaten to the punch. This looks super useful. Quick Q - is the `[NoDelete]` a Wabbajack behavior, or something from your Powershell script?

    One other Q - I was thinking of making a Synthesis/Mutagen app that checks one or more designated manual CR patches against their masters and tells you which records might need to be updated due to a change in one of their master mods. If I can get this built, would you be interested in including it as part of your customizer script?
    1. jepster
      jepster
      • premium
      • 84 kudos
      Hi, the `[NoDelete]` is a general Wabbajack behavior. It is really useful to maintain additional mods in conjunction with a modlist you may like to update from time to time.

      Regarding the other question, I am not sure I fully got the idea. But always happy to include something useful. Once you are ready you can let me know how you would like to include it. Or if you like, feel free to reuse my code.