Quest Timer

Post » Thu Jun 21, 2012 8:54 am

Hi guys and gals,

Need your help again.

I need to delay a dialog topic by a certain number of days starting from a greating topic

How do I go about implementing a Timer so a topic appears only a given number of days after the Player great a given npc (a companion in that case)?

Any help is welcome at this stage.
User avatar
Johnny
 
Posts: 3390
Joined: Fri Jul 06, 2007 11:32 am

Post » Wed Jun 20, 2012 11:25 pm

http://www.creationkit.com/Complete_Example_Scripts#Script_for_a_quest_with_time_limit
User avatar
Lance Vannortwick
 
Posts: 3479
Joined: Thu Sep 27, 2007 5:30 pm

Post » Thu Jun 21, 2012 2:21 pm

Set a Var to (GameDaysPassed + X) when you want the timer to start , then add a condition to the INFO(s) that checks if GameDaysPassed >= Var.
User avatar
Annick Charron
 
Posts: 3367
Joined: Fri Dec 29, 2006 3:03 pm

Post » Thu Jun 21, 2012 6:12 am

http://www.creationkit.com/Complete_Example_Scripts#Script_for_a_quest_with_time_limit
Thanks but this does not help that's not what I want to do. this script makes a player to complete a quest by a certain time...That's not what I want...Me I would like to fire a quest at a given time after an event.
But thanks anyway
User avatar
Juliet
 
Posts: 3440
Joined: Fri Jun 23, 2006 12:49 pm

Post » Thu Jun 21, 2012 12:49 pm

Set a Var to (GameDaysPassed + X) when you want the timer to start , then add a condition to the INFO(s) that checks if GameDaysPassed >= Var.
should I set a Global Variable first
User avatar
Floor Punch
 
Posts: 3568
Joined: Tue May 29, 2007 7:18 am

Post » Thu Jun 21, 2012 8:45 am

I meant that you could adjust their script to help you, but I'll give it a shot on my own.

You could (at beginning of timer) make an alias that gets filled by the Player, or by whoever really. Could even be an invisible actor in the CTest cell for all we care. Then register this alias for a single update.

Event OnUpdate()int i=0while i
Then just make the dialogue condition that MyGlobal ==1
User avatar
maria Dwyer
 
Posts: 3422
Joined: Sat Jan 27, 2007 11:24 am

Post » Thu Jun 21, 2012 5:58 am

You could also just have the timer set a quest stage, and have that quest stage as a condition for your dialog to fire.
User avatar
Tamika Jett
 
Posts: 3301
Joined: Wed Jun 06, 2007 3:44 am

Post » Thu Jun 21, 2012 9:58 am

Scripts on Quest Stages only run once (when the stage is activated), so somewhere there has to be an OnUpdate Event to handle re-checking the timer

I would ...
  • Put an OnUpdate on the player alias in the quest (with a quite large update timer ... it doesn't need to update too often).
  • Setup your timer-stop (mytimetostop = currentgametime + mynumtimetowait)
  • Setup an if statement in the OnUpdate that when CurrentGameTime >= mytimetostop
  • When the statement is true, have a line that updates the Quest to the next stage which enables the dialogue (test for Quest Stage in Dialogue)
  • You should also make sure to stop checking for updates once the condition has fired! (or it will keep running!)

I did the same thing this way and it works well ... Though you might want to check you have given the Player enough feedback that he is going to be hanging around while the time passes.
User avatar
Kelvin Diaz
 
Posts: 3214
Joined: Mon May 14, 2007 5:16 pm

Post » Thu Jun 21, 2012 6:05 am

thanks guys...THAT helps and sorry for the late response. I am going with Il Ducey solution as I want my quest to fire x time after a dialog is fired
User avatar
Travis
 
Posts: 3456
Joined: Wed Oct 24, 2007 1:57 am


Return to V - Skyrim