Emails are stored in a new 2DA table BIOG_2DA_Mods_X.Emails. To add new emails/messages into the game, you need to include an addendum to this 2DA table inside your DLC mod.
Setting up the 2DA
- For starters, you might want to read this 2DA merge tutorial to get a general idea of how it works.
- The mod A Little Help From My Friends contains a functional example of a 2DA table (BIOG_2DA_MOD_LittleHelp_Mods_X.pcc). The easiest way to create your own is to copy and rename this file (BIOG_2DA_MOD_YourModName_Mods_X.pcc) and put it in the CookedPCConsole folder of your DLC mod.
- You need to add the following line in your AutoLoad.ini file:
2DA1 = BIOG_2DA_MOD_YourModName_Mods_X
Filling up the 2DA
- Open BIOG_2DA_MOD_YourModName_Mods_X.pcc with Package Editor, select the Emails_part_1 export, and look under the Bio2DA tab, then export to Excel.
- In Excel, replace the rows from A Little Help From My Friends by your own rows for your own messages, then import back into BIOG_2DA_MOD_YourModName_Mods_X.pcc, and you should be good to go.
2DA Field descriptions
- ID. The first column (without header) of the 2DA contains the IDs of the messages. These IDs should be unique. Please post in the Forum the ranges that your mod is using.
- Conditional (Default value = -1). The email will be delivered at the private terminal whenever this Conditional returns TRUE. You can use a conditional from the base game, or create your own (see in A Little Help From My Friends for some examples), or just put the default value of -1 (in that case, it will be considered always TRUE). If you don't know about Conditionals, read this tutorial on plot management.
- State (Default value = -1), The email will be delivered at the private terminal whenever this state (i.e. plot bool) is TRUE. You can use a plot bool from the base game, or your own custom one, or just put the default value of -1 (in that case, it will be considered always TRUE). If you don't know about Plot bools, read this tutorial on plot management. Note that in general, you will use either a Conditional or a State (and set the other to -1), but if both are specified, the email will be delivered only if both are TRUE.
- Title. A stringref ID (text defined in TLK file) for the title of the message. Actually this is currently unused and won't show in game. But better have something defined anyway, as it will be used if/when a more complete interface is introduced to let players browse through old messages.
- Content. A stringref ID (text defined in TLK file) for the content of the message. This can also include a title on top, even if you also put the title in the Title field.
- Image (Default = none). Currently unused.
- PlotIntRead. A plot Int reserved to store the status of the message (unread, read, etc). It is important that this Plot Int is unique. Maybe use 55000 + ID of the message like I did, for simplicity. In any case, please post in the Forum the ranges that your mod is using.
- ButtonA. A stringref ID (text defined in TLK file) for the text on the confirm button ("OK" by default).
- ButtonATransition (Default = -1). ID of the transition (or State Event) to be triggered when the user clicks on the confirm button. No transition will be triggerd if the value is set to -1. See in A Little Help From My Friends for some examples of messages with transitions. If you don't know about Transitions, read this tutorial on plot management.
- ButtonAConsequence (Default = -1). ID of the consequence to be triggered when the user clicks on the confirm button. No consequence will be triggered if the value is set to -1. Consequences are a system used in ME1-LE1 to give some rewards to the player (e.g. XP, credits).
- ButtonB (Default = 0). A stringref ID (text defined in TLK file) for the text on the second button (e.g. "Ignore"). If this field is set to the default value of 0, a single button (ButtonA) will be shown (e.g. "OK").
- ButtonBTransition (Default = -1). ID of the transition (or State Event) to be triggered when the user clicks on the second button. No transition will be triggerd if the value is set to -1. See in A Little Help From My Friends for some examples of messages with transitions dependent on the player's choice (e.g. "accept" - "ignore").
- ButtonBConsequence (Default = -1). ID of the consequence to be triggered when the user clicks on the confirm button. No consequence will be triggered if the value is set to -1.
- Extra1-5. Currently unused.
Additional Notes
- In the current version of the mod, players will see the messages once but will not be able to browse through older messages.
- In the current version of the mod, the message display does not have a scroll bar. Be careful not to write messages that are too long, as they probably won't be fully readable.
0 comments