Are those UUIDs required to be unique?

General discussion of the House Party CSC, or get help making your own story.
Forum rules
Please follow all Eek! Forum rules.
PeterSunday
Posts: 16
Joined: Tue Sep 03, 2019 9:56 am

Are those UUIDs required to be unique?

"Reactions": [
{
"Id": "95e305bc-bc8b-44dd-8df5-98b665035ac7",

Doe to the nature of my Custom Story "Fun Together" I have to copy past several hunderts Events for the 2 new Guys.
Now the Custom Story Creator isn't made for this aplication (basicaly do everything the same thing for everyone)

which makes it more sense to do it directly with a text editor.

So if I take the event block from an existing character and copy this into the new character and of course replace the character name(s) the only issue I see are this UUIDs.

Is it required for me to generate and replace all the UUIDs or will the engine be capable to deal with non unique UUIDs events?

If I don't have to replace the UUID's ... that would safe me a ton of time.
ttant
Posts: 987
Joined: Tue Feb 13, 2018 4:49 pm

Re: Are those UUIDs required to be unique?

Short answer: i don't know.
I guest they should be (for translation at least).

Long answer:
UUID is hexadecimal value, right ? If so, you might just need to replace a part of the uuid to match the character:

As you don't use CSC, you can easily replace all (in all files):
"Id": "95e305bc-bc8b-44dd-8df5-98b665035ac7",
by
"Id": "xxe305bc-bc8b-44dd-8df5-98b665035ac7",
Do that for all non unique UUID.

Once you have deal with all UUID, Then just replace:
"Id": "xx
By
"Id": "01 :arrow: in amy file only
"Id": "02 :arrow: in brittney file only
...

Doing so, you will have unique UUID everywhere, without too much work
PeterSunday
Posts: 16
Joined: Tue Sep 03, 2019 9:56 am

Re: Are those UUIDs required to be unique?

Well thanks ttant. Yes that is the hex number.

UUID is usually an universal unique ID that you can generate with an universal UUID program. There are even online UUID generators.
Also the programming languages frameworks like .NET C# contain such a generator right integrated. There is time and things used to generate this IDs and the idea of all this is to garant that you have a system wide unique number means it should only exist once in your whole system or even in the world.

Well I wrote a quick C# program which copies all the events over from my source character to the other and does replacing the charcter name and the UUID with new ones. All the target character variables and dialogs and the other things that might be required to wotk I already created and exist in the target character.

The generated file looks ok but unity story import fails to read it.
So I tried without replaceing the UUIDs. That doesn't work eighter.

I checked all the UUIDs used in the source character file and they are unique. No one exists more than 1 in the whole character file. So it is not that the ID is used for as example an other custom event action call. I guess you use the action/event Name key for those calls.

Now it can be that certain IDs I have to be repalced and certain I may not touch.

Forexample the custom Event ID I certainly should replace...but maybe the action using an Id refers to an existing internal ID in your program that identifies the action say pose lay down or something... if so than it is more complicated than what I thought to do the manual cloneing.

I am also not sure if maybe I look at the wrong place now and I messed something else up in the file ..the file structure or by writing it out as a normal windows text file. (with cr and lf)

At the moment I am a bit stuck.

I certainly have to put in some more effort.

Anyway thank you.


p.s.: that's the error I get on import. But I think it just says it couldn't read the character file and now the file is missing. True I only see the Ami charcter because the second Arni or how he is called is already "adapted" by me and seemingly corrupt. (Don't worry I have the working chaarcters backuped.)

Exception: Error while parsing: unable to parse; invalid token "ൻ"; context = <ൻ †∠桃牡捡整乲浡≥›䄢楲≮ബ †∠畃牲湥䅴灳捥≴›䌢慨慲瑣牥楄污杯敵Ⱒ਍††䐢慩潬畧䥥≄›ⰶ਍†>
ScorpionStudios.Core.Logging.Basic.LogManager.LogErrorImmediate (System.String strClassName, System.String strFunctionName, System.String strMessage) (at <b5dc86ef01f64394b0e9ff52c55faa2c>:0)
ScorpionStudios.Core.Serialization.SerializationManager.JsonDeserializeFromFile[T] (T& obj, System.Text.Encoding encoding, System.String strPath, System.String strFilename, System.String strExtension, ScorpionStudios.Core.Serialization.FileNotFoundAction fileNotFoundAction, ScorpionStudios.Core.Serialization.EmptyFileAction emptyFileAction) (at <b5dc86ef01f64394b0e9ff52c55faa2c>:0)
EekEvents.StoryCollectionEditor.OnInspectorGUI () (at <b5dc86ef01f64394b0e9ff52c55faa2c>:0)
UnityEditor.InspectorWindow.DoOnInspectorGUI (System.Boolean rebuildOptimizedGUIBlock, UnityEditor.Editor editor, System.Boolean wasVisible, UnityEngine.Rect& contentRect) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1647)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179
PeterSunday
Posts: 16
Joined: Tue Sep 03, 2019 9:56 am

Re: Are those UUIDs required to be unique?

Uuuuhhhh!!

I see what's wrong. That are not normal ASCII Text files.
This are 16 bit (unicode) Text files.
chimneyfish
Posts: 491
Joined: Tue Nov 27, 2018 8:57 pm

Re: Are those UUIDs required to be unique?

I can tell you that for Random Party, I do all the edits in CSC in one character file (Amy) and then run a macro in a text editor to replace names (and a few other things, like replacing "shorts" with "pants" as appropriate) to create the other character files. I do not mess with the UUIDs at all and everything seems to work fine.
chimneyfish
Posts: 491
Joined: Tue Nov 27, 2018 8:57 pm

Re: Are those UUIDs required to be unique?

Edit: actually, I do replace the UUIDs for quests. Everything else works fine with duplicate IDs across characters, but the quests seem to need to be unique. And they can't be ones I make up myself. They need to be assigned by the CSC.
PeterSunday
Posts: 16
Joined: Tue Sep 03, 2019 9:56 am

Re: Are those UUIDs required to be unique?

Ok thank you chimneyfish.

Do you know if the 2 guys can strip the clothes at all and do have intimate actions?

After finishing and starting testing (I went with the UUIDs repalcements) I observed that although their original ingame stats changes (naked is true, genital exposed is true etc) they do always keep their clothes visible on. Also it seems they have no intimate interactions at all.

I do not play the game anymore and those 2 guys do not apear right away on the start of a new original game so I am a bit clueless if they CAN strip at all or if my UUIDs replacement was a wrong doing causing this... !?
peter980
Posts: 1601
Joined: Thu Feb 15, 2018 1:50 am

Re: Are those UUIDs required to be unique?

I would add one thing.

If you use event triggers and then use events that can enable/disable triggers, then UUIDs are really important, since in saved games, if event is enabled or not is tracked by its UUID.

Additionally, if you use new Criteria Groups, those are also tracked by UUID, just like quests.
peter980
Posts: 1601
Joined: Thu Feb 15, 2018 1:50 am

Re: Are those UUIDs required to be unique?

PeterSunday wrote: Sun Apr 19, 2020 12:39 pm Do you know if the 2 guys can strip the clothes at all and do have intimate actions?
No to both. I mean "technically" first one is yes, but with no visual difference. While for second, what is available is make out intimacy only.
peter980
Posts: 1601
Joined: Thu Feb 15, 2018 1:50 am

Re: Are those UUIDs required to be unique?

Regarding UUIDs, have you tried first stripping all UUIDs elements from the parts that you wanted to copy and then made duplicates?

Then import and export from Custom Story Creator and see if new UUIDs were added to elements that were missing them.
Post Reply