Oblivion

File information

Last updated

Original upload

Created by

Tekuromoto

Uploaded by

Tekuromoto

Virus scan

Safe to use

About this mod

Time Manager is a multi-function suite of time-related functions, including Variable Timescale, Immersive Waiting, Timed Training and Timed Menus, Clock Display featuring an immersive timekeeping option, and a Realtime Alarm Clock.

Permissions and credits
Mirrors
Time Manager Readme
v1.21

by Tekuromoto

Don't miss my other mods!

SEE THE README IN THE DOWNLOAD FOR FULL INSTRUCTIONS, CREDITS, ETC.

------------
Introduction
------------

Time Manager is a multi-function suite of time-related functions, including Variable Timescale, Immersive Waiting, Timed Training and Timed Menus, Clock Display featuring an immersive timekeeping option, and a Realtime Alarm Clock.

I was inspired to make Time Manager after trying a bunch of different mods with time-related features; either they didn't do all that I wanted, or they were bundled with a bunch of features I didn't need, or I simply felt I could improve upon their implementation. Thus Time Manager was born.

------------
Requirements
------------

Oblivion Script Extender version 17. Get the latest version here.

Pluggy version 126. Get the latest version here.

You MUST have OBSE v17 and Pluggy v126 to use all of the features of this mod. If you for some inexplicable reason do not want to install Pluggy v126, you still be able to use most of the features of the mod, but the Realtime Alarm will not work and you will not be given the Alarm config item. If Time Manages doesn't work as expected, please ensure that you have the latest versions of OBSE and Pluggy installed before reporting any bugs.

Time Manager was developed with Oblivion 1.2.0416, OBSE v17a, Pluggy v126, and over 200 mods of all sorts installed (Fran's, MMM, COBL, body replacers, Race Balancing Project, LAME, All Natural, Better Cities, Unique Landscapes, quests, you name it). I haven't tested it with Shivering Isles or any DLCs (because I don't have them), but it _should_ work just fine with any setup.

-------------
Customization
-------------

Time Manager features six separate optional modules, each of which is fully customizable via the included file "DS Time Manager.ini". This file is located in \Oblivion\data\, but if you prefer to tidy your Data directory the mod will also look in \Oblivion\data\ini\ for the config file.

By default, the mod is usable out-of-the-box with the values in the ini file, but you can open the file with Notepad or something similar and adjust the values to your liking. Any of the modules can be turned on or off (via the ini file) at any time without affecting the other functions of the mod.

Variable Timescale
------------------
This function allows you to set the time in the game to pass at different rates depending upon where you are and what your are doing in the game. The default timescale for Oblivion is 30; this means that for every minute that passes in real life, 30 pass in the game. If you play for an hour, almost a day-and-a-half go by in the game. While this may feel realistic when traveling from city to city, it's not very realistic to finish a battle with a couple of opponents and look up to find that the sun has travelled half way across the sky since you started fighting. Conversely, setting the timescale to a lower value - some people even play with the timescale set to 1! - can make the gameworld feel very compressed: with a low timescale, it's possible to walk the length and breadth of Cyrodiil in a couple of game hours, the opposite of the combat problem above.

TM's Variable Timescale function lets you set different timescales for combat, while sneaking (whether or not your character is detected), or while in interiors, towns, Oblivion realms, or the wide world in general. Setting the world timescale to the default of 30 (or even higher) lets you feel like time is actually passing while you're travelling from place to place, while setting the combat timescale to, say, 5, makes time seem to slow down in combat. Note that this only affects how fast time passes in the game - how many game minutes pass in a real minute - and is not a slow motion sort of effect. It is also fully compatible with "bullet-time" type effects from mods like Deadly Reflex.

There are two modes for the "fallout behaviour" of Variable Timescale. The first, mode 0 (the default), checks for your character's location or situation in the following order: is in combat --> is sneaking --> is in an interior (including dungeons, shops, Oblvion dungeons, etc) --> is outside in Tamriel (the regular world) --> is outside in an Oblivion plane.
The first parameter that tests true for your character is what your timescale is set to. If all of the checks fail, the Town timescale is used.

The second, mode 1, always uses the lowest applicable timescale. For example, if you're sneaking and in combat in a dungeon, the lower of CombatTimescale, SneakingTimescale and InteriorTimescale will be used.

If you dislike the idea of abrupt timescale changes when you change from one location or situation to another, you can ativate the SlowTimescaleChange option. Setting this to anything over 0 will cause the timescale to tick downwards towards the new timescale at a rate of once every number of seconds you choose, and tick upwards half as fast. That is, setting it to 1 will cause the timescale to tick downwards one unit (30 to 29 to 28...) every 1 second, and upwards one unit every 2 seconds. I recommend not setting this much higher than 5 or so, or it can take an awfully long time to adjust from (for example) a low Interior timescale to a high World timescale. Even when using this option, the timescale will change instantly when entering combat or when toggling in or out of sneaking mode (assuming you're using values other than 0 for these timescale options).

Configuring Variable Timescale in the ini file is simple: enable the function and select the values you'd like to use for each of the timescale settings, select the fallout mode you wish to use, and adjust the SlowTimescaleChange setting to suit your tastes.

Immersive Waiting
-----------------
This function replaces the standard Oblivion waiting count-down messagebox with an immersive, real-time view of the world passing by as you wait. Pressing the wait key (T by default) will bring up a menu asking how long you'd like to wait, or if you'd like to wait indefinitely. Once you begin waiting, you can press the wait key again to stop waiting at any time, or you will automatically stop waiting when the time you've chosen has elapsed or if someone (or something) hostile approaches.

While waiting, the timescale is turned waaay up - by default, to 60 times the normal speed. This makes a single game hour go by in 2 realworld seconds. To compensate for this accelerated time all nearby actors are sped up considerably to help them get where they need to be on time, according to their AI packages. Sometimes they get a little confused though, especially if you adjust the timescale even higher. They may get confused and start standing about looking lost, but they will regain their senses once you stop waiting and will get on with their lives after an hour or two pass. Actors are also prevented from talking to eachother or to the player to help preserve the illusion of time zipping by.

One caveat for Immersive Waiting concerns the so-called "survival" mods: those that give you character the requirement to eat, drink, and/or sleep. Depending on how the particular survival mod functions, changing the timescale may adversely affect its function. You may also be subject to massive message spam as your character gets hunger/thirst/sleep messages while you're waiting. I know that Vim & Vigor Advanced in particular does not play nice with timescale changes due to the nature of the mod. This would be especially true if you used the purge magic effects option (see configuration, below) because the meals in VVA are essentially long-duration potion effects.

Immersive Waiting has a number of options that you can configure in the ini file. You can set the timescale you want to wait at (see the notes in the ini file). Setting the timescale really high (over 4800 or so) is neat for just watching the sun and stars wheel by but tends to really confuse NPCs, and will possibly play havok with any survival mods you may be running. You can toggle the display of timekeeping messages while waiting, as well as select the format for the messages (see Clock Display, below, for more on the clock formats). The messages are timed to try to reduce message spam: they only appear every 3 seconds, no matter how many hours are passing per second. You can also toggle a visual blur effect while waiting, and select whether or not the game will save before waiting starts. Finally, you can opt to have any timed effects (ie, potion or spell effects) dispelled when waiting starts. This option exists because the duration for spell effects is in real world seconds; passing 10 game hours in 20 seconds and still having your Night Eye or Fire Shield in effect isn't very realistic. Unfortunately there is no option to adjust the duration of active effects at this time. Perhaps this feature will be in OBSE v18, but for now the only option is to remove them or ignore the timekeeping inconsistency.

Timed Training
--------------
This feature allows you to specify an amount of time that you want to have pass every time you use a trainer to train one of your skills. Simply change the setting in the ini file to the number of hours you want to have the clock adjusted by for each skill level you gain. Be careful not to set this too high and then train a bunch of times in a row if you're using a survival mod, or you may exit the training menu to find that you're debilitated by hunger or some such.

Timed Menus
-----------
Normally, whenever you have a menu open the game is on pause. No time passes in the game when you are in your inventory or checking your stats, or mixing potions or buying equipment, or even just talking to the locals. The Timed Menus function of Time Manager aims to solve this problem. What TM does not - and cannot - do is make the game world carry on while the menu is open. This cannot be achieved with the game engine. The game is on pause when any kind of menu is open. Timed Menus simply records the elapsed time and adds it to gametime once the menu is closed.

There are 6 different menu types that you can configure the realtime to gametime ratio for: the character menus (stats, inventory, etc), interaction menus (barter, dialog, etc), containers (any non-barter containers), books, lockpicking, and repairing/crafting (repair, alchemy, spellmaking, etc). By default each realtime second in the menu is converted to a gametime second and added to the game clock when you exit the menu.

You can also opt to set a timescale multiple for each menu type. The way it works is simple: With TimescaleMult set to 0, one minute in menus adds one minute to gametime (realtime spent in the menu times the menu factor). This is contrary to the usual realtime/gametime ratio, and adding a few seconds to gametime is really very trival when you consider that at the default timescale of 30 there are 30 seconds passing in game for every realtime second. Setting TimescaleMult to anything more than 0 makes the time that passes in menu relative to both the realtime spent in the menu and the current game timescale (realtime x factor x timescale x TimescaleMult).

Finally, it is also possible to specify a TimescaleCap for each menu type; if set, this cap will limit the value that is used for the timescale calculation detailed above. If set to 0, the current timescale will always be used. This allows you to have the full timed menu effect but mitigate it slightly so that, for example, transactions with merchants are always done at no higher than timescale 15.

Here are some examples, using variables and settings from the ini file:
Seconds spent in character menu = 60
Timescale = 30
CharacterFactor = 1
CharTimescaleMult = 0
The calculation is seconds x factor (timescale is disregarded), so:
60 x 1 = 60 seconds = 1 game minute passes because the timescale is not considered.

Seconds spent in character menu = 60
Timescale = 30
CharacterFactor = 1
CharTimescaleMult = 1
The calculation this time is seconds x factor x timescale x multiple, so:
60 x 1 x 30 x 1 = 1800 seconds (or 30 minutes) pass in game, which is exactly how much time would pass in game if you spent 60 seconds doing something non-menu-related.

Seconds spent in alchemy menu = 60
Timescale = 10 (say we're indoors in our alchemy lab, or we've set RepairTimescaleCap to 10)
RepairCreateFactor = 25 (we've decided it takes longer in-game to craft potions than it does for us to just click the buttons in real life)
RepairTimescaleMult = 1
60 x 25 x 10 x 1 = 15000 seconds (250 minutes, or a little over 4 hours) have elapsed in the game - imagine stumbling out from the lab and rubbing your eyes to find the afternoon has passed you by while you brewed those healing potions - and your stomach is grumbling, too! (Thanks to that survival mod you're using.)

As you can see, leaving TimescaleMult at 1 makes the time spent in the menus seem more "realistic", especially in conjunction with different menufactors for the various menus, but the option exists to disable it if it's playing havok with your survival mod (see Immersive Waiting, above) or you find some other incompatibility. You can also disable it per menu type, in case you don't like the idea of many minutes passing by in the game while you read your latest quest entry or something.

If you are using the Clock Display's interval feature, the clock will display if enough gametime is added to tick past your next time interval.

As with Immersive Waiting, Timed Menus has the potential to confuse other time-sensitive mods like survival mods. This is especially so because when you return from a menu the intervening time doesn't really take place; instead, its skipped over. It's sort of analogous to setting your watch ahead an hour. If another mod is waiting until it's 12:00 to do something, and Timed Menus sets the time ahead from 11:29 to 12:05, the other mod may get confused. The other mod _should_ be set up such that it does its thing as soon as the time is past 12:00, but if it's not written that way then TM's Timed Menus function may make it act strangely.

One last thing to mention for Timed Menus: if you're in the habit of opening your inventory or some other menu to pause the game while you get a soda or answer the phone, you'll have to start using the escape key or something instead to avoid wasting a ton of game time while you're of attending to real life. With the default ini settings, the following menus are timed: all four character menus and their submenus (F1 through F4 pages), all containers, all interaction menus except training (dialog, persuasion, barter, haggle, spell purchase), reading books and scrolls, the lockpicking menu, all repair and creation menus (repair including NPCs repairing for you, alchemy, spellmaking, enchanting, recharging, sigil stones). All other menus (including the console, the [ESC] options menu, and "make a selection" message boxes from activating items etc.) are disregarded for timekeeping purposes and are safe to use to pause the game.

Clock Display
-------------
This feature of Time Manager is fairly self-explanatory. It can be configured to display the time at regular intervals and/or when you press a key (Y by default), and you can select the format for the display: time only, time and day of the week, or time and full date including month and year. You can select to use a 12-hour or 24-hour clock, or to have the time immersively displayed; instead of being told "it's 2:37 pm on Morndas", you only know "it's the afternoon of Morndas". This is an excellent complement to WillieSea's outstanding Clocks of Cyrodiil mod (unsolicited plug: http://www.tesnexus.com/downloads/file.php?id=11778) - use the sun and stars to gauge the time in the wilderness, or get the "correct" time at your nearest pub or mage's guild.

On a technical note, using the immersive clock display will tell you when it's sunrise and sunset, based on the times set up in the current climate. This means it's compatible with any weather- or climate-changing mod; you won't see a message like "It's near dawn" when the sun's already been up for two hours.

If you define an interval (anything over 0) in the ini file, the clock will be displayed whenever the minutes of the gametime are a multiple of the interval; that is, if you have the interval set to 15, the clock will display on the hour, at quarter-past, at half-past, and at quarter-to the hour. With an interval of 60 the clock will display once per hour on the hour. The function actually coverts the time into "minutes past midnight" so any interval (well, any interval less than 60 x 24 = 1440) will work, but anything that's not either a multiple of 60 or an even divisor of 60 (2, 3, 5, 6, 10, 12, 15, 20, etc) will yield strange results. Small multiples also run the risk of annoying message spam and lag, especially at higher timescales.

While using the clock display option of the Immersive Wait function the clock will only display at hourly intervals or every 3 seconds, whichever is longer, to help avoid message spam.

You can also set the key you want to press to display the clock. The default key is Y - see the ini file for details on changing the key.

Realtime Alarm
--------------
The last feature of Time Manager doesn't deal with gametime but with realtime. The Realtime Alarm is a countdown timer that you can set to alert you when a certain amount of time has elapsed in the so-called Real World. When you're totally engaged in killing monsters and finishing quests, sometimes you can forget commitments like picking up your wife after work. Not that this has ever happened to me, no....

When you first start the mod an item called "Realtime Alarm Settings" will be added to your inventory. Clicking it will bring up a menu where you can set the duration - in realtime minutes - for the timer; the maximum duration is 24 hours. Once the timer is running it will track elapsed time and chime when the time is up. Like any good alarm clock it lets you hit snooze, as many times as you want in fact. You can customize the snooze duration in the ini file. While either the regular timer or snooze timer is running you can activate the settings item again to see how many minutes are remaining until the alarm goes off, and opt to stop or reset the timer if you choose. Loading a saved game (that was saved with the alarm already running, of course) will not interfere with the timer since it checks the computer's system clock, but you will be prompted to confirm that you wish to keep the timer running. This is so that the alarm doesn't harrass you if you're loading a game a day or two later and the alarm is no longer valid.

There isn't anything to customize in the ini file for Realtime Alarm except the snooze time duration. If you don't want to use the Realtime Alarm function at all you can toggle the setting in the ini file, or simply toss away the settings item if you decide later that you don't need the feature. If you lose the settings item and need to replace it, open the console (press ~) and enter "set dstm.doonce to 0"

---------
Changelog
---------

1.21 - Fixed a bug where loading a game with a Realtime Alarm timer running would interrupt and possibly break scripts that initialize in the first few seconds of the game.
- Pluggy version now detected properly.
1.2 - Fixed bug with Immersive Wait not stopping after set number of hours.
- Fixed bug with timescale not returning to normal if using Immersive Wait but not Variable Timescale.
- Improved the blur feature of Immersive Wait.
- Added checks for OBSE and Pluggy versions.
- Various minor optimizations.

1.1 - Added Variable Timescale options for sneaking and Oblivion realms
- Added alternate fallout behaviour for Variable Timescale
- Added slow timescale change option for Variable Timescale
- Added Timed Training
- Added Timed Menu timescale caps for each menu type
- Added full Greater Power compatibility for all Time Manager functions that adjust either timescale or game time
- BIG thanks to tejon for pointing me towards the simple, elegant solution I'm now using
- Added support for moving the ini file to the \data\ini\ directory
- Reworked the Realtime Alarm to use the computer's system time (this is what requires Pluggy v126, thanks haama!)
- Improved error-checking upon loading the config file settings
- Added support in Timed Menus for tejon's Birthsigns Expanded version 3 (http://www.tesnexus.com/downloads/file.php?id=12149)
- there is one sign that has an "instant spellmaking" greater power; this fix prevents time from passing while using the ability
- Fixed a copy and paste error that was making all the Timed Menus use the CharacterFactor for calculations
- 16 Jun 09

1.0 - Initial release
- 15 May 09