Open main menu

UESPWiki β

Morrowind Mod:Dialogue Notes

< Mod / Morrowind: Morrowind Mod: Modding: Construction Set
To meet our site's higher standard of quality, this article or section may require cleanup. The user who placed this here had the following concern:
Sorted and wikified but needs more work
To leave a message about the cleanup for this article, please add it to this article's talk page.

How ToEdit

How do I add topics for just my NPC? After creating the topic and its Info/Responses, in the Speaker Conditions area, set the ID to your NPC.

How do I change the order of my Responses? Use the left-arrow and right-arrow keys to move an Info/Response up or down in the list.

How do I create dialogue for creatures? Any creature can have its specific dialogue. You make this exactly as you make the dialogue for an NPC, with one difference: you have to have the dialogue unfiltered when making it (i.e. the slot below the topics must be empty). Once you have created the dialogue lines, you can filter them for your creature.

How do I use a different first greeting? Check TalkedtoPC, which is 0 if this is the first time the player has talked to the NPC, 1 if not.

TipsEdit

  • Clicking "new" over an existing dialogue entry bumps it down a slot so you can insert entries above existing ones.
  • Dialogue entries have a character limit of about 530. Use the Choice "Continue" function to spread a single speech over more than one entry.
  • MessageBoxes from scripts will output to the dialogue screen if open.
  • If/Else statements can't be used in the results field. Only single-line commands. Use the Choice function if a decision needs to be made during dialogue.
  • Using the Latest Rumors is a good alternative to Greetings for introducing a new topic.
  • You can script other NPCs from the result field. If you have NPC1 and NPC2, you can add "npc2"->ModDisposition 10, "npc2"->SetFight 10 to NPC1's result field.
  • The forcegreeting function will initiate dialogue regardless of where the NPC is. The NPC does not even need to be in the same cell as the player. Best to use with a GetPCCell or GetDistance function.
  • To avoid Journal entries being mistaken for dialogue topics, use the two letter prefix convention that the developers used.
  • Use "Error check results" before releasing your mod (save your plugin before clicking). This will tell you if there is anything wrong with your dialogue like typos in result-box commands. If you find any errors, exit the construction set and reload your plugin to make the changes. If you don't exit first, the errors will be listed in the details list, causing your plugin to look "dirty". Note: If you are using Tribunal, you will always have error messages when running "Error check results". This is caused by errors in Tribunal itself, in the topics "fight your champion", "selling off" and "women".
  • Checking spelling and grammar can be streamlined by using the export and import functions in TECS. Export "new" dialogue to a file, use your favorite editor for corrections and import the corrected dialogue. Much easier on the brain than jumping around in a myriad of topics, greetings and journal entries.
  • Adding new dialogue entries at the very end of a topic/section whenever possible (so that there is no original entry following) reduces the potential for conflict with other plugins.
  • When adding topics, leave the topic name blank. Instead, create all the responses and assign the topic to an NPC or creature's ID. Then go and name the topic. This way you can avoid searching for the topic.

Cleaning Up Your ModEdit

Cleaning up your mod is good practice before releasing it and can also be used if you've accidentally deleted built-in dialogue.

  1. Go to the Data Files screen in the Construction Set. Select the required master files and the .esp file you want to clean. Make the .esp file active. Just like you're going to load the .esp for editing, but don't hit the "OK" button yet.
  2. Highlight the .esp file and click the "Details" button.
  3. Select (highlight) the entries you want to remove (or restore, if you deleted built-in dialogue), and hit the "Delete" key for each one. Answer yes to the prompt each time. You'll now see an "I" in the "Ignored" field for each entry.
  4. Once you've marked each entry you want to delete, close the "Details" window and hit the "OK" button to load the .esp file.
  5. Immediately save the .esp file. This will rewrite the file, minus all the entries you marked for deletion.
  6. To double-check: go back to the Data Files screen again and check the details listing for the .esp file. The entries you marked in step 3 should be gone.
  7. Your .esp file should now be clean, and ready for you to redo/repair the dialogue.

Useful Console Commands While TestingEdit

Player->AddItem "my item" 1 – add my item to player's inventory

Player->RemoveItem "my item" 1 – remove my item from player's inventory

ModDisposition # – NPC will like player # points better

cast "my_new_spell" player – NPC will cast my_new_spell

AiFollow Player 0 0 0 0 0 – NPC will start following the player

AiWander 0 0 0 0 0 0 0 0 0 0 0 0 – NPC will quit following the player

SetFight 100 or StartCombat->player – NPC will start attacking the player

StopCombat – Stop all combat

StartScript "my_global_script" – run the script my_global_script

Set companion to 1 – if you have added a short companion command to your script, this will make the npc share with you

SetHealth 100 – sets the NPC's Health to 100
SetMagicka 100 – sets the NPC's Magicka to 100
SetLongBlade 100 – sets the NPC's Long Blade skill to 100
...etc.

disable – makes the NPC instantly disappear

goodbye – forces the player to end the conversation – useful to avoid further small talk with an NPC that has been disabled

Documentation ErrorsEdit

  • The help file's description of the PCRank condition is incorrect. This seems to be more accurate: This will only give dialogue if the player is of a certain rank or higher. If PCFaction is left empty, the player must be of this rank or higher in the speaker's faction.

ProblemsEdit

New topics disappear: Go to the Filter box at the bottom of the list of topics. Clear the filter by choosing the top empty line in the drop-down list. Recommend using the button on main toolbar to bring up the dialogue editor rather than from the NPC's properties.

NPC asks the same question repeatedly: Be sure to put the replies above the original question. Sounds backwards, but it works.

NPC talks about everything: To keep an NPC from having the standard topics about Morrowind lore, attach the script "NoLore" to him or her. If you already have a script on the NPC, add the declaration Short NoLore near the top.

NPC still has extra topics: Some other general topics may appear depending on an NPC's faction or class. For example, members of the Imperial Legion will always automatically have topics about that faction, the Empire, and more.

Topics added but don't appear:

  1. The player must have already heard (read) that topic word or phrase before he can ask about it. Usually this is done by having an NPC's greeting include the topic.
  2. There may be Speaker Conditions that prevent the topic from appearing. Even if it appears when you filter the dialogue for an NPC, some topics depend on the player having reached a certain point in the game, having a specific journal entry, and so on.
  3. If a later mod in the load order has the same new topics as yours, the newer one will "overwrite" yours and they never show up in the game. In order to avoid this, you should always add an AddTopic command when using a new topic for the first time (i.e. AddTopic "together"). If overwritten by another mod, it will not be highlighted anymore, but it will still show up among the topics. This will make your game playable but less intuitive.
  4. Bethesda claims that you can use the greetings sections as you wish, but it's only partially true. If, for instance, you put your greetings in section 9 and the player already is Nerevarine, he will never get the right greetings as the "nerevarine greetings" are in a previous greetings section.

Nobody will talk to the player:' You have probably accidentally added an empty, unfiltered slot at the top of one of the greetings sections. Remove that slot, and they will start talking to you again.

Dialogue loops followed by an error message and crash to desktop: Try adding a line to the top of your Journal entry that acts as the journal entry title (just a line with no other functions or variables). (Note: this was reported by a single user, may be inaccurate.)

Faux Pas (Things that Cause Problems)Edit

  • Never delete a topic that belongs to the original Morrowind/Tribunal/Bloodmoon game. This is very hard to repair and will cause severe errors in save games.
  • If you are using Greetings Section 1, don't put your greetings at the very top of it. The top greeting belongs to a certain quest, and must be left at the very top in order to work correctly. You can put your greetings below it instead.
  • Avoid relying on built-in topics for generic dialogue, which could cause interference with mods that modify the same topics.
  • Do not remove items from the player's inventory with RemoveItem without making sure that the player actually has the item, otherwise you will mess up the player's encumbrance.
  • Don't remove an NPC or creature with custom dialogue from a mod, unless you also delete all the dialogue that was assigned to the NPC's or creature's ID. Otherwise, it may show up for other NPCs in the game and possibly cause major problems. Also, if you have dialogue in one mod that's tagged with the ID of an NPC or creature in another mod, loading the dialogue mod without the NPC or creature mod may give that dialogue to other NPCs in the game and cause problems.

BugsEdit

  • Using MessageBox in a results field can sometimes cause Morrowind to crash to the desktop.
  • Random100 does not change during a dialogue session. If you need it to then you have to do it yourself in a result box using code like Set Random100 to Random, 101.