Jump to content

DOWNLOAD MODS

Are you looking for something shiny for your load order? We have many exclusive mods and resources you won't find anywhere else. Start your search now...

LEARN MODDING

Ready to try your hand at making your own mod creations? Visit the Enclave, the original ES/FO modding school, and learn the tricks of the trade from veteran modders...

JOIN THE ALLIANCE

Membership is free and registering unlocks image galleries, project hosting, live chat, unlimited downloads, & more...

Tutorial: Creating dialog in Morrowind (tips on adding and creating dialog)


Jac
 Share

Recommended Posts

TIPS ON ADDING AND CREATING DIALOG

When creating dialog topics, try to keep them as unique as possible. The reason for this is best explained by Psyringe:

In conversation, topics are available when both the player and the NPC know it. The NPC "knows" a topic when there is at least one line of dialog for this topic of which he can fulfill the conditions associated with it. The player knows a topic when it has been added to him with the ‘AddTopic’ command, or when the topic has been mentioned to him by an NPC who knows it. The last bit is the important part.

When writing dialog, we can do it this way:

  1. Give an NPC a greeting ‘I need some meteor slime.’
  2. Make a topic ‘meteor slime’, filter it for this NPC, and add the response ‘Meteor slime tastes great when mixed with scrib jelly. I'll give you a recipe.’, and add a meteor slime jelly recipe to the player's inventory.

Now when the player encounters the NPC, the NPC will say his greeting. The game *parses* this greeting and checks whether it cotains any topics. It finds the topic ‘meteor slime’ in the text. Since the NPC knows the topic ‘meteor slime’, and the text "meteor slime’ is being uttered by this NPC, the topic will automatically be added to the player's list of known topics, and the the topic will be printed in blue, be clickable, and will also appear in the list of available topics for this conversation.

This works well as long as the game can correctly determine that the text uttered by the NPC actually does contain the topic ‘meteor slime’. It can fail when other topics exist which overlap this one - like ‘slime’, or ‘some meteor slime’. The exact parsing algorithm of the game is unknown, but overlaps can cause it to fail, like this:

Let's say that a topic ‘some meteor slime’ exists, added by some other mod.
The game now parses our NPC's greeting and sees the topic ‘some meteor slime’ there.
It checks whether the NPC knows this topic, which he doesn't, so it doesn't get activated.
The game *does not* check whether the text ‘some meteor slime’ might also contain other topics as well.
Therefore, the game fails to see that the dialog contains the topic ‘meteor slime’
Therefore, the topic ‘meteor slime’ never gets added to the player's list of known topics, doesn't get activated, and the player cannot click on it and cannot receive the recipe.

Etiquette: Some modders use symbols (+ = * / - ) at the front of their topics while others use short phrases or change the letters of a topic name (e.g. t0gether). Whichever method you choose, it’s important to make it unique. Remember that topic names will show up in dialog as hyperlinked (in blue) if an NPC’s info/response line contains the same words or phrase. 

Tip: AddTopic should be avoided if you want the NPC adding the topic to be able to talk about it after it has added because topics added with that function won’t show up until the player quits dialog and reenters it. If you’re adding a topic that another NPC will talk about, then AddTopic is fine.

Etiquette: When adding info/response lines to an existing topic (i.e. one you did not add) or a greeting, it’s preferable to place the new line(s) somewhere in the middle of the topic or greeting if possible and to clean the insertion points. Adding lines to existing topics causes the CS to mark the line above and below as changed and this could lead to conflicts with other mods that add dialog to that topic or greeting. The best way to do this is to highlight the “changed” line(s) and replace the text with something that’s visible, such as [DELETE]. After you’re done adding dialog and are ready to test, use the TES Advanced Mod Editor (TESAME) program to “erase” these changed lines and revert them back to their original condition. After you do this, the lines will no longer have an asterisk by them and the game engine will no longer consider them changed. 

To use TESAME:

  1. Save your mod and close the CS.
  2. Open up TESAME and load your mod.
  3. Click on the Type tab to sort by type and scroll down until you see the [DELETE] lines.
  4. Click on each one, press the space bar to select it, and then press the <delete> key. Note: you can select and delete multiple entries.
  5. Save the mod and test it to make sure the dialog still works.
  • Upvote 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...