[RELz] Fundament

Post » Fri Nov 18, 2011 11:45 pm

http://www.tesnexus.com/downloads/file.php?id=41005
Revision 1, Update 4.
Req. OBSE v0020+

Note: Fundament is inherently compatible with Nehrim and other total conversions. However, its supplied defaults are Oblivion-specific. I haven't tried Nehrim and can't give advice on appropriate configuration at this time.

At its most basic, Fundament.esm is a generalized replacement for countless small mods, including its predecessor, Progress. Through simple initialization files the user can edit skill advancement rates, game settings, and even Oblivion.ini settings (without any permanent changes to Oblivion.ini itself). Fundament edits only what you specify in the initialization file: anything you leave out isn't touched. If Fundament.ini is empty, absolutely nothing happens in-game; it's like the mod isn't installed. Furthermore, each character can have their own unique configuration which overrides or adds to global settings.

Fundament comes with a collection of scripts which change various aspects of gameplay. These are collected into a single mod, Bundlement.esp, but each individual feature can still be enabled or disabled separately. As with the rest of Fundament, everything is disabled by default. Details and documentation are provided in the configuration files, but here's a quick summary:

  • Global Rate Control
    Base skill slowdown and training cost control, with change-over-time options.
  • Magic Prices
    Adjusts gold prices for enchanting, spellmaking and spell purchase.
  • Racial Talents
    Skills with a racial bonus also get improved advancement rates.
  • Variable Advancement: Armorer
    Rate of Armorer advancement depends on amount repaired per swing.
  • Variable Advancement: Marksman
    Gains are dependent on target's range; bonus for sneak attacks.
  • Variable Advancement: Melee
    Slower weapons give more skill; bonus for power attacks and sneak attacks.
  • Variable Advancement: Mercantile
    Rates vary with trade value and vendor's skill; get skill for buying spells.
  • Variable Advancement: Spells
    Per-effect gains; gains on-cast; magicka-based, range-based, and more!

Under the Hood
Fundament is also a modder's toolkit, and while the long description of its features won't interest most users, the purpose behind them should. Without getting into too much detail, the Oblivion engine doesn't expect many of its internal numbers to change during gameplay. When they released the game, that was fine: there was no way to change them! But OBSE made it possible, and there are side effects. Put simply, once one script changes a number, no other script can know what it originally was... and not even that same script, if you load a saved game! Temporary, situational numbers can easily be mistaken for base values, and lunacy ensues.

Fundament-based mods suffer no such issues. They can freely apply separate modifiers to the same settings, and Fundament sorts it all out. Any time you load a game or quit to the main menu, it resets everything so there's no danger of bleed-over. All of this is done with user functions that are generally more convenient to use than the raw OBSE commands they replace, and even mods which don't have Fundament.esm as a master can make changes to its records through special features of the initialization system.

Several other utility functions are included for convenience and efficiency, including Formulator, a self-managing CloneForm database. This tool greatly simplifies the task of avoiding bloat in mods that make heavy use of CloneForms.

Compatibility
Fundament is compatible with absolutely everything, although some things are not compatible with Fundament. Basically, older mods making changes to settings controlled by Fundament will still be unaware that they're reading altered values. However, Fundament initializes before older mods (I can say this with absolute certainty) so it will still have good records of anything you've configured it to control, and the base values read in by other mods will be the correct ones that you've set. (In fact, it records initial skill use values even if you haven't changed any, and resets them between loads as described above, which can actually improve the behavior of some mods!)

There's one other caveat: Fundament does not actively enforce its values during gameplay. This is deliberate and generally a good thing, but it does mean that if an older mod makes a lot of changes after Fundament initializes, that mod gets priority. What this means in practice is that there's no point using Fundament to control the same base settings as another script-based mod. The general rule is that if a mod has an .ini file and lets you edit game settings there, and that mod is not based on Fundament, it's going to take precedence.

    A few popular examples:
  • Progress, which edits skill advancement rates and some related game settings.
  • ABO's Realistic Fatigue and my own Fatigue Effects, which both edit several game settings related to fatigue.
  • Supreme Magicka, which edits magicka-related game settings.

Installation
Wrye Bash will correctly install Fundament from the archive file, and it can be converted to an OMOD for use with OBMM. To install manually, simply extract the archive to your Oblivion\Data\ directory. You should then have Fundament.esm and Bundlement.esp in Oblivion\Data\, and several configuration files in Oblivion\Data\Ini\. Enable Fundament.esm, and optionally enable Bundlement.esp.

At this point, Fundament is installed but not actually doing anything. If you only installed it because another mod requires it, that's OK: there's no need to use its other features. For full instructions on how to activate and use the various features of Fundament and Bundlement, see the configuration files.

Removal
By itself, Fundament makes no persistent changes and can be safely removed at any time. The same applies to Bundlement. However, if you use other mods which require Fundament, they may have more detailed removal instructions. You must remove all dependent mods before you can safely disable Fundament.esm.

Special Thanks
  • The OBSE team, without whom we'd still make mods by banging rocks together.
  • TheNiceOne, whose HUD Status Bars configuration system was the final piece I needed to finally make this idea work.
  • shadeMe, for an ever-growing number of tools that make my job easier.
  • Shikishima, who holds down the fort during my frequent vacations.
  • Lilith and TESAlliance for dragging my attention back to Oblivion once again.
  • Bethesda Softworks. Y'know.

User avatar
Danel
 
Posts: 3417
Joined: Tue Feb 27, 2007 8:35 pm

Post » Fri Nov 18, 2011 5:43 pm

Link updated because Nexus apparently doesn't allow comments and ratings to be enabled if you disable them during file creation. (I didn't want the beta being discussed or rated.)

Something I'd like to actively encourage in this thread: Post your customized configuration files! Fundament can completely replace a surprisingly large number of mods that only make GMST edits; it's kind of like the Misc. Tweaks section of your Bashed Patch, except you can make up your own!

Some basic etiquette to follow: first, always use spoiler tags. Even if it's only a single edit, the Spoiler button is a nice visual cue for people skimming through the thread. Inside the spoiler, wrap your actual configuration lines in the {xml] tag and NOT the {code] tag: this should prevent ugly and irrelevant color-coding in most cases. Although nothing is actually case-sensitive, consistent capitalization is nice. Descriptions of what you're doing (and why, if you want) should go outside the spoiler. Here's a simple example...

These settings replace my old mod, Kayo. They change the Fatigue damage inflicted by hand-to-hand attacks to be twice the physical damage (rather than half), so that it's actually possible to knock someone out before you kill them.
Spoiler
set fd.GMST to sv_Construct "fHandFatigueDamageBase"set fd.Value to 0setstage fd 1set fd.GMST to sv_Construct "fHandFatigueDamageMult"set fd.Value to 2setstage fd 1

User avatar
Ricky Rayner
 
Posts: 3339
Joined: Fri Jul 13, 2007 2:13 am

Post » Fri Nov 18, 2011 2:43 pm

You list Progress as a mod that would override this one.

I thought this was meant to replace Progress. Does this mean you recommend people Keep progress?

I can see from your example above that it is not going to be the new user that will see that Kayo can be replaced. This looks like it might out complicate HUD status bars.
User avatar
Mark
 
Posts: 3341
Joined: Wed May 23, 2007 11:59 am

Post » Fri Nov 18, 2011 4:10 pm

If Progress is present, its settings will override Fundament's in-game. Fundament can do everything that Progress does, and the supplied configuration files should make it pretty easy to replace Progress completely. However, it's not necessary to do so. Other mods, including several of mine in the near future, will require Fundament as a master. Those who have Progress working fine and don't want to learn the new configuration system can just leave Fundament unconfigured, and still have it work as a master for other mods.

Yes, the configuration system is directly inspired by HUD Status Bars. :) In general though, it's simpler... at least the parts that most people will use. The reason for using this method is that it's completely free-form. I don't need to have pre-existing variables for every setting you might want to change, all of which MUST be set to avoid accidentally zeroing things out. That was barely tolerable for Progress, because it only set skill use rates and a handful of GMSTs. But with this system, you can set any and every GMST, including ones added by OBSE plugins that I don't even know about.
User avatar
Dorian Cozens
 
Posts: 3398
Joined: Sat May 26, 2007 9:47 am

Post » Fri Nov 18, 2011 4:34 pm

A script appears to be constantly failing and keeps spamming my console and causing considerable slowdown. Here's an excerpt, let me know if you need more:

Spoiler
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0165 Command: Let
Error in script 10000896
Invalid array access - the array was not initialized.
File: Fundament.esm Offset: 0x02F1 Command: SetFunctionValue
Error in script 10000896
Operator [ failed to evaluate to a valid result
File: Fundament.esm Offset: 0x02F1 Command: SetFunctionValue
Error in script 10000896
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x02F1 Command: SetFunctionValue
Error in script 10000896
SetFunctionValue statement failed.

User avatar
Ana
 
Posts: 3445
Joined: Sat Jul 01, 2006 4:29 am

Post » Fri Nov 18, 2011 9:54 pm

:facepalm:
Obvious mistake during last-minute optimizations. I'll have a fix up in a couple of minutes.

Fixed on Nexus. Sorry about that!
User avatar
Scott
 
Posts: 3385
Joined: Fri Nov 30, 2007 2:59 am

Post » Fri Nov 18, 2011 7:53 pm

This sounds great. Time to download and start fiddling!

Thanks!
User avatar
Kit Marsden
 
Posts: 3467
Joined: Thu Jul 19, 2007 2:19 pm

Post » Fri Nov 18, 2011 1:41 pm

You have nerves of steel, sir, releasing this today. :)

This sounds really cool. I love this. If I weren't playing that other game I would be all over this in a flash. And I will be, when I stop playing and pick up Oblivion again. Great work!
User avatar
remi lasisi
 
Posts: 3307
Joined: Sun Jul 02, 2006 2:26 pm

Post » Sat Nov 19, 2011 12:20 am

I have set everything up now to reflect my previous Progress setup (5X Slower Leveling). Appears to be working great so far. I also gave you the 1st endorsemant, and will report any issues that arise.

Quick question: To load the "Fundament - Skill Rates" ini, or any ini for that matter, all I have to do is insert the lines below into the Fundament ini?

set fd.File to sv_Construct "Fundament - Skill Rates"
setstage fd 1

Good work on condensing the sub-modules into only 2 ESMs/ESPs, I am using all the sub-modules but the Mercantile one currently, and I like the new Magic Prices option (The spell pricing implementation never made sense to me in default Oblivion).
User avatar
Emzy Baby!
 
Posts: 3416
Joined: Wed Oct 18, 2006 5:02 pm

Post » Fri Nov 18, 2011 5:38 pm

Using the fixed version, I am now getting the following error:

Spoiler
Error in script 10000899
Division by zero
File: Fundament.esm Offset: 0x008A Command: Log
Error in script 10000899
Operator / failed to evaluate to a valid result
File: Fundament.esm Offset: 0x008A Command: Log


I am using all the options in Bundlement.ini.
User avatar
Sweets Sweets
 
Posts: 3339
Joined: Tue Jun 13, 2006 3:26 am

Post » Fri Nov 18, 2011 4:07 pm

Quick question: To load the "Fundament - Skill Rates" ini, or any ini for that matter, all I have to do is insert the lines below into the Fundament ini?

set fd.File to sv_Construct "Fundament - Skill Rates"
setstage fd 1

Yep, that does it!

Using the fixed version, I am now getting the following error:

Looking into this now.

Edit: Found the root issue, there's an omission in my handling of the AVUncapper diminished value formula. Looks like it should only trigger if you're using the diminished return settings for Luck, and have less than 50 Luck... so I don't feel too bad about missing this one. :P Will update momentarily, I want to add a feature to GRC while I'm at it.
User avatar
megan gleeson
 
Posts: 3493
Joined: Wed Feb 07, 2007 2:01 pm

Post » Fri Nov 18, 2011 11:45 am

Updated. Khranol, keep me posted if any other errors show up, i really appreciate it! Edit: Incidentally, the specific location of that last error means it shouldn't have produced any ill effects. It made the function halt and return zero, which was correct in that case anyway.

New GRC feature: Normalize Without Class. When enabled and player has no class (during tutorial, or with GotNoClass), the difference in advancement rates for major/minor/misc skills is removed. Alternate mode removes these differences even with a class.
User avatar
Sheeva
 
Posts: 3353
Joined: Sat Nov 11, 2006 2:46 am

Post » Fri Nov 18, 2011 10:33 pm

It appears that I am leveling faster with Fundament than I was with Progress. I had Progress set to slow leveling to 5X, and have done the same with Fundament (I think). Is this just due to changes to the sub-modules and skill rates? Or is it just me?

Just to be clear: All I need to do to have 5X slower leveling is to set the below setting to 5.0 in the "Bundlement - GRC" ini?

"set fdGRC.SlowdownInitial to ?"
User avatar
patricia kris
 
Posts: 3348
Joined: Tue Feb 13, 2007 5:49 am

Post » Fri Nov 18, 2011 4:45 pm

Also noticed this when monitering FPS in the IC. I cast a spell on an NPC and http://imageshack.us/photo/my-images/195/screenshot2vd.png/ appeared in the console.

On a side note, so I don't have to link a picture in the future, is there a mod that records console messages?

Edit: I am using today's update by the way.
User avatar
Alberto Aguilera
 
Posts: 3472
Joined: Wed Aug 29, 2007 12:42 am

Post » Fri Nov 18, 2011 6:16 pm

On a side note, so I don't have to link a picture in the future, is there a mod that records console messages?


http://tesnexus.com/downloads/file.php?id=26510 is what you're looking for.
User avatar
Jodie Bardgett
 
Posts: 3491
Joined: Sat Jul 29, 2006 9:38 pm

Post » Fri Nov 18, 2011 5:05 pm

Just to be clear: All I need to do to have 5X slower leveling is to set the below setting to 5.0 in the "Bundlement - GRC" ini?

That's right, assuming you're also loading the GRC config file. :) You should have exactly the same results from Fundament as from Progress. To make sure everything's initialized correctly, check this setting at the console:

GetGameSetting fSkillUseFactor

IIRC it should show 1.02 for a 5x slowdown. Vanilla is 0.35.

Also noticed this when monitering FPS in the IC. I cast a spell on an NPC and http://imageshack.us/photo/my-images/195/screenshot2vd.png/ appeared in the console.

That's not Fundament... see the module name on every third line? Better share this with Saebel! Edit: Oh I see, you got the screenshots backwards. :P ...okay, figured out the source of that one. If you've been casting AOE touch spells, this would indeed result in faster leveling. (Otherwise the error was harmless.) Fixed, uploaded.

Incidentally, Krhanol makes a good recommendation with ConScribe, but that particular type of error (with the three lines for script FormID, error description and mod name) is generated internally by OBSE, and goes to obse.log in your Oblivion folder.
User avatar
Jason King
 
Posts: 3382
Joined: Tue Jul 17, 2007 2:05 pm

Post » Fri Nov 18, 2011 12:55 pm

I was loading the GRC file, thanks for the reply, I'll test that later, and sorry for the pictures being messed up :tongue: . Glad you were able to figure it out anyway.

That's right, assuming you're also loading the GRC config file. :) You should have exactly the same results from Fundament as from Progress. To make sure everything's initialized correctly, check this setting at the console:

GetGameSetting fSkillUseFactor

IIRC it should show 1.02 for a 5x slowdown. Vanilla is 0.35.


That's not Fundament... see the module name on every third line? Better share this with Saebel! Edit: Oh I see, you got the screenshots backwards. :P ...okay, figured out the source of that one. If you've been casting AOE touch spells, this would indeed result in faster leveling. (Otherwise the error was harmless.) Fixed, uploaded.

Incidentally, Krhanol makes a good recommendation with ConScribe, but that particular type of error (with the three lines for script FormID, error description and mod name) is generated internally by OBSE, and goes to obse.log in your Oblivion folder.

User avatar
Claire Mclaughlin
 
Posts: 3361
Joined: Mon Jul 31, 2006 6:55 am

Post » Fri Nov 18, 2011 2:29 pm

fSkillUseFactor is returning as 1.02, leveling at 5x in Fundament doesn't seem as slow as it was with Progress for whatever reason (Skill rates have changed in Fundament maybe?), but it will get slower as time goes on.

I have also updated to the latest Fundament version, I know you said the issue was minor, but I am still encountering the same exact error in the console (I clean saved to be safe).

That's not Fundament... see the module name on every third line? Better share this with Saebel! Edit: Oh I see, you got the screenshots backwards. :P ...okay, figured out the source of that one. If you've been casting AOE touch spells, this would indeed result in faster leveling. (Otherwise the error was harmless.) Fixed, uploaded.

User avatar
le GraiN
 
Posts: 3436
Joined: Thu Mar 22, 2007 6:48 pm

Post » Fri Nov 18, 2011 7:32 pm

You updated Bundlement too, right? That's where the error was. At least, the one I found. :P Are you sure the error is identical, and not a different index?

Edit: Well dang. Yeah, there's another one seven lines down. Exact same error. My excuse is that it was 5am and I'd been playing Skyrim since 5pm, but it's still really weird... the problem is an index key that changed during development. A couple of spots in the code were still looking for the old key, and of course they couldn't find it. But I did multiple searches, both automated and by hand, back when I changed it and again when I was fixing it the first time.

Ah well. The mysteries of life, etc. Updated once more!
User avatar
Nicola
 
Posts: 3365
Joined: Wed Jul 19, 2006 7:57 am

Post » Fri Nov 18, 2011 7:38 pm

I did update it, I have Fundament as a simple BAIN package, I uninstalled the old one, and then installed the new version. Glad that the mystery is solved then and I will report any other issues I encounter.

What little Skyrim I have played is fun, however, I have a Oblivion playthrough to finish 1st, and then need to complete The Witcher 2. By that time I can devote all my attention to Skyrim, and possibly have some official and unofficial patches released by that time(I usually wait like that for all games I buy or are going to buy).

You updated Bundlement too, right? That's where the error was. At least, the one I found. :P Are you sure the error is identical, and not a different index?

Edit: Well dang. Yeah, there's another one seven lines down. Exact same error. My excuse is that it was 5am and I'd been playing Skyrim since 5pm, but it's still really weird... the problem is an index key that changed during development. A couple of spots in the code were still looking for the old key, and of course they couldn't find it. But I did multiple searches, both automated and by hand, back when I changed it and again when I was fixing it the first time.

Ah well. The mysteries of life, etc. Updated once more!

User avatar
Rachel Hall
 
Posts: 3396
Joined: Thu Jun 22, 2006 3:41 pm

Post » Fri Nov 18, 2011 11:02 am

Getting another error, immediately on startup this time, but not during gameplay:

Spoiler
Loaded "Fundament.ini" (generic)
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b5
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b6
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
Operator := failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let
Error in script 110008b7
An expression failed to evaluate to a valid result
File: Fundament.esm Offset: 0x0018 Command: Let


Still only using the options in Bundlement.ini.

edit: Using newest version, of course.
User avatar
Robert DeLarosa
 
Posts: 3415
Joined: Tue Sep 04, 2007 3:43 pm

Post » Fri Nov 18, 2011 4:44 pm

Woah... those scripts shouldn't even be running, they're part of the Formulator database system and there's not a mod released that puts any data there yet!

My best guess is that somehow some garbage data must have gotten in there when you updated, even though I put those variables in their own script to avoid that. Grr. Well, if that's the cause, a clean-save should fix it.

I'll see about adding some extra data checks in places I didn't think I needed them, but unless the problem doesn't go away I don't think this needs an immediate update.
User avatar
YO MAma
 
Posts: 3321
Joined: Thu Dec 21, 2006 8:24 am

Post » Sat Nov 19, 2011 12:59 am

I was looking forward to this, all the new features are incredible! Mercantile leveling from buying spells, multi-skill training from spells with different effects, extra training from power attacks... Basically optimizes skill usage by 1000%. And I still haven't looked at the other features it has, thank you so much for this powerful utility.

M only gripe so far, I see the Bundlement mercantile leveling feature equips and unequips a token on the player with EquipItemNS, which still makes a UI sound, would EquipItemSilent do the trick to avoid those?
User avatar
Kayla Oatney
 
Posts: 3472
Joined: Sat Jan 20, 2007 9:02 pm

Post » Fri Nov 18, 2011 9:56 pm

M only gripe so far, I see the Bundlement mercantile leveling feature equips and unequips a token on the player with EquipItemNS, which still makes a UI sound, would EquipItemSilent do the trick to avoid those?

You know, I've never noticed that? And I've used a lot of tokens in my time... I don't think it even happens on my system, will have to pay special attention next time I'm in game. In any case, thanks for pointing out the Silent commands, I'll switch over for the next update (of everything).
User avatar
Rob Davidson
 
Posts: 3422
Joined: Thu Aug 02, 2007 2:52 am

Post » Sat Nov 19, 2011 12:31 am

I am considering switching from EE's Mercantile leveling to Fundament's and just have a quick question.

Are there any features that VA Mercantile has or doesn't have when compared to EE's system (Aside from SpellMult setting)?

I ask because it makes more sense for Fundament to handle the leveling aspect, but would rather use the more comprehensive option.

Edit: Might be better to ask TheNiceOne, or maybe have both perspectives, but thought it better to ask here.
User avatar
OnlyDumazzapplyhere
 
Posts: 3445
Joined: Wed Jan 24, 2007 12:43 am


Return to IV - Oblivion