Jump to content

Journal Update Boxes Missing


jfkenny30

Recommended Posts

I've written a new content mod quest and it just needs a little polishing before it's finished. I am having difficulty in ascertaining as to why I am receiving no nice brown message boxes when my quest begins and is updated via topic based result scripts.

 

When I start my Quest via meeting and discussing a topic with my Main Actor I get white text at the top of the screen saying something along the lines "New Quest added to Journal : To catch a thief!" When I use console to start it myself I get the much lauded browny beige box which gives you the option to set as active quest or continue. Furthermore, I only get the white text across the screen saying something like "Your Journal has been updated" when I move to a new stage within the quest as a result of topic based result script progression. Where I have scripted quest stage advancements involving deaths of actors, arrival at markers and picking up items and the like I have received the aforementioned box giving the details of the log entry.

 

This doesn't happen to the existing Oblivion mods that use topics as quest stage advancements.

 

Any thoughts?

Link to comment
Share on other sites

This is normal because techincally the dialogue is still running when the stage is updated by it. One way to get the journal to pop after dialogue sets it up is to have the quest script bump it. This means you can have one stage for the dialogue update and another follow-up stage for GameMode to set in the quest script when the if block you'll make is proven true. Just remove the journal text from the dialogue setstage and add it to the new quest script setstage. A better way is simply to use a quest variable to be set by the dialogue so that you don't create a lot of excess stages.
Link to comment
Share on other sites

This is normal because techincally the dialogue is still running when the stage is updated by it. One way to get the journal to pop after dialogue sets it up is to have the quest script bump it. This means you can have one stage for the dialogue update and another follow-up stage for GameMode to set in the quest script when the if block you'll make is proven true. Just remove the journal text from the dialogue setstage and add it to the new quest script setstage. A better way is simply to use a quest variable to be set by the dialogue so that you don't create a lot of excess stages.

 

Thanks for the reply but it has left me with a new problem....implementing what you just said! I wouldn't really know how to go about adding something like that into my main quest script. If you could help me out a little with doing that I would be very grateful once more.

 

Thanks

 

J

Link to comment
Share on other sites

First declare the variable then add the if statement to your quest script. The variable name can be anything you like as well as the quest stage numbers.

ScriptName MyUniqueQuestScriptName

short stagebump

Begin GameMode

  if stagebump == 1
  setstage MyUniqueQuestName to 10
  set stagebump to 2
  endif

End

Notice how I set the "stagebump" variable to 2 at the end of the if statement. This is because Quest Scripts run once every frame and if you do not do this then the script will constantly run any true statements. This way the statement is only true once.

 

Next, in the result script of your dialogue you would add

set MyUniqueQuestName.bumpstage to 1

You just need to make sure that this specific dialogue result can only be accessed once which you can secure in a number of different ways, the most obvious being to check the "Say Once" box. Another way would be to use certain conditions in dialogue.

 

Also worthy of note is that you will get the journal pop-up here because the result is being run in "Game Mode" which means that anything in this sort of block is only checked when the character is not in any menus or, say, dialogue. :thumbsup:

Link to comment
Share on other sites

Sir, you are indeed a genius.

 

Many thanks, I had implemented some variable stuff for other things like checking if characters are dead, letters have been read etc etc but didn't think to use this for such an application. You live and learn.

 

Once again, many thanks.

 

J

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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