Skip to content

Creating a new store slot on the Normandy for LE3

Padme4000 edited this page Apr 20, 2023 · 4 revisions

This tutorial shows you how to setup your own new store. Once you have it setup you can follow this tutorial: Add your assets to the store in LE3 to add your items to your new store.

First thank you to KkJiro and their EGM mod as I wasn't sure what to have as the StoreName in the script in order to make custom stores.

What you need for this tutorial

Creating Our Store PCC

So first grab my new store example mod so you can use its store package to create your own.

Once downloaded to the mod manager navigate to: ME3TweaksModManager\mods\LE3\New Store Example\DLC_MOD_New_Store_Example\CookedPCConsole

Copy SFXGUIData_Store_DLC_MOD_New_Store_Example.pcc to your mod folder.

Rename the part that says DLC_MOD_New_Store_Example to match your DLC folder DLC_MOD_YOURMODNAME so it has less chance of conflict with another mod. For example copy from your folders name as seen in Figure 01

Figure 01

Now let's open the PCC up with Package Editor. We end up with the below in figure 01

Figure 02

So what we want to do is like the package change all instances DLC_MOD_New_Store_Example to the name of your DLC_MOD_YOURMODNAME

  • this way it is very likely unique. You can name the (Class) which has the green icon at the front and the Default__ to something other than your DLC_MOD_YOURMODNAME just make sure it is unique to your mod. For example for mine I could just remove the DLC_MOD part of the name.

Like figure 02 change to the meta data tab:

Figure 03

So for SFXGameContentDLC_MOD_New_Store_Example replace the New_Store_Example as seen in Figure 03 or the full text and replace it via copy and paste with your DLC_MOD_YOURMODNAME

Figure 04

Before moving on to the next instance press Enter in the same Object Name field and press Enter on your keyboard. Figure 05 below will then pop up. Press OK

Figure 05

Repeat until all three instances have your DLC_MOD_YOURMODNAME or new name.

So SFXGUIData_Store_DLC_MOD_New_Store_Example and Default__SFXGUIData_Store_DLC_MOD_New_Store_Example can either use your DLC_MOD_YOURMODNAME or a custom name. So by that example I could rename them to;

SFXGUIData_Store_New_Store_Example and Default__SFXGUIData_Store_New_Store_Example

We have now completed prepping your Store package.

Editing your DLC TLKs for your Store

I like to do this before I start on the coalesced files as then I already have these prepped for when I need them for the coalesced files.

The Highest TLK in base game LE3 is 817979 the very high end is 134217731 so in between these numbers means you should be safe.

  • there is no database for what mods use what, however a lot of mod pages have a section in the description or in the articles section that show what tlk, conditionals etc they use for that mod. If you wish to try and not conflict with mods you yourself play with. But also just a forewarning if people report a conflict between your mod and another.
  1. Drag and drop each TLK one by one over the me3tweaks mod manager (batch conversion does not work)

    • you need to do them all otherwise your mod won't run for these languages. DEU, ESN, FRA, INT, ITA, JPN, POL, RUS
    • you can use an online translator if you wish or just paste your English versions from INT into the others if you prefer not using an online translator
    • Or if you know someone willing to translate in one of the other languages that's great too
  2. Once done you will have 8 xml's alongside our 8 tlk's (see Figure 06)

Figure 06

  1. Open them all in NotePad ++ or program of your choice. Though I advise NotePad ++ as it helps find errors that may pop up
  2. Go to the one called DLC_MOD_YOURMODNAME_INT.xml this is the international one
  3. Under the String with the word Male add two new strings (see Figure 07)
    • one you will use for the name of your Store and the second for its description
    • do not edit any of the other string IDs
    • again anything in between 817979 and 134217731 should be safe, anything above will be safe too.
    • again some mod pages will list the TLK's they use so you won't clash
<String id="TLK Number goes here">writing goes here</String>

Figure 07

  1. Copy the lines to each xml under Male in order for your mod to work in those languages.

    • again choose whether you translate them with an online translator or leave them in English
    • or find someone who may be willing to translate your TLKs into another language
  2. Once you have finished adding all the ids you need, repack them. So Drag and drop each xml over me3 tweaks mod manager to repack them into .tlk

  3. Congrats your TLKs are now done, if you plan on not adding anymore lines right now you can delete the xml versions or move them somewhere else

Editing our Coalesced Files

First unpack your DLC_MOD_YOURMODNAME.bin by dragging and dropping it over me3tweaks mod manager window.

BioEngine.xml

Open the folder it just created and let's start with the BioEngine.xml

We want to add below

  	<Property name="seekfreepcpaths">
  		<Value type="2">..\..\BIOGame\DLC\DLC_Shared\CookedPCConsole</Value>
  		<Value type="2">..\..\BIOGame\DLC\DLC_MOD_YOURMODNAME\CookedPCConsole</Value>
  	</Property>
  </Section>

This section:

  <Section name="sfxgame.sfxengine">
  	<Property name="dynamicloadmapping">
  		<Value type="3">(ObjectName="SFXGameContentDLC_MOD_YOURMODNAME.SFXGUIData_Store_DLC_MOD_YOURMODNAME",SeekFreePackageName="SFXGUIData_Store_DLC_MOD_YOURMODNAME")</Value>
  	</Property>
  	<Property name="sfxuniqueids" type="2">
  	</Property>
  </Section>

Then change all instances of DLC_MOD_YOURMODNAME to what you named each section in the package.

ObjectName="SFXGameContentDLC_MOD_YOURMODNAME.SFXGUIData_Store_DLC_MOD_YOURMODNAME"

SFXGameContentDLC_MOD_YOURMODNAME is the name you gave your folder in the store package SFXGUIData_Store_DLC_MOD_YOURMODNAME is the name you gave the store Class (the one with the Green icon at the front)

SeekFreePackageName="SFXGUIData_Store_DLC_MOD_YOURMODNAME"

This is the name you gave your package.

BioUI.xml

  1. We first need want to change <Sections />

to as shown in Figure 08 below

Figure 08

  1. Then add this section in between those. This section is for adding your store to the Normandy
  <Section name="sfxgamecontent.sfxgamechoiceguidata_storedata_normandy">
  	<Property name="storeitemarray" type="3">(ItemType=TYPE_NESTEDCATEGORY,ItemClassName="SFXGameContentDLC_MOD_YOURMODNAME.SFXGUIData_Store_DLC_MOD_YOURMODNAME",PlotUnlockConditionalID=0,ChoiceEntry=(srChoiceName=StoreNameTLKID,srChoiceDescription=StoreDescriptionTLKID),LargeImage="gui_codex_images.Codex.CDX_Alliance_512x256")</Property>
  	<Property name="storename" type="0">Normandy</Property>
  </Section>
  1. like before change the DLC_MOD_YOURMODNAME to yours.
  • SFXGameContentDLC_MOD_YOURMODNAME is the name you gave your folder in the store package
  • SFXGUIData_Store_DLC_MOD_YOURMODNAME is the name you gave the store Class (the one with the Green icon at the front)
  1. change the StoreNameTLKID StoreDescriptionTLKID to the TLK ID's in your tlk's.

  2. If you don't want your store auto unlocked from the beginning of the game change the PlotUnlockConditionalID to either one existing in the games or a custom one.

  • for example if you want the store to unlock just for Femshep have PlotUnlockConditionalID=12
    • for mshep PlotUnlockConditionalID=11
  1. Now add this new section after the above
  <Section name="sfxgamecontentdlc_mod_new_store_example.sfxguidata_store_dlc_mod_yourmodname">
  	<Property name="defaultimage" type="0">gui_codex_images.Store.STO_Store_512x256</Property>
  	<Property name="discountpercent" type="0">0.1f</Property>
  	<Property name="discountunlockid" type="0">0</Property>
  	<Property name="discoveryid" type="0">0</Property>
  	<Property name="m_sratext" type="3">567685</Property>
  	<Property name="m_srbtext" type="3">567686</Property>
  	<Property name="m_srsubtitle" type="0">0</Property>
  	<Property name="m_srtitle" type="3">StoreNameTLKID</Property>
  	<Property name="sroutofstock" type="0">569508</Property>
  	<Property name="srstoredescription" type="3">StoreDescriptionTLKID</Property>
  	<Property name="storeitemarray">
  		<Value type="3">(ItemType=TYPE_QUEST,ArmorID=,BaseCost=0,PlotUnlockConditionalID=,PlotPurchaseID[0]=,ChoiceEntry=(srChoiceName=,srChoiceDescription=),LargeImage="gui_codex_images.Codex.CDX_Alliance_512x256",SmallImage="GUI_Icons.Notifications.NT_Store_256x1286")</Value>
  		<Value type="3">(ItemType=TYPE_QUEST,ArmorID=,BaseCost=0,PlotUnlockConditionalID=,PlotPurchaseID[0]=,ChoiceEntry=(srChoiceName=,srChoiceDescription=),LargeImage="gui_codex_images.Codex.CDX_Alliance_512x256",SmallImage="GUI_Icons.Notifications.NT_Store_256x1286")</Value>
  	</Property>
  	<Property name="storename" type="0">Example</Property>
  </Section>
  1. <Section name="sfxgamecontentdlc_mod_new_store_example.sfxguidata_store_dlc_mod_yourmodname"> this bit after the Section name= must be all in lower case.
  • sfxgamecontentdlc_mod_new_store_example is the name you gave your folder in the store package
  • sfxguidata_store_dlc_mod_yourmodname is the name you gave the store Class (the one with the Green icon at the front)
  1. change the StoreNameTLKID StoreDescriptionTLKID to the TLK ID's in your tlk's.

  2. "discoveryid" type="0"

  • this is where you would put a plot bool.
    • if you want to change this first change type to 3 so "discoveryid" type="3"

In this tutorial we won't be editing

  		<Value type="3">(ItemType=TYPE_QUEST,ArmorID=,BaseCost=0,PlotUnlockConditionalID=,PlotPurchaseID[0]=,ChoiceEntry=(srChoiceName=,srChoiceDescription=),LargeImage="gui_codex_images.Codex.CDX_Alliance_512x256",SmallImage="GUI_Icons.Notifications.NT_Store_256x1286")</Value>
  		<Value type="3">(ItemType=TYPE_QUEST,ArmorID=,BaseCost=0,PlotUnlockConditionalID=,PlotPurchaseID[0]=,ChoiceEntry=(srChoiceName=,srChoiceDescription=),LargeImage="gui_codex_images.Codex.CDX_Alliance_512x256",SmallImage="GUI_Icons.Notifications.NT_Store_256x1286")</Value>

To set this part up along with the BioGame.xml please follow this tutorial: Add your assets to the store in LE3 to add your items to your new store. You can skip over the parts that are covered here.

If you already added your items to existing stores but want to change them to a new store follow this tutorial and just change the sections above to those currently in your mods BioUI.

Using the Same store across multiple mods

When across your own mods

What each mod requires;

  • The Store package
    • In my case it would be SFXGUIData_Store_DLC_MOD_New_Store_Example.pcc
  • The TLK's for the Store Name and Store Description
    • do not change the TLK ID's
  • Identical BioUI and BioEngine like we did above
    • if you add images to your store items in the BioUI they only need to be added to the mod that uses them

This way people can install each of your mods independently and have the store working but also have them added to the same store if using multiple mods that use the same store.

And yes keeping the same package name is okay for your store package as this guarantees that the store doesn't duplicate. I am not sure if the store would duplicate if the package name would change but to be on safe side since these are for your custom store anyway I would keep the package name for your store package the same across the mods you want using the same store.

So the only differences would be what items are in your store for each mod and the store images if you use them.

Adding to someone else's store

So this is based on whether you have permission to add to a store someone else created.

This is a bit different to the above as you don't need to add the full BioUI sections like above or BioEngine sections like we did in this tutorial instead you will follow the same method as shown in this part of this tutorial Add your assets to the store in LE3 so where in that tutorial you'd normally add <Section name="sfxgamecontent.sfxguidata_store_human"> you'd instead have this bit identical to the new store.

So for example you'd end up with something like this instead;

  <Section name="sfxgamecontentdlc_mod_new_store_example.sfxguidata_store_dlc_mod_new_store_example">
  	<Property name="storeitemarray">

and then your items.

For the store install option you'd make that option require the other mod in order to work by adding to your requireddlc section in your moddesc via moddesc ini editor the name of the DLC mod. The below will use my New Store Example mod as an example for the requirement.

We do this by right clicking on your DLC mod name in me3tweaks mod manager and going to moddesc.ini editor as shown in Figure 09

Figure 09

If the store is your only option for your outfits we will add the requirement on the first page of the editor on the Metadata tab as shown in Figure 10

Figure 10

Where we add the name of the DLC_MOD to requireddlc

If we instead have our store option as an AlternateDLC (Custom DLC) we go to that tab and add the DLC_MOD name to DLCRequirements as shown in Figure 11

Figure 11

Now when a user installs your mod they require the mod that adds the store to the game so your items will show up in the that store.

Clone this wiki locally