Vladimir369 Posted February 2 Share Posted February 2 Hello, I am new here and to the SoD franchise in general. I am still a noob when it comes to coding and modding in general so bear with me. So my goal is to add 13 characters into the Bonus Survivor Pack alongside Gurubani Kaur for the Main Story (Class3). The characters I want to add are… -Milo Eldridge -The 5 Lifeline Main Characters (Alicia, Young, Vincent, Sasquatch, Vienna Cho) -The Grange Members (Becca, Quentin, Jack, Bob) -3 Story Characters (Ray Santos, Doc Hanson, Mickey Wilkerson) So I took the character mtl and cdf files and made sure all the characters I want are in the Class3 character folder (except Jack and Bob cause they are generic models) I modified the Voices.xml file to add the Lifelines voices (HAW, KIL, VIN, MAD, CHO, ELD) for class3. I added the characters and made their models “# GENERIC” in the text. I also added the traits from Lifeline into their respective traits blocks categories since they originally didn’t exist for the Main Story. The characters.xml should have the characters, their traits, voices, inventory, etc listed in there. I don’t know about skills but I assume they are connected to the traits the characters will have. Finally the issue that is causing my game to crash on Launch in the rtsevents.xml file. I tried to add the characters to the code block that involves Gurubani Kaur (the Bonus Survivor Pack) but apparently I messed something up. The other files I modded don’t crash my game but this one does. It could also be possible that the voice and character files may have a connection but idk. I only touched the part that has Gurubani and not the rest of the code in the rtsevents file. I can’t add the characters.xml or rtsevents.xml here cause they are too big according to this site. So I’ll send the Voices.xml file here as well as a xml file I made called “charactersBonuspackMODDED.xml”. This file contains the list characters I wanted to add via their character code blocks. I also took the Gurubani code from the rtsevents.xml file and copied it to a separate file. This file "rtseventsSTORYMODDEDpart2.xml" contains the code I modified and nothing else. If anyone can help me with this little project I would greatly appreciate it. Please and thank you. voicesMODDED.xml charactersBonuspackMODDED.xml rtseventsSTORYMODDEDpart2.xml Link to comment Share on other sites More sharing options...
qmjs Posted February 2 Share Posted February 2 You could run into odd situations (ray talking to Ray...) The characters from Lifeline need to have a Trait.Personality added. The <Actors> block has too many copies of the enclave line. You are working with one enclave, your home base. Remove those: <Actors> <Character ActorFlags="FindOrSpawn" ActorName="148 GENERIC Gurubani Kaur" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Enclave ActorFlags="" ActorName="Home" EnclaveStat="" HideWarnings="" Optional="" /> <Character ActorFlags="FindOrSpawn" ActorName="149 GENERIC Milo Eldridge" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="150 GENERIC Maj Alicia Hawkes" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="151 GENERIC Sgt Kilohana Young" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="152 GENERIC Pvt Royell Vincent" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="153 GENERIC Sgt Kelly Eldridge" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="154 GENERIC Vienna Cho" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="155 GENERIC Quentin Barnes" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="156 GENERIC Becca Collins" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="157 GENERIC Jack Ferris" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="158 GENERIC Bob Macklin" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="159 GENERIC Ray Santos" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="160 GENERIC Doc Hanson" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> <Character ActorFlags="FindOrSpawn" ActorName="161 GENERIC Mickey Wilkerson" ActorTask="" ActorTraits="" FunctionTags="" HideWarnings="" Optional="" TargetEnclave="" /> </Actors> The ActorIndex refers to thier position in this list. ActorIndex 0 is Gurubani, ActorIndex 1 is the enclave, ActorIndex 2 is Milo, ActorIndex 3 is Hawkes and so on. This line is probably causing the crash: <Actor_AddTrust ActorIndex="1" DisableBonus="false" Trust="100" /> You are trying to add trust to en enclvae itself. So remove this line: <Actor_AddTrust ActorIndex="1" DisableBonus="false" Trust="100" /> <!-- MAKE IT PLAYABLE --> These lines actually add tthem to the enclave: <Actor_JoinEnclave ActorIndex="0" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="0" /> So, to add all the characters need these total lines: <Actor_JoinEnclave ActorIndex="0" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="0" /> <Actor_AddTrust ActorIndex="0" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="2" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="2" /> <Actor_AddTrust ActorIndex="2" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="3" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="3" /> <Actor_AddTrust ActorIndex="3" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="4" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="4" /> <Actor_AddTrust ActorIndex="4" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="5" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="5" /> <Actor_AddTrust ActorIndex="5" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="6" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="6" /> <Actor_AddTrust ActorIndex="6" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="7" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="7" /> <Actor_AddTrust ActorIndex="7" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="8" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="8" /> <Actor_AddTrust ActorIndex="8" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="9" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="9" /> <Actor_AddTrust ActorIndex="9" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="10" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="10" /> <Actor_AddTrust ActorIndex="10" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="11" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="11" /> <Actor_AddTrust ActorIndex="11" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="12" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="12" /> <Actor_AddTrust ActorIndex="12" DisableBonus="false" Trust="100" /> <Actor_JoinEnclave ActorIndex="13" EnclaveIndex="1" /> <Actor_AddToFamily ActorIndex="13" /> <Actor_AddTrust ActorIndex="13" DisableBonus="false" Trust="100" /> I doubt this is a problem, but I'd combine the EventLogDesc entries or just eliminate the Milo entry, but that probably isn't going to create an issue. For this section, trim it down to just the actual defined variables: <RTSStat_SetBool DurationCancellable="" OutputAmount="true" OutputDuration="" OutputId="YOSE.Delivered.Gurubani" PauseWhenOffline="" /> <RTSStat_SetBool DurationCancellable="" OutputAmount="true" OutputDuration="" OutputId="YOSE.Delivered.Milo" PauseWhenOffline="" /> I didn't look too closely at YOSE_REWARDS.Milo. I assume you just changed the character actor specified. However, because you are adding him in the Gurubani event, you should probably just remove this event entirely. The class3 files can get fairly picky about total file length, and with all of the story stuff making room is sometimes necessary for any additions. Make those changes, recompile to bmd, and try it out and let me know if it is working or we need to look again. Link to comment Share on other sites More sharing options...
Vladimir369 Posted February 2 Author Share Posted February 2 Wow. Okay thanks, I’ll get this done and test it out today. I’ll let you know what happens. Link to comment Share on other sites More sharing options...
Vladimir369 Posted February 3 Author Share Posted February 3 okay so after trying it out it stopped crashing my game which is good, thank you so much. Now I have a new problem. Some of the characters are not immediately playable while some are. The ones not playable seem to be the fixed main story characters (Quentin, Becca, Doc, Mickey, and Ray). Since Jack and Bob are not fixed models I can play as them. I can have them follow me just can't play as them right away like the rest of the recruited characters. My second problem is I noticed Vienna Cho doesn't have her voice (CHO) but instead is using Marcus' voice. Not sure how that happened. I tried out Alicia and she was using her voice (HAW) just fine. I'll post Quentin and Becca's blocks here (maybe I am missing a behavior trait or something.) and Vienna under them. Maybe you can see what is wrong? Or maybe its the rtsevents file idk. <Character HairColor="Base" HairType="Bald" HeadType="Barnes" Model="characters/male/human/story_characters/quentin_barnes.cdf" SkinColor="Base" VoicePitch="Normal" VoiceRole="QTN" PortraitHairColor="1" PortraitHairType="1" PortraitHeadType="17" PortraitSkinColor="1"> <DescriptionText Flags="" Notes="Character Bio" Text="Quentin's about as big-hearted and generous as they come. If it were up to him, he'd hand out all the food in the store to anybody who needed it; that's just what people do in a crisis, right?" /> <NameText Flags="Do Not Localize" Notes="" Text="155 GENERIC Quentin Barnes" /> <Names> <FirstNames> <NameText Flags="" Notes="" Text="Quentin" /> </FirstNames> <LastNames> <NameText Flags="" Notes="" Text="Barnes" /> </LastNames> </Names> <Traits> <TraitBlock> <DefaultTrait Trait="Trait.Voice.QTN" /> <DefaultTrait Trait="Trait.Voice.Playable" /> <DefaultTrait Trait="Trait.Immune.NonStoryContent" /> <DefaultTrait Trait="Trait.Personality.Nurturer_Kind" /> <DefaultTrait Trait="Trait.Mood.Proud_Supportive" /> <DefaultTrait Trait="Trait.Job.Foreman" /> <DefaultTrait Trait="Trait.Talent.AbsentMinded" /> </TraitBlock> </Traits> <Inventory> <Backpack Name="BackpackSmall01_v15" /> <Gun Ammo="" Name="Rifle_10_22" /> <Weapon Name="Shovel" /> </Inventory> </Character> <Character HairColor="Base" HairType="Bald" HeadType="Becca" Model="characters/female/human/story_characters/becca_collins.cdf" SkinColor="Base" VoicePitch="Normal" VoiceRole="BEC" PortraitHairColor="1" PortraitHairType="1" PortraitHeadType="2" PortraitSkinColor="1"> <DescriptionText Flags="" Notes="Character Bio" Text="As bad as the situation is, in a way Becca welcomes it. The end of the world is an opportunity to forget the past and move on, and she's ready to become a new person" /> <NameText Flags="Do Not Localize" Notes="" Text="156 GENERIC Becca Collins" /> <Names> <FirstNames> <NameText Flags="" Notes="" Text="Becca" /> </FirstNames> <LastNames> <NameText Flags="" Notes="" Text="Collins" /> </LastNames> </Names> <Traits> <TraitBlock> <DefaultTrait Trait="Trait.Voice.BEC" /> <DefaultTrait Trait="Trait.Voice.Playable" /> <DefaultTrait Trait="Trait.Immune.NonStoryContent" /> <DefaultTrait Trait="Trait.Personality.Realist_Independent" /> <DefaultTrait Trait="Trait.Mood.Neutral_Concerned" /> <DefaultTrait Trait="Trait.Hobby.Reading" /> <DefaultTrait Trait="Trait.Hobby.Movies" /> <DefaultTrait Trait="Trait.Talent.Reflexes" /> </TraitBlock> </Traits> <Inventory> <Weapon Name="Hammer" /> </Inventory> </Character> <Character HairColor="Black" HairType="Bald" HeadType="Cho" Model="characters/dlc_02/female/human/story_characters/vienna_cho.cdf" SkinColor="Base" VoicePitch="Low" VoiceRole="CHO" PortraitHairColor="5" PortraitHairType="1" PortraitHeadType="59" PortraitSkinColor="1"> <DescriptionText Flags="" Notes="Character Bio" Text="She can be self-important and insufferable ... but her cause is just. We're glad we have her here to speak for the helpless survivors still left in the city." /> <NameText Flags="Do Not Localize" Notes="" Text="154 GENERIC Vienna Cho" /> <Names> <FirstNames> <NameText Flags="" Notes="" Text="Vienna" /> </FirstNames> <LastNames> <NameText Flags="" Notes="" Text="Cho" /> </LastNames> </Names> <Traits> <TraitBlock> <DefaultTrait Trait="Trait.Voice.CHO" /> <DefaultTrait Trait="Trait.Immune.NonStoryContent" /> <DefaultTrait Trait="Trait.Voice.Playable" /> <DefaultTrait Trait="Trait.Hobby.Esteem" /> <DefaultTrait Trait="Trait.Mood.Proud_Overbearing" /> <DefaultTrait Trait="Trait.Personality.Realist_Independent" /> <DefaultTrait Trait="Trait.Job.Quick" /> <DefaultTrait Trait="Trait.Hobby.Hater" /> <DefaultTrait Trait="Trait.Hobby.Studied Linguistics" /> </TraitBlock> </Traits> <Inventory> <Gun Ammo="7" Name="Pistol_P226S" /> <Weapon Name="PaperCutter" /> <Backpack Name="BackpackSmall01_v21" /> </Inventory> </Character> Link to comment Share on other sites More sharing options...
qmjs Posted February 3 Share Posted February 3 I'm not sure why some are immediately playable and others will require you to gain trust. <Actor_AddTrust ActorIndex="8" DisableBonus="false" Trust="100" /> That line should set their initial trust levels to maximum... and since it is the same for all of them, it should work. There is a tag used in some missions where a character joins, so you could try adding that in the rtsevents. Either just for those that have problems, or maybe for all of them just to be consistent. Use the same ActorIndexes and try this: <Actor_AddToFamily ActorIndex="3" /> Voices made for characters that are not intended to be playable don't have lines recorded for every situation, and they usually switch to the first 'default' voice used in whatever scene is being activated. Some of the lifeline voices probably have appropriate responses in the scenes from Lifeline, but they won't ever be called in story mode. You could either swap their voices for a standard story mode voice, or just accept that if they don't have an appropriate response it uses what is essentially a default. It is not entirely consistent, as some files were updated at different points in development. One example is the CLEO stuff... the lines for Black Friday are included in the scenes. Link to comment Share on other sites More sharing options...
Vladimir369 Posted Saturday at 06:43 PM Author Share Posted Saturday at 06:43 PM Okay so I tried this in Breakdown instead of story this time for experimenting. I only added Milo Eldridge, Vienna Cho and the Grange Enclave (Becca, Quentin, Jack, Bob) and they were all playable and max trusted. Then I added more characters to the code (20 in total) to see what will happen and now all the characters, including even Gurubani had the lowest trust possible and not playable. So I believe that after reaching a certain number of characters added in the code, the max trust stops working. Cause I started with just Gurubani and 6 others for a total of 7 characters and it was fine, then added other characters I wanted that totaled 20 and they all had low trust instead. It’s the rtsevents.xml file so I’ll look in there. And see what is affecting it. Link to comment Share on other sites More sharing options...
Recommended Posts