DAZ Studio 4.5 - Fix Duplicate IDs script

12467

Comments

  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969

    Line 62 has loaded the DSON file and is asking DS to turn the text into usable data - presumably for some reason it's failing to do so.

  • assmonkeyassmonkey Posts: 0
    edited December 1969

    With the Content Library showing the folder you want to work on, under DAZ Studio Formats, run the script (File>Merge, though if you use it a lot it may be worth making it a custom action and adding it to a menu). Pick the file or files that give the error (usual system - click to seelct one file, ctrl/cmd-click to add another single file, shift-click to select a range). Click Accept. That should do the job - try reloading the content to make sure the Duplicate IDs error has gone.

    How does one make this custom action?
  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969

    Find the script in the Content Library pane (that is, go to the folder you placed it in) and right-click on it, then from the menu select Create Custom Action. That will add a Scripts menu between Window and help, if it isn't already there, and place the Fix Duplicate IDs script in it.

  • assmonkeyassmonkey Posts: 0
    edited December 1969

    OK, thanks, it came up

  • staticstatic Posts: 325
    edited December 1969

    I have been reading through this thread and there are a lot of questions that are being answered specifically, but I am lost as I have tried to piecemeal this into a start-to-finish method.
    So:

    Could someone please list the individual steps, from A to Z, on how to solve this duplicate IDs problem?

    Also, if you have a step like "make it a custom action", could you please list that as well?

    Also, also, I am very confused on this whole scripting issue. It has been a long time since I have tried my hand at this and the language was very different back then. Can anyone tell me where to get a good tutorial on script writing for Studio?

    Thanks.

  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969

    Unzip the script to a folder in one of your content directories that isn't in Runtime, Data or Readme's.

    In DS, open the Content Library pane, go to the folder you placed the script in and right-click on it, then from the menu select Create Custom Action. That will add a Scripts menu between Window and Help, if it isn’t already there, and place the Fix Duplicate IDs script in it.

    When you try loading a piece of content that gives the Duplicate IDs error, ideally go to the folder that holds it in the Content Library pane Under DAZ Studio Formats. Then click on the script's entry in the main Scripts menu. If you were using the Content Library pane it should show the folder with the problem file(s). Select the file or files that give the alert, using ctrl (cmd on Mac) to add the second and subsequent files, and click Accept/Load.

    That should be it - try reloading the content from the Content Library (or Smart Content) and see if it loads without error.

    ----------------------------------------------------------------------------

    As for scripting, look in general at Javascript and for the DS version at the examples and the DS3 scripting docs which are available on pages reached from http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/start

  • staticstatic Posts: 325
    edited December 1969

    Thanks Richard, I knew was missing a step there somewhere.

    Ok, so I tried to load Genesis and I got the Dup ID Error.

    I went to the log and found this message:
    Duplicate id "Lindsay" found in file "/data/DAZ 3D/Genesis/Base/Morphs/FWArt/Lindsay/Lindsay.dsf"

    So, I went to the Content panel for Genesis, I was already there, and I clicked on Genesis.

    Then I ran the script from the Scripts menu.

    As per the log, I navigated to: data/DAZ 3D/Genesis/Base/Morphs/FWArt/Lindsay/

    I selected Lindsay.dsf and clicked OK

    Now I get a "Failed to open files" error that says:
    "Error processing C:\Users\Public\Documents\My DAZ 3D Library\data\DAZ 3D\Genesis\Base\Morphs\FWArt\Lindsay\Lindsay.dsf"

    Is this normal?

    I tried to load Genesis again, and got the same error.

    Lindsay is a morph injection and should have nothing to do with the basic Genesis figure, should it?

  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969

    Don't use the script on Genesis - the figure is OK, so there's a problem with that morph which this won't fix. What you do when the script is applicable is select the file or files you double-click in the content pane, not the hidden data folder files - the script will find those itself (and that's probably why it failed here).

  • staticstatic Posts: 325
    edited December 1969

    I see.
    Well, I haven't used Lindsay since I acquired it, so I deleted it and the problem went away.

    I haven't had any other issues as of yet, so it may be that the Lindsay File was created incorrectly or was corrupted.

    If I run across any other Dups I will use the process and see what happens. Thanks for the info!

  • assmonkeyassmonkey Posts: 0
    edited December 1969

    Are there any other ways to fix the Dup ID?

    I have free content for Genesis, and the script can't seem to fix them all.

    Would a resave solve the issue?

  • JaderailJaderail Posts: 0
    edited December 1969

    Are there any other ways to fix the Dup ID?

    I have free content for Genesis, and the script can't seem to fix them all.

    Would a resave solve the issue?

    YEP! I do it all the time. I save them out as ItemFixed and then remove the ID error version.
  • assmonkeyassmonkey Posts: 0
    edited December 1969

    Can you please give more detail on the steps?

  • SylvanSylvan Posts: 2,711
    edited June 2013

    Hmm, since 4.6 I get a duplicate id's message. But I only get it with Genesis figures but also on the base genesis figure. I re-installed all of Genesis and tried the script, but no luck so far.
    What I do is:
    Select figure in content tab+ Scripts=> Fix duplicate id's=> select the figure.dsf file

    When I try to reload the figure I still get the error. But that's because I think the error lies with the genesis base as well, but the script won't fix the base either.
    Am I missing something?

    Post edited by Sylvan on
  • staticstatic Posts: 325
    edited June 2013

    I think that is a separate issue with the same error message. A lot of people (used to) get that, me too, with genesis. New updates in Studio have corrected that issue, though.

    EDIT: See Richards post # 108 in this thread for the correct explanation of what it does.

    Post edited by static on
  • SylvanSylvan Posts: 2,711
    edited December 1969

    Aaah, I understand what it does a bit better now.
    But so far I had no luck in eliminating any duplicate id's errors, no matter what figure I try the script on :(
    Or do I need to erase all the errors before the message will stop appearing?

  • staticstatic Posts: 325
    edited June 2013

    I cobbled this together from some of the things I read about in this and other threads. A lot of it was from Richards posts. I just put it in steps and saved it as a txt:

    Instructions for the use of Richard Hasseltine's Fix_Duplicate_IDs.zip

    NOTE: This will not fix the Duplicate IDs that spawn from loading the Genesis figure.
    This script changes the IDs of properties that have the same name as others with a set of files.
    It is not a duplicate file remover.

    Install:
    1] Unzip the script to your desktop.
    2] Copy the script file (Fix Duplicate IDs.dsa) to a folder in one of your content directories.
    a] DO NOT PLACE IN a Runtime, Data or Readme’s folder.
    b] I use C:\Users\Public\Documents\My DAZ 3D Library\scripts\Richard Haseltine\Utilities\Fix Duplicate IDs, but any folder will work, subject to the limitations of 2a.

    Setup:
    1] In Studio, open the Content Library pane.
    2] Navigate to the content folder that you placed the script in.
    3] Right-click the script in the Asset View pane and from this menu select Create Custom Action.
    This adds a Scripts menu between Window and Help on the Menu Bar, if it isn’t already there, and places the Fix Duplicate IDs script in it.

    Execution:
    1] Navigate to the problem content via DAZ Studio Format to the Content Library folder with questionable content.
    2] Load a piece of content that gives the Duplicate IDs error.
    3] On the Menu Bar, open the Scripts menu and click on Fix Duplicate Ids. A panel should open.
    4] If you were using the Content Library pane it should show the folder with the problem file(s).
    5] Select the file or files that produced the error. Use ctrl to add the second and subsequent files.
    6] Click Accept/Load.
    7] Reload the content from the Content Library (or Smart Content).

    It should now load without error.

    Hope that helps.

    Post edited by static on
  • SylvanSylvan Posts: 2,711
    edited December 1969

    Impressive work! I'll give it a try right away and give an update :)

  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969

    Genesis shouldn't even be a .dsf file, the updated Genesis Starter Essentials should have replace it with a .duf file. If you haven't download a recent version of Genesis Starter Essentials I would advise doing so as there were some significant updates from the older versions.

    What the script does is rename (change the IDs) of properties that had the same name as others with a set of files, it isn't a duplicate file remover.

    Note that there's also a much older Duplicate Formulas error which you might see if you updated from an older version of 4.0 to 4.6 - that is fixed by downloading and installing updates for the affected morph sets (this has an entry in the FAQ, linked in my signature).

  • staticstatic Posts: 325
    edited June 2013

    I didn't have the notes in front of me when I mentioned the file type, so I had to guess. That's why I listed both.
    I will correct the other errors in my notes. Thanks for the update, Richard.

    Are the instructions in #106 are correct now?

    Post edited by static on
  • RiffulRifful Posts: 0
    edited December 1969

    Im getting a Dup ID error when I start DS, after having installed a new Silver character morph. The log confirms its the new morph that's giving the ID error, but it's a .dsf file in the data base Genesis folder that you said NOT to use the script on. The actual character files in the content panels don't have any .dsf files to use the script on, they are all .duf files.

    How do I fix the base morph without a .dsf file in the content panel to point to?

  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969

    Which character is this? Have you double-checked there aren't two copies installed, in different directories?

  • staticstatic Posts: 325
    edited December 1969

    Hey Richard,
    I looked up the links to the FAQ for the Duplicate Formulas, but all I got was a 404 error page. Where is that stuff found, or has it been removed? I actually got one of those just this week, so I was looking for the cure.

  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969
  • RiffulRifful Posts: 0
    edited June 2013

    It's the Gwenyth character by Silver. I installed all the files that came with it, which include V4 shapes, Genesis shapes, AND a Genesis shape for Poser, which I don't use, but I like to install anyway in case the scripts go looking for a file in one of those folders.

    Could the Genesis/Poser shapes and the straight up Genesis DS shapes be conflicting with each other? Should I pull the Genesis Poser shapes?

    Edit: I trashed the Genesis/poser files in the runtime/pose folder, but I am still getting the Dup ID error.

    sidenote: What's interesting is that the V4 files usually come with the shapes under runtime/figures and the mats under runtime/pose, but these have the shapes under /pose and the mats in a sub-folder (along with the Genesis/Poser shapes and mats too. More places to hunt down your stuff I guess. I think this way would be more convienient overall, but there's too many ways to organize stuff and it gets spread all over. The Genesis poser files come with .mc6 mats, which actually apply, but I can see no difference from them or any of the other mats, since they access the same textures and despite supposedly having SSS (for Poser) don't use any DS SSS shaders.

    Post edited by Rifful on
  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969

    I don't have that set, so I can't poke at it. Only duplicates in the \Data folder (or rather Data folders) might cause the issue, and I'm not sure that even that hasn't been eliminated.

  • RiffulRifful Posts: 0
    edited June 2013

    I did a search for 'Gwenyth'
    There is one DSON Support File here called Gwenyth.dsf

    D:\Users\Public\Documents\My DAZ 3D Library\data\DAZ 3D\Genesis\Base\Morphs\Silver\Gwenyth

    The rest are .DUF .PZ2 and .png

    Does this mean that the new morph is conflicting with a pre-existing morph? And, if so, how do I find which file it conflicts with?

    Edit: It apparently conflicts with Genesis itself. When I try to load a new Genesis after the Gwenyth morph is recognized, I get a Dup ID error as well.

    Post edited by Rifful on
  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969

    I think you need to contact the artist, unless someone else reading this has the set and can track the issue down.

  • cwichuracwichura Posts: 1,042
    edited December 1969

    Edit the Gwenyth.dsf file. At the very end of the file, change the "id" from "Gwenyth" to "Gwenyth_0".

  • Richard HaseltineRichard Haseltine Posts: 100,952
    edited December 1969

    Thanks.

  • RiffulRifful Posts: 0
    edited December 1969

    I did that, and it worked! No conflicts on start-up, and I loaded a new Genesis with no conflicts as well.

    Also, I will put a site mail on Rederosity to Silver about the product and explain the problem and changes.

    Thanks for your help Richard.

Sign In or Register to comment.