Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

SkyHorizon

Uploaded by

SkyHorizon3

Virus scan

Safe to use

99 comments

  1. Cutleast
    Cutleast
    • premium
    • 41 kudos
    Locked
    Sticky
    If you have an Issue, please join our Discord and send us the full log there.
  2. LordBuMing
    LordBuMing
    • premium
    • 28 kudos
    Sorry to ask but how should esp2dsd be used?When I click on the exe, nothing happens
    1. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      Via cmd: ./esp2dsd.exe <original plugin path> <edited/translated plugin path>
      Example:
      ./esp2dsd.exe "C:\Users\User\Downloads\test1\Guards_Armor_Replacer.esp" "C:\Users\User\Downloads\test2\Guards_Armor_Replacer.esp"
  3. christrader11
    christrader11
    • member
    • 0 kudos
    Hi SkyHorizon, thank you for the useful mod! It would be great if you could fix the subtitles (INFO NAM1) also for version 1.5.97. Cheers!
    1. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      They work fine for me. What's the issue with them?
    2. christrader11
      christrader11
      • member
      • 0 kudos
      I am trying to replace a Dialog Topic in the mod Dirt and Blood. Please have a look at my json:

          [
          {
              "form_id": "000862|Dirt and Blood - Dynamic Visuals.esp",
              "type": "INFO NAM1",
              "index": 1,
              "string": "Du bist ganz dreckig!"
          },
          {
              "form_id": "000838|Dirt and Blood - Dynamic Visuals.esp",
              "type": "SPEL FULL",
              "string": "Hygiene"
          }
          ]

      I have set up everything correctly because "SPEL FULL" is successfully replaced but not he INFO NAM1. I have checked your documentation at https://github.com/SkyHorizon3/SSE-Dynamic-String-Distributor/blob/main/doc/Doc.md but maybe I am doing something wrong? Sorry to bother you but I have been trying since 1.1.3 and while your update today mentioned 1.6.1130+ specificially I thought to bring up my issue.

      Thanks and have a good day!
    3. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      The json looks fine. It should work. Sure it's not working? I'll give it a try later. :)
      EDIT: I found another issue. Fix will be up soon
      EDIT2: Should work now with 1.2.0
    4. christrader11
      christrader11
      • member
      • 0 kudos
      Works like a charm now!
  4. Fractalbase
    Fractalbase
    • premium
    • 4 kudos
    fyi with the mod's dll enabled, for some reason, map markers are non-existant.  disabling the dll or uninstalling the mod resolves missing map markers.
    1. takahirn
      takahirn
      • member
      • 11 kudos
      I also confirm the issue of disappearing map markers (in English). 

    2. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      Please tell me if the problem has been solved with version 1.1.8. I'm getting crazy with this one xD. What's you're Skyrim version?
    3. takahirn
      takahirn
      • member
      • 11 kudos
      Just confirmed (fixed map markers) with SE1.5.97: 
      - For already discovered vanilla ones (during disabled): stay discovered
      - New (undiscovered) vanilla ones: can be discovered now. 

      Really thank you for the fix!
  5. BraniyaKz
    BraniyaKz
    • supporter
    • 1 kudos
    Uhh... Windows Defender just notified me that your esp2dsd leaked a trojan that can't be quarentined. File check says its safe. False flag? Hopefully. But still can't contain or get rid of it. :( Edit: Says its a Trojan:Win32/Wacatac.H!ml
    1. Cutleast
      Cutleast
      • premium
      • 41 kudos
      Yep, false flag. But I don't know though why you shouldn't be able to delete or quarantine it...
    2. BraniyaKz
      BraniyaKz
      • supporter
      • 1 kudos
      It's still there... i did a safe boot trying to remove it. what happened is the download failed and it never actually went into my drive completely. Nothing funny is happening with my pc, I didn't get another notification about it, but it still shows up in WD past notifications.
  6. LummoxJR
    LummoxJR
    • member
    • 1 kudos
    I'm working on something for fiddling with merchant gold in SkyPatcher, and realized that if I want to alter the Master Trader perk in a way that's mod-agnostic (e.g., I use Vokrii), it'd be nice to be able to replace text in a string without necessarily rewriting the string completely. Would it be possible to add a find/replace option?

    In my use case, the idea would be to modify perk 001090A5's DESC and replace "1000" with the new amount. It'd be awesome to be able to find/replace on word boundaries and have other handy functionality, but a simple replacement would suffice for this case.
    1. Cutleast
      Cutleast
      • premium
      • 41 kudos
      You could use xTranslator to search and replace the strings, then finalize it to a copy of the plugin and use esp2dsd from optional files here to create a JSON file for DSD.
    2. LummoxJR
      LummoxJR
      • member
      • 1 kudos
      Well as I understand it, DSD will just distribute the strings to the given form ID. But Vokrii overrides the description for the Master Trader perk from Skyrim.esm. AFAIK, there isn't a way to set up a .json file that would handle the replacement differently based on whether Vokrii is installed. So I could use this to make a change specific to my mod list, but I couldn't make the string change part of a new mod without adding patches.

      Being able to replace a number in a string no matter which mods had acted on it would be a pretty powerful addition.
    3. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      Is the 1000 defined in the string or does the string only contain <mag> instead? I could add options to replace all occurrences of specific words, but changing replacer tags would be more difficult. But I assume SkyPatcher can already replace these values...
    4. LummoxJR
      LummoxJR
      • member
      • 1 kudos
      "1000" is hardcoded in the string. I believe it has to be this way because the way the perk is actually implemented is via a leveled list that's part of most merchants' containers. The amount of gold is in the leveled list, not in the perk itself, so it isn't directly tied to the perk reference. So "<mag>" isn't really available for the perk text because of that disconnect.
    5. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      That's right, thanks. I'll add support for replacing single words/numbers of strings in the next update :)
    6. LummoxJR
      LummoxJR
      • member
      • 1 kudos
      Thanks! That's awesome. I can put it to work in my very first mod.
  7. jayserpa
    jayserpa
    • premium
    • 7,453 kudos
    Hey SkyHorizon! This is a very cool mod, nice one. Currently it's only really useful for translations, but I have an idea that could make it useful for basically everyone. Dropping it here in case you want to take a look at it.

    Basically... Could you check for conditions too via the json file? The most useful one would be GetPCIsRace and the primary use would be for mods that add a bit more personality to player responses. "Khajiit Speak" comes to mind. It's a mod that replaces player text to sound like you're a khajiit. "What have you got for sale?" turns into "You've got things for sale, yes?", etc. The main problems with such mods are: 1) You must install or  uninstall it depending on what race you're playing as the text is replaced no matter your race and 2) it needs a ton of patches... Your framework could fix both issues easily :)

    Just an idea in case you want to have a go at it. Thanks for your mod!
    1. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      Hey, that's a really useful idea. I will add support for some conditions in the next update. Thanks for this idea and also for your great mods! :)
  8. Oaristys
    Oaristys
    • premium
    • 575 kudos
    Hi, it's me again :) The esp2dsd tool works really well, but I noticed that it creates entries even when the new string is identical to the original one (and, for example, for every string of a quest even if only one line is different). I don't know if it has any impact on performances in-game, but I feel it's not really "clean" to have a lot of useless entries and can't remove them by hand in a file with thousands of them. Would it be possible that the tool ignores them, or am I worrying for nothing? ^^
    1. Cutleast
      Cutleast
      • premium
      • 41 kudos
      They should make no difference, the code for the tool comes directly from SSE-AT and its purpose was to merge translations with their originals so the strings that are the same are relevant for translators. I agree that they are obsolete for DSD and I can update the esp2dsd tool to ignore them.
    2. Cutleast
      Cutleast
      • premium
      • 41 kudos
      I now uploaded an updated version that skips strings that are the same in edited/translation and original plugin.
    3. lingsamuel
      lingsamuel
      • premium
      • 62 kudos
      esp2dsd works fine for common mods. But it seems will not work for base game plugins since they use STRINGS files, I actually have no "translated" version of base game plugins. Is it possible to generate them? Also hope a version generates DSD without the untranslated esp needed since sometimes we just want to batch create dsd files and don't care about the original version.

      Edit:
      For my purpose, I have an old version json file got from others.  I just need a new version json scheme.
      So I managed to get part of non-translated entries by passing argument True for `extract_strings` in source `convert.py`, and removed string check inside `extract_group_strings` (I hope the index is correct) index is correct. Also need to edit `SUBRECORD_MAPPING` in `subrecord.py` and `parser_whitelist.json`,

      "GMST": [
      "DATA"
      ],
      and
      "DATA": StringSubrecord,

      ( I don't know if GMST DATA is needed but they seem to have meaningful content so I added them)
    4. Cutleast
      Cutleast
      • premium
      • 41 kudos
      I already have a script to generate a vanilla database from a given Data folder and a folder containing STRINGS files for the base game plugins. But it's too specialized and not standalone. I am working on this and will publish it, when it's ready.
    5. lingsamuel
      lingsamuel
      • premium
      • 62 kudos
      Thanks for your hard work. Hope it can be ready soon. It is impossible to fill indexed strings by hand 😥
    6. lingsamuel
      lingsamuel
      • premium
      • 62 kudos
      Also, I want to ask, is it possible to scan full load order and check identical strings added by different esps? Some mods just add almost vanilla things but perhaps have their own records so the translation just missed.
    7. Cutleast
      Cutleast
      • premium
      • 41 kudos
      Yesterday I added search features for both modlist and database that make it possible to search for FormIDs, Types, EditorIDs, Original String and Translated String to SSE-AT. They come with the next pre-release version that I plan to upload this afternoon on our Discord server and it's planned to be published on Nexus Mods this week.
    8. Oaristys
      Oaristys
      • premium
      • 575 kudos
      lingsamuel asked the two questions I was here to ask :D The two not-yet-covered cases in generating JSON are indeed localized plugins (string files) and maybe identical texts with different FormID (especially for Base Object Swapper mods).
      Thank you for the developments and your time <3
    9. lingsamuel
      lingsamuel
      • premium
      • 62 kudos
      me again 🤐 I want to know if it is possible to add a debug mode, which will add a prefix or postfix to display the last changed plugin ID or name.
      Some strings are still untranslated or is badly translated, and it is hard to find who is the bad guy.

      And I realized "scan full load order and check identical strings added by different esps" probably will be a hard work because we have to do something like disable all translation plugins and generate a form id list and enable them again and generate json from the form id list 
    10. Wuerfelhusten
      Wuerfelhusten
      • premium
      • 137 kudos
      I think you can use SSE-AT for that matter
    11. lingsamuel
      lingsamuel
      • premium
      • 62 kudos
      SSE-AT will check updates in startup and will fail to start if it can't. In my case, it appears to be using a proxy setting, but I don't know where it's reading this from and what value it is. Thus it causes a proxy error and refuse to start 😅
      Also, sometimes text errors are found by accident. If there is ESP information, we can fix it directly.
  9. Dmitriyewich
    Dmitriyewich
    • member
    • 1 kudos
    Thanks for the excellent mod! This is probably the most useful mod in the last 2 years. Endorsed + voted!
  10. Redyellowunit
    Redyellowunit
    • premium
    • 1 kudos
    Thank you for your great job!

    If you like, could you please consider adding format : {plugin} and {editor_id} without {form_Id}?  I want translate using xmls exported from xTranslator. This xml contains the ESP name, EditorId, Rec type, and translation string, but not contains FormId.
    I think it easy to convert xml to json (this Mod format). So if you can support this format, I'll create a conversion script in Python.

    I know this idea is not useful for general users. However, in some communities (Japan) translation using xTranslator and xml is common.

    Conversion Example:
    XML:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <SSTXMLRessources>
      <Params>
        <Addon>BSHeartland.esm</Addon>
        <Source>english</Source>
        <Dest>japanese</Dest>
        <Version>2</Version>
      </Params>
      <Content>
        <String List="0">
          <EDID>CYRDialogueMountainWatchOreejTaiStory02</EDID>
          <REC>DIAL:FULL</REC>
          <Source>Have you told the others in Mountain Watch?</Source>
          <Dest>マウンテンウォッチの人間には話しましたか?</Dest>
        </String>
        :
    JSON:
    [
    {
    "plugin": "BSHeartland.esm",
     "editor_id": "CYRDialogueMountainWatchOreejTaiStory02",
     "type": "DIAL FULL",
     "string": "マウンテンウォッチの人間には話しましたか?"
    }
    ]

    1. Wuerfelhusten
      Wuerfelhusten
      • premium
      • 137 kudos
      You can just use esp2dsd to convert your translations by finalizing your translations in xTranslator.
    2. Redyellowunit
      Redyellowunit
      • premium
      • 1 kudos
      esp2dsd works fine! but not what I intended above.
      The process "finalizing your translations in xTranslator" takes a huge amount of time when using mod list.  XML to Json conversion can skip this finalizing process.
    3. Wuerfelhusten
      Wuerfelhusten
      • premium
      • 137 kudos
      That's true. But xTranslator's XMLs do not contain every piece of information, the newest version of DSD needs. It is straight up not possible.
      As example in xTranslator's XMLs it is not possible to get the FormIDs of specific strings.
    4. Redyellowunit
      Redyellowunit
      • premium
      • 1 kudos
      Well...I understand. I forgot that EditorId can be null. Thank you for your kind reply.
  11. megablackk1d
    megablackk1d
    • supporter
    • 18 kudos
    Again great mod, but ran into a problem. The newest version got rid of all my map markers. They are no longer visible making the map useless.
    1. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      If you tell me how to reproduce this, I will fix it. Are you sure it's because of this mod? It really doesn't edit anything that could even slightly change the visibility of map markers.
    2. megablackk1d
      megablackk1d
      • supporter
      • 18 kudos
      Yep the latest version on my end at least causes the map to become useless. With it disable or using an older version everything works fine.
    3. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      Okay, thanks for the report. It's like this when you use Comap. Fixed in next update :)
    4. Oaristys
      Oaristys
      • premium
      • 575 kudos
      Hi, same issue here with the latest version, without CoMAP and even without JSON files.

      Thank you for this much-needed tool, and for the converter :)
    5. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      @Oaristys Yes, that was the problem if you had no json files. I can't reproduce it anymore as I've added numerous returns when one of the folders is empty or non-existent. Surely you are using version 1.1.1? If yes, did you add a special folder structure inside of the DynamicStringDistributor folder?
    6. Oaristys
      Oaristys
      • premium
      • 575 kudos
      I've updated to 1.1.2 and done multiple tests, it seems fixed somehow (with JSON, without JSON, with empty folder structure) ^^
      However, a strange issue occurred: I use Alternate Start - Live Another Life and DSD v1.1.2 seems to prevent the quest from updating (when choosing a start from the statue, nothing happens). Tested with JSON and without JSON file ^^'
    7. SkyHorizon3
      SkyHorizon3
      • premium
      • 125 kudos
      @Oaristys Sorry, I'll upload a fix asap.
      EDIT: Fixed in reupload.
    8. Oaristys
      Oaristys
      • premium
      • 575 kudos
      Hi, thanks for the reupload, the ASLAL bug is gone, but the map markers bug is back ^^'
      Edit: Thanks for the fix in 1.1.3 :)