Jump to content

I need help with my Quest


kaiserfi

Recommended Posts

With starting the quest, do you mean that the NPC will only say your custom greeting topic after the quest has been started (like with the StartQuest command) or after you have advanced the quest to a certail quest stage where journal entry has been defined (like with the SetStage command)?

 

To have an NPC deliver a custom greeting that starts a quest (as described in the tutorial, in a condensed form):

  • create the quest, assign a name to it and tick the Start Game Enabled box to have the quest be active in the background from the very beginning
  • create the NPC and place it somewhere
  • open the quest editor, click the Topics button in the quest editor to open the topics tab for your quest
  • right-click the empty topic list, select to add a topic, a topic selector will pop up
  • select the GREETING topic (it exists there already, just find it, the greeting topic contains the lines delivered by NPCs when, for example, the player activates an NPC to start dialogue) and click OK to add it to the topics list
  • select the newly added GREETING in the list of topics, the right hand side list should become editable
  • add a new line with text for the NPC to say in the right side list
  • select the new line in the right side list and add a condition in the conditions box at the bottom with Condition Function being "GetIsID", function parameter your NPC ID (editor ID, the one it is listed in the CS NPCs list by), comparison being "==" and value "1.00" (this will restrict the line to be delivered only when the current ID of the NPC equals the ID of your custom NPC)
  • if you do not assign sufficient conditions (with regards to the GetIsID, for example) then every NPC in the game will deliver the line always (which is also fine, if you just want to see that the line really is delivered by NPCs - after which you can restrict the line to one or more specific NPCs or factions)
  • save everything and load the mod in-game, find the NPC and activate it to see the line delivered

After you have managed to add a greeting for the NPC (that the NPC delivers each time it is activated, obviously, with the being no limitations like quest stage), you can then try adding a quest stage as a condition to the new greeting line to restrict the line to only quest stages earlier than some specific stage (and also adding a SetStage command in the result script box to advance the quest). :thumbsup:

 

Edit: Reading your second post again, if it helps to clarify:

  • the quest itself can be running in the background without being visible to the player at all (for example, a quest with a quest script attached to it can be used to carry out all sorts of processing in the background for various modding purposes without the quest being visible to the player as long as the quest itself is enabled/active)
  • to make a quest visible to the player in the journal, one can add a stage with a journal entry to a quest, but it is not necessary for a quest to have any journal entries at all (even if it did have several stages), unless the quest is an actual story-like quest that the player can follow somehow (as in, if the quest exists only to perform script processing in the background, adding a stage with a journal entry on it would make little to no sense)

So the quest being visible in the player's journal (through a quest stage with an attached journal entry) is completely idependent of the quest being active/enabled (as in, running in the background). In case it is not obvious. So ticking the "Start Game Enabled" box only makes the quest object active (and causes any attached quest script to also run) in the background, but it does not produce any journal entries by itself, unless you have created a new stage with a number of 0 or something (I cannot remember if there exists a default starting quest stage) with a journal entry attached. Your post made it sound like there might have been some confusion about that?

Edited by Contrathetix
Link to comment
Share on other sites

create a quest script that run every 5 seconds (if you create quest and scripted quest attached to it without setting fQuestDelay, the default is 5 seconds same as your oblivion.ini)

then

- in quest script always check if 'she' is in same cellspace as player

- if same cellspace as player use script StartConversation to player

- insert setstage in that conversation

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...