Difference between revisions of "Mod:Create a dialogue"
Anabellebel (talk | contribs) |
Anabellebel (talk | contribs) |
||
Line 156: | Line 156: | ||
To code a response that appears only if the player-character has at least 5 intelligence, follow all the steps in [[Mod:Create_a_dialogue#Code a player response or a sequence of interactions|the previous portion]], but add these after step ''6'': | To code a response that appears only if the player-character has at least 5 intelligence, follow all the steps in [[Mod:Create_a_dialogue#Code a player response or a sequence of interactions|the previous portion]], but add these after step ''6'': | ||
# Click on {{False button|New...|color=gray|border=black}}. | # Click on {{False button|New...|color=gray|border=black}}. | ||
− | # Click on the {{False button|Always|color=black2}} tab and select {{False button|Quantity - Unit|color=black2}}, then under {{False button|Unit|color=gray}}, type "TheGamer", then under {{False button|has|color=gray}}, click on {{False button|Change|color=gray|edge=black}} Click on {{False button|More than|color=black2}} and enter the value "4" to the right of the {{False | + | # Click on the {{False button|Always|color=black2}} tab and select {{False button|Quantity - Unit|color=black2}}, then under {{False button|Unit|color=gray}}, type "TheGamer", then under {{False button|has|color=gray}}, click on {{False button|Change|color=gray|edge=black}} Click on {{False button|More than|color=black2}} and enter the value "4" to the right of the {{False button|Num|color=gray}}. Press {{False button|Ok|color=gray|bord=black}} |
# Under {{False button|type|color=gray}} click {{False button|change|color=gray|edge=black}} then select {{False button|Status|color=black2}}. Click on {{False button|strength|color=black2}} to the right and change it to {{False button|intelligence|color=black2}}. Press {{False button|Ok|color=gray|border=black}}. | # Under {{False button|type|color=gray}} click {{False button|change|color=gray|edge=black}} then select {{False button|Status|color=black2}}. Click on {{False button|strength|color=black2}} to the right and change it to {{False button|intelligence|color=black2}}. Press {{False button|Ok|color=gray|border=black}}. |
Revision as of 22:22, 21 September 2022
This tutorial shows how to create or edit dialogs in The Sum.
Required tools
Before You Begin
Please take some time to browse the "Speech" section of the readme file from the Fallout Tactics editor.
Create a dialogue
Access the .txt file of the location
Each location has its dialog file (with an eponymous code name) already imported. It is in Game/NousAurons/locale/ (French version) and Game/core/locale/ (English version). Some of these files are in a folder of the same name to allow to also store voice files.
Writing introduction
- Open the two files 'location_code_name_where_the_dialogue_takes_place.txt and for each of them:
- Press ctrl+fand search for "// DIALOGUES"
- Copy/paste the following code:
ADD_Di_1 = {<Ck>- Dialog portion}
- Press
- Add as many dialog portions as you need.
- Go to the Filemenu and thenSave.
Writing convention
- Each dialog code name (ex: AJOUT_Di_1) must be unique in the file where it is added.
- AJOUT_: helps to find the dialog first in the alphabetical list when it is integrated in the Level editor.
- Di_: indicates that it is a portion of a dialog.
- Acc: indicates that this is the character's first piece of dialogue.
- R: indicates that this is a response from the player.
- Rdm followed by a number from 1 to 6: is used to indicate that the dialogue portion will float over the character's head.
- OBJ: indicates that the dialogue portion is a quest label, or related to a quest.
- Pers followed by a number from 1 to 6: refers to a character whose code name is identical in the level editor.
- Int and Cha: indicate a portion of dialogue that is triggered when the player has a low Intelligence or Charisma score.
- <Ck>-: is placed in any dialog to change the color of the text to black and precede it with a dash.
- A few short sentences can be added to the dialog code name to differentiate it (ex: Mad)The characters "/" and ":" cannot be used as is in dialogs. Replace them with "^" and "#" to display them properly in the game
Writing steps
- Access the appropriate .txt files (those with the code name of the location where the dialogue will be added)
- Choose the code name of the character speaking (if possible identical to the code name of a character already in the location, like Pers1)
- Write an introduction line:
ADD_Di_Pers1_Acc = {<Ck>- Hello!}
- Add or don't add a player reply:
ADD_Di_Pers1_AccR = {<Ck>- Hi!}
This response may require certain conditions, indicated after the dialog portion as a comment (preceded by //). Ex: //Intelligence < 5 - Add the dialogs that logically follow:
ADD_Di_Pers1_1 = {<Ck>- Would you have a minute to help me?} ADD_Di_Pers1_1R = {<Ck>- I'd love to!} ADD_Di_Pers1_1R_Refuse_to_help = {<Ck>- Forget it!} //Insensible ADD_Di_Pers1_2 = {<Ck>- Wonderful. I was about to pass out, this is too heavy!} ADD_Di_Pers1_2_Refuse_help = {<Ck>- This is so insensitive of you!}
- Add some portions of dialogue appearing above the character's head:
ADD_Di_Pers1_Rdm1 = {Beautiful day still<C->} ADD_Di_Pers1_Rdm2 = {<Cr>This is heavy!<C->} ADD_Di_Pers1_Rdm3 = {What's that?<C->} ADD_Di_Pers1_Rdm4 = {I could use some help...<C->} ADD_Di_Pers1_Rdm5 = {<Co>How are the others doing?<C->} ADD_Di_Pers1_Rdm6 = {I try as hard as I can, it's useless.<C->}
Writing codes
The following codes are used to color the text and add special characters, for example.
- \n: Skip a line.
- <C*> and <C->: Add/remove a Color. Replace *' with b (blue), c (cyan), k (black), m (magenta), o (orange), r (red), w (white) or y (yellow).
- <rgb:***,***,***>: Add a specific RGB color. Replace *** with a number from 1 to 255.
- <b+> and <b->: Add/Remove Bold.
- <Jl>, <Jc>, <Jr> and <Jj>: Left-aligned, center-aligned, right-aligned or justified text.
→ More information (English)
Add dialog to Level editor
Open the location file (level editor)
- Open the folder Game/ then FT Improver.EXE.
- Pass the videos by clicking on them.
- Click on ⦿ MORE.
- Click ⦿ LEVEL EDITOR.
- Navigate to the Filemenu thenOpen.
- Open the file of the location previously created which must end with .mis.
Add the dialog
- Click on the Leveltab.
- Click on the Speech...button at the bottom.
- Click on the Addbutton at the top.
- Scroll left to the bottom of the list.
- Click on New Nodeand replace the "New Node" with the code name of your first portion of the dialog under theRemovebutton.
- ✔ Floating(checked by default): floats the dialog over the character's head.
- Windowed: adds the dialog in a box at the bottom of the screen with the character's portrait and a⦿ OKbutton.
- Add the code name of the dialog under Default Event(for scripts).
- Select the dialog code to the right of Random 1.When you add the floating dialogs Rdm1 to 6, you can add all 6 of them one after the other. The game will display them randomly
Scripting dialogue (advanced)
Coding a dialog inside the Mod:Editors#Level_editor requires a lot of scripting. Refer to the Mod:Scripts section for the basics of coding in the Level editor.
Prepare the code to be added
The table here allows you to know in advance the most complex codes to use to program your dialog, according to a number of special pre-determined conditions (e.g. the player refuses to help, tries to seduce the other character, is threatening, etc.)
Code the first portion of the dialog
- Click on the Leveltab.
- Click on the Triggers...tab at the bottom left.
- Click on New....
- Add a description (example: PERS1 - Acc)
- The tab ✔ Conditionsis already open. Click onNew....
- The Alwayscondition is already selected. Click onOkat the bottom right.
- Click on the Actionstab. It changes to✔ Actions.
- Click on New....
- Click on the Center Viewtab and selectSet Click Speech.
- Under Set Click Speech for Unit, clicklist...and select the code name of the character you want to speak. If you have not added a character already, follow these steps.
- Under to, select the dialog code you previously embedded.
- Click Ok
Code the other portions of the dialogue
The following dialogue portions will no longer use the Always condition, but will all require a special condition to appear.
- Click on the Leveltab.
- Click on Triggers...at the bottom left.
- Click on New....
- Add a description (example: PERS1 - 01)
- The tab ✔ Conditionsis already open. Click onNew....
- Click on the Alwaystab and selectSpeech Occured, then underSpeech Event was, select the portion of the dialog that you coded before.
- Click on the Actionstab. It changes to✔ Actions.
- Click on New....
- Click on the Center Viewtab and selectSet Click Speech.
- Under Set Click Speech for Unit, clicklist...and select the code name of the character you want to re-speak.
- Under to, select the code for the next section of the dialog.
- Press OkThis step completed, after the first dialog, clicking on the character again will start a new dialog.
Code a player response or a sequence of interactions
It is possible to code a series of interactions that appear automatically after a portion of the dialog (after the dialog button is clicked).
- Click on the Leveltab.
- Click on the Triggers...tab at the bottom left.
- Click on New....
- Add a description (example: PERS1 - 01R)
- The ✔ Conditionstab is already open. Click onNew....
- Click on the Alwaystab and selectSpeech Occured, then underSpeech Event was, select the portion of the dialog that will be responded to.
- Click on the Actionstab. It will change to✔ Actions.
- Click on New....
- Click on the Center Viewtab and selectSet Variable.
- Under Variable, type, for example: Pers1_message.
- Under Value, type, for example: AccR.
- Press Ok
- Click New....
- Add a description (example: PERS1 - 01R (message))
- The ✔ Conditionstab is already open. Click onNew....
- Click on the Alwaystab and selectVariable, then underVariabletype in the variable you just chose, then underis Valuetype in the value you just chose.
- Click on the Actionstab. It will change to✔ Actions.
- Click on New....
- Click on the Center Viewtab and selectForce Speech.
- Under Unit, clicklist...and select the code name of the character who will be responding. If it is the player, type "LeJoueur" instead.
- Under will use speech node, select the code for the section of the dialog that corresponds to the response.
- Check the Blockingbox in the upper right corner.
- Repeat the steps from 18 to add all the portions of dialogs that you want. They will all follow each other.
- Press Ok
Code a portion of the dialog that depends on a condition
When you add a condition, you can always add a number of additional conditions that must all be true for the script to activate the intended dialog portion. This allows you, for example, to create a specific dialog portion if the player has an intelligence score < 5 and another if their score is >= 5. If you don't consider all the possibilities, nothing may happen if the player doesn't have the necessary characteristics. To code a response that appears only if the player-character has at least 5 intelligence, follow all the steps in the previous portion, but add these after step 6:
- Click on New....
- Click on the Alwaystab and selectQuantity - Unit, then underUnit, type "TheGamer", then underhas, click onChangeClick onMore thanand enter the value "4" to the right of theNum. PressOk
- Under typeclickchangethen selectStatus. Click onstrengthto the right and change it tointelligence. PressOk.