Titan Quest Wiki
Register
Advertisement

Mainquests[]

Preparations[]

First of all, get a copy of the TEX Viewer (© Max McGuire) and of the ARC Explorer (© 2006 Benjamin Haisch) if you haven't already done so.

Next use the ArchiveTool or ArcExplorer to get \quest\questmapgreece.tex out of \Resources\InGameUI.arc which is in your C:\Program Files\THQ\Titan Quest folder. View it with the TextureViewer and export it and change it in your painting programm. Save your changed version as TGA, because JPG didn't work during my tests.

All the following steps are done with the Art Manager.

Step 1 - Acquire resources[]

Import the following:


1. This import may not be renamed or moved!


It is best to only import these files and leave them in their original folders other than moving them if your quest map marker still doesn't work after you've followed through this tutorial.

Step 2 - questlocationbutton1.dbr[]

TutQuest 01qstlocbtn

Edit config->texttag and insert your own reference tag which you ideally placed previously in your modstrings.txt file. The button is used to switch between the regions (Egypt, Greece, Orient in original TQ Story) and should display the name of the region.

Save. Right click. Build.

Step 3 - Questmarkers[]

You need one pair of questmarkers ( ...\greeceq1.dbr + ...\greeceq1_overlay.dbr).for each main quest dot (you know, the green glowing dots with roman numbers) on your map.

The overlay shows only the roman number. The marker is the reference to your quest file.

Take your copy of records\ingameui\player quests\map markers\greeceq1_overlay.dbr.

TutQuest 03qstoverlay

Here you can change the Number of your Quest. Save. Right click. Build.

Take your copy of records\ingameui\player quests\map markers\greeceq1.dbr

TutQuest 02qstmarker

1- Select your related quest file here.
2- Select your overlay file here.
3- Reference your MarkerDescription from your modstrings.txt
4- Change the position of your marker on the map here. The coordinates are based on the image of your maps upper-left corner. The dot is a 35x35 image and likewise has its point of origin in the upper left corner. Use your painting tool to get your coordinates.

Save. Right click. Build.


A brief look into the quest file

TutQuest 04qstfile

I use this file to test conditions and actions. Each Marker (I, II, III ...) has its own questfile (*.qst). If you want to have more than one checkpoint within a marker, add a "Update X’s Dialog to X" action with different BulletPointTags for each checkpoint.

TutQuest 05qstfile action1

Properties of update action 1

TutQuest 06qstfile action2

Properties of update action 2

TutQuest 07qstfile action3

Properties of update action 3

Always reference your tags from your modstrings.txt, otherwise the message "Tag not found" will appear or the box keeps empty. I tried it several times with "..." but it didn't work.

And here the examples from the game: These pictures show the function of my quest file, as shown above.

TutQuest 08example1

Picture 1: shows the initial setting in your mod.

TutQuest 09example2

Picture 2: you clicked on the NPC, debug message is shown but the log is not updated.

TutQuest 10example3

Picture 3: you clicked on the NPC the secound time, debug message is shown and the log is updated.

Fairytale messagebox info This example shows that after an "On interact with X" condition an "Update This Quest’s Map Marker" action is fired at the second click on an npc, but most other actions are done at the first click.
Fairytale messagebox critical Quest Location Map

The map markers are referenced in the questlocationmap1.dbr file. If you do not address the proper reference in this file, your quest's map marker will not be updated. The reference may be found at Config > MapMarkers.


Associating the QST file to the Terrain Map[]

For the quests which you build through the QuestEditor to be loaded in the game, they need to be associated to your terrain map in the WorldEditor.

You will do this as follows: once you have saved your quest steps in the QuestEditor, you will be left with a .qst file which you can edit and modify anytime. To link this file to your map, go to the QuestEditor's Layout Mode and from the toolbar select Quest > Select Files... Your .qst file should be in the Resources > Quests folder with the other default mods from the original game.

If you are using the Titan Quest Immortal Throne expansion, always make sure that you build your mod in the ArtManager and copy the built Custommaps folder to the C:\Program Files\THQ\Titan Quest Immortal Throne for the WorldEditor to update your Assets database.

Fairytale messagebox info The Quest Editor will only load your mod's database once you load it from File > Select Mod. Creating a new quest file or opening an old one is not enough.

Step 4 - adding your image as map[]

Save your map as a TGA file (32bit). JPG didn't work during my test. Switch to the Sources Tab and import your image. Right click on your imported image and select "Auto-create asset" and choose bitmap as asset type. Now your tex file appears in your assets tab. And don't forget to build!

Edit your copy of questlocationmapbitmap1.dbr

TutQuest 11qstlocbmp

Here select the *.tex file you just created.

Save. Right click. Build.

Edit your copy of questlocationmap1.dbr

TutQuest 12qstlocmap

Here you have to reference your questlocationmapbitmap1.dbr from above and your quest markers (not the overlays) from step 3.

You maybe know what's next, right: Save. Right click. Build.

Step 5 - Add your Map to the Quest HUD[]

Open records\ingameui\player quests\questwindow.dbr

TutQuest 13qstwnd

1- reference here your questlocationbutton from step 2.
2- reference here your questlocationmap from step 4.

As you can also see, it is only possible to add 3 different Maps into your mod. as it is in the original TQ story (Greece, Egypt and Orient). and for the last time: Save. Right click. Build.

Fairytale messagebox critical Important:

Dont move or rename this file, otherwise the game does not find it.

Step 6 - Finish and Test[]

So now use the F7 Build from the menu to rebuild all of your content and export it in your custom game folder.

Sidequests[]

Sidequests are not called quests at all in the quest editor. They are called journal entries.

Getting a sidequest entry into the journal is much simpler than managing a Mainquest. Of course, you have to create NPCs, dialogs etc. But you don't have to do the UI stuff.

The key for making sidequests visible in the journal is the Add Journal Entry To Region #N action. When you start a new sidequest, you call this action with tags for the name of your new side quest, a description text, and a heading to subgroup the sidequest under (as Helos, Sparta etc. in the original game). You must also specify whether the sidequest belongs to your equivalent of Greece (Region #1), Egypt (Region #2), or the Orient (Region #3)

To update the sidequest, call the action again with all parameters unchanged except the description text tag.

To mark the sidequest as completed, call the action once more with the doComplete parameter set to true.

Scripted Scenes[]

Scripted scenes work in the same way as quests, except that you need not to update any questmarker or journal.

If a scripted scene should occur each time the player enters your mod again, you need to set all conditions to resetable and additionaly it is also recommended to use a quest token for each of your repeatable quest steps. With the tokens you assure that a step is activated only after another one was solved.

This technique is also adaptable for any quest that can be re-done everytime you restart the game.

Tips and Tricks[]

Fairytale messagebox info Things you should know:
  • Use separate quest files:

As you learned in 'Step 3 - Questmarkers' each mainquest dot needs a separate questfile. It is also a good idea to do this with each sidequest and scripted scene.

  • Multiple checkboxes for one mainquest step:

To get more than one check box under a common headline, just use the Update This Quest’s Map Marker action with different BulletPointTags. Each checkbox is associated with its unique BulletPointTag.

  • Avoid timed steps:

It is best to not rely on timers for actions which are crucial to your quests because these may require a lot of debugging and the debugging itself may generate other problems. For instance, do not make steps of the type "On conversation with X -> Spawn QUESTNPC after 1 second" and similarly "Animation completed -> Spawn QUESTNPC after 1 second". This would allow for the error that the QUESTNPC will be missing from the scene the next time the game is loaded, if the game is exited 1 second before the NPC is spawned. Some errors of this type do not show up until you reload the game a third time.

See Also[]

Advertisement