GetSecondsPassed
Revision as of 18:35, 25 December 2008 by imported>Quetzilla (GameDaysPassed is not *that* precise.)
Link to TES4 Construction Set Wiki: GetSecondsPassed.
In Fallout 3, GameDaysPassed is a float with enough precision to effectively measure the passage of seconds over short periods of time. Under those circumstances, this can be used as an alternative to GetSecondsPassed. Consider:
float MyTimer begin GameMode if GameDaysPassed < MyTimer return else ; Do stuff. ; Reset the timer to 5 seconds (24 hours of 60 minutes of 60 seconds in a day). set MyTimer to GameDaysPassed + (1.0 / 24.0 / 60.0 / 60.0) * 5.0 endif end
This is the same as this:
float MyTimer begin GameMode ; Keep track of time. set MyTimer to MyTimer - GetSecondsPassed if MyTimer > 0 return else ; Do stuff. ; Reset the timer to 5 seconds. set MyTimer to 5 endif end
It is also slightly more efficient to use GameDaysPassed because you do not need to update a variable every frame, you only have to do the check - saving the script an operation. A minor note, but nonetheless notable.
However, for cases where the timer needs to be accurate to fractions of a second, GetSecondsPassed is the best choice, as the GameDaysPassed is not precise enough for this purpose.