I was having a look at the OpenMW forums, which led me to the new work in progress fog shaders. While checking out the shaders options in settings.cfg I stumbled across the Save settings in the documentation
This setting determines whether the amount of the time the player has spent playing will be displayed for each saved game in the Load menu.
#$@^
So, what's it counting? A few quick tests show it's counting all the time the game is running in the foreground, and the clock stops if you minimize OpenMW (or switch to another window when OpenMW is in fullscreen mode). That's not bad, although it will count time spent in the pause menu.
PlayedTime Mod: Counts played time, pauses clock for pause menu and minimized OpenMW. Must estimate played time before installation, provides notices. OpenMW timeplayed setting: Counts played time including pause menu time. Tracked from character start.
On my non-test character the saved game stat is showing 1d 15h, but my calculations say the most I could have played based on the in game time is 1d 8h. I've spent at least 7 hours of the game in the damned pause menu! (EDIT: ... or the non-pause menu, counted by the mod but not the in game date.)
Those snacks, wandering off to help kids with things and (probably) "just closing my eyes for a moment" after pausing the game add up.
I've now ported a cut down version of this mod to a .ESP for the original Morrowind (listed as "Played Time for Morrowind" ).
I'll probably release an updated version of this mod "soon" to: 1) Mention the version for original MW and remove the unneeded instructions on trying to build it for that 2) Fix a couple of minor script sytax problems. It looks like OpenMW will allow = for comparisons, but technically they should be ==. I came across a couple when porting to original MW 3) Add discussion of the OpenMW built in Save setting that does much the same thing as this mod (for folks who don't want notices, musical bell sequences).
Updated to version 1.3 ---------------------------------------------------------- New features: * Added play time estimation dialogue (based on in-game time) * When added to an ongoing game with more than 30 minutes estimated play time the mod will prompt to (optionally) set age.
Estimation can be manually triggered from the console with: startscript PlayedTimeGuess
Still OpenMW exclusive
Update: Added images of the new dialogue prompts.
Update 2: Bah! I ran the new estimator on my main character and it gives me a feeble 15 hours. So much for the 1+ days I guessed when setting the time manually, but at least I'll get to enjoy the 1 day chime again.
It starts counting from when it's first loaded (there's no built in real time tracking in OpenMW/Morrowind), although if you want to guess at how much time you've played you can set the starting time via the console (instructions in the .txt file).
It should be safe to install/uninstall at any time. I thought it would leave behind the global variables keeping track of time, but it looks like OpenMW (being clever) cleans up unreferenced global variables! I haven't had any trouble adding it to my ongoing game, removing it or changing versions.
That said, I was reading somewhere (maybe related to mod testing advice) that OpenMW doesn't like installing mods in ongoing games or changing mod order and it can cause weirdness. I suggest trying it with your ongoing game and if you don't like what it does revert to the pre-mod save.
I'm going to shortly upload 1.2 (minor bugfix to fix up a couple of issues leading to a few seconds being lost/gained a day) and I'll add in a couple of test commands to help get a better idea of what it does quickly - PlayedTimeNextHour and PlayedTimeNextDay.
EDIT: Uploaded 1.2 (incredibly minor non-game breaking bug fixes, version number change justified by the two new scripts).
If you do see any issues (or even if you just like what it does) let me know. Downloaders are a very select club so far
there is 1-day resolution in game time tracking dayspassed global variable. [EDIT] You could assume player is not changing timescale often and divide by it to have real-time days passed, not precise if you change timescale but maybe interesting
I could add in a first time use prompt to ask about guessing age with what looks to be an ongoing game, or (less intrusively) an optional script to trigger via console. DaysPassed is nominally a Tribuneral thing - I'd have to check if it works properly if Tribuneral is not activated.
The mod todo list is empty at the moment, so I'll give it a think.
EDIT: DaysPassed was working with Tribuneral disabled, so it looks like it's not dependent on it in OpenMW.
I've added a series of played time estimation dialogues that will trigger on first run for games with more than 30 minutes of play time (estimated from days passed, in-game clock and timescale). The player is prompted to guess at time spent sleeping (0-40%) and asked if he or she would like to set the played time to the calculated estimate.
Time doesn't pass in menus or dialogue (I think) or console, so there's some active time played that isn't captured by the in-game clock but it's better than nothing.
The dialogue can be run later with: startscript PlayedTimeGuess
Updated to version 1.2 - Trivial fixes for bugs that caused gain of 24 and loss of 15ish seconds a day - Changed default bell tones to three (configurable with Set PlayedTimeBellBase to <number of tones you want> ) - Added a couple of convenience scripts for testing (or seeing if you like what it does at hour/day). See included .txt file.
The clock stops for the pause menu (options, save game) and when using the command/debug console. It counts time spent in the regular game menus (inventory, spell list), which is what I'd want it to do anyway.
EDIT: Okay, I thought it stopped counting while in the command console, but it clearly wasn't when I was doing some testing for 1.2 tonight... so probably not.
Mystery solved. If you're in the pause menu it's stopped. If you hit ~ from the pause menu the console opens and the timer is still stopped (because the game is still in the pause menu).
13 comments
While checking out the shaders options in settings.cfg I stumbled across the Save settings in the documentation
http://openmw.readthedocs.io/en/master/reference/modding/settings/saves.html
timeplayed
Type:boolean
Range:True/False
Default:False
This setting determines whether the amount of the time the player has spent playing will be displayed for each saved game in the Load menu.
#$@^
So, what's it counting?
A few quick tests show it's counting all the time the game is running in the foreground, and the clock stops if you minimize OpenMW (or switch to another window when OpenMW is in fullscreen mode). That's not bad, although it will count time spent in the pause menu.
PlayedTime Mod: Counts played time, pauses clock for pause menu and minimized OpenMW. Must estimate played time before installation, provides notices.
OpenMW timeplayed setting: Counts played time including pause menu time. Tracked from character start.
On my non-test character the saved game stat is showing 1d 15h, but my calculations say the most I could have played based on the in game time is 1d 8h.
I've spent at least 7 hours of the game in the damned pause menu! (EDIT: ... or the non-pause menu, counted by the mod but not the in game date.)
Those snacks, wandering off to help kids with things and (probably) "just closing my eyes for a moment" after pausing the game add up.
I'll probably release an updated version of this mod "soon" to:
1) Mention the version for original MW and remove the unneeded instructions on trying to build it for that
2) Fix a couple of minor script sytax problems. It looks like OpenMW will allow = for comparisons, but technically they should be ==. I came across a couple when porting to original MW
3) Add discussion of the OpenMW built in Save setting that does much the same thing as this mod (for folks who don't want notices, musical bell sequences).
----------------------------------------------------------
New features:
* Added play time estimation dialogue (based on in-game time)
* When added to an ongoing game with more than 30 minutes estimated play time the mod will prompt to (optionally) set age.
Estimation can be manually triggered from the console with:
startscript PlayedTimeGuess
Still OpenMW exclusive
Update: Added images of the new dialogue prompts.
Update 2: Bah! I ran the new estimator on my main character and it gives me a feeble 15 hours. So much for the 1+ days I guessed when setting the time manually, but at least I'll get to enjoy the 1 day chime again.
Does it show the time starting from when you install or the entire playtime of the character?
It should be safe to install/uninstall at any time. I thought it would leave behind the global variables keeping track of time, but it looks like OpenMW (being clever) cleans up unreferenced global variables! I haven't had any trouble adding it to my ongoing game, removing it or changing versions.
That said, I was reading somewhere (maybe related to mod testing advice) that OpenMW doesn't like installing mods in ongoing games or changing mod order and it can cause weirdness. I suggest trying it with your ongoing game and if you don't like what it does revert to the pre-mod save.
I'm going to shortly upload 1.2 (minor bugfix to fix up a couple of issues leading to a few seconds being lost/gained a day) and I'll add in a couple of test commands to help get a better idea of what it does quickly - PlayedTimeNextHour and PlayedTimeNextDay.
EDIT: Uploaded 1.2 (incredibly minor non-game breaking bug fixes, version number change justified by the two new scripts).
If you do see any issues (or even if you just like what it does) let me know. Downloaders are a very select club so far
[EDIT] You could assume player is not changing timescale often and divide by it to have real-time days passed, not precise if you change timescale but maybe interesting
DaysPassed is nominally a Tribuneral thing - I'd have to check if it works properly if Tribuneral is not activated.
The mod todo list is empty at the moment, so I'll give it a think.
EDIT: DaysPassed was working with Tribuneral disabled, so it looks like it's not dependent on it in OpenMW.
I've added a series of played time estimation dialogues that will trigger on first run for games with more than 30 minutes of play time (estimated from days passed, in-game clock and timescale). The player is prompted to guess at time spent sleeping (0-40%) and asked if he or she would like to set the played time to the calculated estimate.
Time doesn't pass in menus or dialogue (I think) or console, so there's some active time played that isn't captured by the in-game clock but it's better than nothing.
The dialogue can be run later with:
startscript PlayedTimeGuess
Uploaded version 1.3
- Trivial fixes for bugs that caused gain of 24 and loss of 15ish seconds a day
- Changed default bell tones to three (configurable with Set PlayedTimeBellBase to <number of tones you want> )
- Added a couple of convenience scripts for testing (or seeing if you like what it does at hour/day). See included .txt file.
Still no UI :p
Still exclusive to OpenMW
The clock stops for the pause menu (options, save game) and when using the command/debug console. It counts time spent in the regular game menus (inventory, spell list), which is what I'd want it to do anyway.
EDIT: Okay, I thought it stopped counting while in the command console, but it clearly wasn't when I was doing some testing for 1.2 tonight... so probably not.
Mystery solved. If you're in the pause menu it's stopped. If you hit ~ from the pause menu the console opens and the timer is still stopped (because the game is still in the pause menu).