Jump to content

SkyTweak and other tools


GrimyBunyip

Recommended Posts

It is a great mod with a LOT of possibilities... maybe too much ^^

I'm wondering is there a way to properly uninstall the mod or changes stay in the save?

You should try it before you knock it just for having too many options.

Because what's inherently bad about too many options anyways?

 

As for uninstallation, a few options have magic effects. Like 4 of them.

All of them have checkboxes, so just uncheck them.

If you do that, you're dandy, just uncheck the mod from your load order.

That's it.

Link to comment
Share on other sites

  • Replies 48
  • Created
  • Last Reply

Top Posters In This Topic

Thx for the sarcasm... I really want to test it further now.

 

From the rest of your post I assume that if you undo any modification made, you just have to save, uninstall the mod and restart and you are back to square one.

But if you made so many modifiactions that you don't know how to revert back, what can you do? I guess that's the purpose of the reset section, am I right?

You have to assume when you made a mod with so much possibilities to screw up that someone will eventually ask you how to undo everything and if their saves are dead or not, don't you?

 

Edit: Don't get me wrong, I really like your mods but they lack of documentation.

Link to comment
Share on other sites

Thx for the sarcasm... I really want to test it further now.

 

From the rest of your post I assume that if you undo any modification made, you just have to save, uninstall the mod and restart and you are back to square one.

But if you made so many modifiactions that you don't know how to revert back, what can you do? I guess that's the purpose of the reset section, am I right?

You have to assume when you made a mod with so much possibilities to screw up that someone will eventually ask you how to undo everything and if their saves are dead or not, don't you?

The vast majority of gamesettings edited by SkyTweak automatically revert when you exit the game.

Each time you load a save, SkyTweak needs to unrevert the settings.

The same goes for any other script based gamesetting mod out there.

 

There may be bugs where SkyTweak fails to unrevert a setting.

But there is no possibility of modifications not reverting back when SkyTweak is uninstalled.

That is one bug that is impossible.

 

There's a few settings that don't revert, but they're fairly obvious what they are.

Health, Magicka, Stamina, Carry weight, etc. Actor values tend not to revert automatically, with the exception of speed mult, unarmed damage, etc.

 

The purpose of the reset button is just for convenience.

 

Finally, "so much possibilities" is inaccurate. Like I said the mod is generated by compiler, and there's just shy of 10 different functions used in the compiler.

So there's less than 10 possible sources of bugs.

 

edit: probably worth noting that I keep the majority of my documentation in game.

All the options have information on highlight when you mouse over them.

 

If you don't feel like trying SkyTweak to access that you can use this instead:

This is the exact same sheet I use to create SkyTweak.

https://docs.google.com/spreadsheet/ccc?key=0AldEhLOK6ejJdHhveGxIbVNxakJzZl9vN2RzTkthS1E&usp=sharing

The compiler parses the leftmost column of on the "Menu" tab uses that to create SkyTweak's code.

Link to comment
Share on other sites

Compatibility Scans are performed during the 3 following events:

- The SkyTweak MCM menu is openned

- The System Menu is openned

- The System Menu is closed

OK, I'll jump in now. You have provided all of the answers, but some are implicit or contain double negatives ... my brain requires explicit terms :P

 

According to this conversation, there are three mod types addressed that alter GMSTs:

  • Script-based mods that almost constantly edit GMSTs during gameplay (examples ?) | Potential problem & solution?
  • Script-based mods that periodicaly edit GMSTs during gameplay (e.g., Stealth Skills Rebalanced) | Potential problem & solution?
  • Script-base (or non-script-based) mods that alter GMSTs at game launch or by some explicit trigger like MCM (e.g., Trade & Barter) | Potential problem & solution?
  • Others?

For a mod like Stealth Skills Rebalanced' date=' that edits gamesettings several times during gameplay[/color'],

So all that needs to happen is the player needs to save the game without opening the System Menu.

IE it needs to be an autosave, a quicksave, or a console command save.

... for what to happen exactly ... or to prevent what?

 

But in the case of a mod like SSR' date=' this is a trivial problem since SSR edits gamesettings periodically.

So the disparity would only last for a few seconds right after the player loads his game.

SSR = Stealth Skills Rebalanced? If so, does it correspond to type #1 or #2 above, and is there a difference in SkyTweak behavior for #1 & #2?

 

For a mod like Trade and Barter, that edits gamesettings exclusively through an MCM menu and immediately after the game loads:

We can ignore the initial game load since SkyTweak will scan upon game load.

We can ignore with respect to what exactly? SkyTweak will pick up the T&B-modified GMST or it will not?

 

For the case of the MCM menu: the player must open Trade and barter

make a change then immediately save the game without exiting the System menu and without opening SkyTweak.

... to cause what exactly ... or prevent what?

 

The vast majority of gamesettings edited by SkyTweak automatically revert when you exit the game.

Each time you load a save, SkyTweak needs to unrevert the settings.

The same goes for any other script based gamesetting mod out there.

So Skytweak GMST modifications are not "sticky" within the save games? ... or SkyTweak actively reverts each of its GMST modifications upon exit? Does it use a diff? If so, how is this stored? (not looking for technical detail here)

 

Unrevert is confusing ... do you mean revert (i.e., unapply) its own changes after having already applied them?

 

There may be bugs where SkyTweak fails to unrevert a setting.

But there is no possibility of modifications not reverting back when SkyTweak is uninstalled.

That is one bug that is impossible.

Does this mean: 100% probability of reverting back?

 

TIA

Link to comment
Share on other sites

I can try to answer a couple of these.

 

SSR = Stealth Skills Rebalanced? If so, does it correspond to type #1 or #2 above, and is there a difference in SkyTweak behavior for #1 & #2?

Yes, Stealth Skills Rebalanced was the mod being referenced here. It would be #2 by your definitions, as it only changes the settings at certain points in the game, not constantly. Also, it might be worth pointing out that it only does this for one game setting: PickpocketMaxChance. Every other game setting that gets changed by Stealth Skills Rebalanced is done directly (i.e. values are edited in the CK and saved in the .esp...not with a script), so if it weren't for PickpocketMaxChance, SSR would correspond to #3.

 

Does this mean: 100% probability of reverting back?

Scripted changes to Game Settings are not saved, so a mod can either choose to 1) directly edit the game settings and save this in the .esp or 2) use a script plus a secondary maintenance script. This is how most mods deal with using a script to change a game setting... The mod will create a new Global Variable that will correspond to the Game Setting being changed. When the script changes the Game Setting, it will also change the Global Variable. When a player saves & exits the game, the Global Variable gets saved, but the Game Setting reverts back to whatever it was prior to the script change (either the vanilla value or the value as defined by another mod that is using an .esp to directly change that setting).

 

The mod using scripted changes will trigger it's maintenance script when the player reloads their game. That script will check what the last saved value for the Global Variable was and change the Game Setting to match. Because of the way this works, as soon as the mod is removed (thereby also removing the Global Variable and the maintenance script), there is nothing left behind to alter the Game Settings when the game is loaded. This is very reliable, so yes, any Game Settings would 100% revert back after the mod was uninstalled.

 

The changes that SkyTweak is adding through newly created perks would also revert to previous values cleanly, since the changes rely on perks added by the mod that would no longer exist in the game once the mod had been uninstalled.

 

However, the Actor Values would remain changed even after uninstalling since these are changes that get saved in the game. I wonder if it would be possible for SkyTweak to track any changes made by the player to these values, and then offer a "Uninstall" or "Undo Actor Value Changes" button that would quickly and easily revert those changes back to what they were prior to using SkyTweak?

Link to comment
Share on other sites

It's going to take me a while to answer all your questions, so I'm going to make some images to help clear things up.

 

This post will be to address the issue of what SkyTweak reverting stuff and uninstalling stuff.

 

SkyTweak has 225 buttons in total.

Each is generated by a function in my compiler.

 

There are 9 different functions being used in SkyTweak, they are distributed as follows:

Posted Image

What's colored in blue is what won't revert if SkyTweak is blindly uninstalled.

 

Here's the full list of what won't revert after a blind uninstall:

 

Perk Points

TimeScale

Decapitation Chance

HealRateMult

MagickaRateMult

StaminaRateMult

Health

Magicka

Stamina

DragonSouls

ShoutRecoveryMult

CarryWeight

BowStaggerBonus

LeftWeaponSpeedMult

WeaponSpeedMult

AlterationPowerMod

ConjurationPowerMod

DestructionPowerMod

IllusionPowerMod

RestorationPowerMod

MagicResist

FireResist

PoisonResist

ElectricResist

DiseaseResist

FrostResist

 

 

As you can see, with the exception of perk points, timescale, and decapitation chance, they're all actor values.

Personally I think it's fairly common sense which options will revert or not revert after an uninstall.

 

Everything else will revert upon the removal of SkyTweak, or are perks, that will be gone once SkyTweak is removed.

Link to comment
Share on other sites

According to this conversation, there are three mod types addressed that alter GMSTs:

  • Script-based mods that almost constantly edit GMSTs during gameplay (examples ?) | Potential problem & solution?
  • Script-based mods that periodicaly edit GMSTs during gameplay (e.g., Stealth Skills Rebalanced) | Potential problem & solution?
  • Script-base (or non-script-based) mods that alter GMSTs at game launch or by some explicit trigger like MCM (e.g., Trade & Barter) | Potential problem & solution?
  • Others?
The Mod Conflict Problem

The mod conflict problem is the same for all the issues you mentioned.

 

If SkyTweak fails to catch any edits before a save is performed, the edit's wont be factored into the next game load.

Basically the user will experience a "rollback" in their gamesettings. So lets call it a Rollback from now on.

 

1. Constantly Editing Mods

I am not aware of any examples of mod type #1 at this moment

But in theory this one would be most likely to miss a GMST scan.

But at the same time, since it edits constantly, it will essentially override SkyTweak constantly.

 

The "problem" interval will be equal to the register for update time.

So if this mod is registered to update every 30 seconds:

The player loads a "bad" save with rolledback settings.

He plays with rolledback settings for the first 1-30 seconds.

Then gameplay will proceed as expected.

 

2. Periodically Editing Mods

From my understanding SSR updates on game load and every time a perk is added.

So in order for a rolledback save to occur, the player must add a perk, then must save without triggering a GMST check.

Remember that GMST checks happen on console/system menu open/close events.

 

So the save must be a quicksave or autosave.

 

The solution is to open you console or system menu after adding a perk or at any point before saving.

If the solution does occur, the fix is simply to correct the setting in SkyTweak.

 

3. MCM Menu Mods

There is one loophole that can cause a rollback save with MCM menu mods.

To exploit this loophole he must following the following steps:

 

The user must edit the setting in this mod.

He must NOT exit the system menu

He may not access the console at any point

He may not access SkyTweak at any point

 

Basically he needs to immediately exit the MCM menu and save the game without doing anything else to produce a rolledback save.

 

4 - Hardcoded edits

there should be no issues here, I had bugs during the first week after release but not since then. Only 5 functions are relevant to hardcoded changes and they should be bug free now.

 

Anyways a possible issue with hardcoded edits is they don't get recorded as "defaults" each time the game is loaded.

Link to comment
Share on other sites

Ahhhh ... thank you for that explanation. It is all clear now to those of us less versed in the art of scripting/savegame behavior ... i.e., 'me'. (thanks to kryptopyre as well for the background).

 

For persons like me, this tool would almost never suffer a "rollback" savegame with SkyTweak (I like that term, BTW ... it would seem that this should be formally coined in terms of script-based GMSTs). Meaning, I never use quicksave and navigate the menu often.

 

So to clarify one last important point explicitly (and correct me if I am wrong):

SkyTweak GMSTs travel with the save games, and only actor-related GMSTs will fail the rollback within a savegame upon SkyTweak uninstallation and subsequent save. These can be manually rolled back using some other method as yet undeveloped.

 

I think that this tool is great for STEP Packs and standardization of gameplay Packs. We'll need some presets or suggested settings from the experts for various scenarios before that though.

Link to comment
Share on other sites

Ahhhh ... thank you for that explanation. It is all clear now to those of us less versed in the art of scripting/savegame behavior ... i.e., 'me'. (thanks to kryptopyre as well for the background).

 

For persons like me, this tool would almost never suffer a "rollback" savegame with SkyTweak (I like that term, BTW ... it would seem that this should be formally coined in terms of script-based GMSTs). Meaning, I never use quicksave and navigate the menu often.

 

So to clarify one last important point explicitly (and correct me if I am wrong):

SkyTweak GMSTs travel with the save games, and only actor-related GMSTs will fail the rollback within a savegame upon SkyTweak uninstallation and subsequent save. These can be manually rolled back using some other method as yet undeveloped.

 

I think that this tool is great for STEP Packs and standardization of gameplay Packs. We'll need some presets or suggested settings from the experts for various scenarios before that though.

lets answer these last few questions

 

SkyTweak GMST's travel with the save game yes, the data is stored in SkyTweak though so if SkyTweak is removed, those GMST's revert to normal.

 

As for actor related GMST's, they aren't really meant to be rolled back.

The explanation is a bit longwinded so I'll stick it in some spoiler tags.

 

Think about it, lets say you have health.

You start off at 100 health.

You use SkyTweak to "cheat" yourself up to 200 health.

Then you level up legitimately 300 health.

 

How is SkyTweak supposed to keep track of what to roll you back to?

The naive solution would be to just track the delta:

 

You start off at 100 health, you cheat up to 300 health

SkyTweak records a delta of of +200

Now the player uses the console command to cheat down to 200 health.

Now you execute the "naive" manual rollback.

SkyTweak now deducts the delta of +200 health, and the player instantly dies.

 

Anyways I don't know of a great way to implement a rollback for the sticky settings right now.

I'll add something in Version 3.5 so that all the sticky settings are labeled as such when highlighted.

But I don't intend to add a feature beyond that.

 

 

Finally, on the topic of presets:

Spoiler tags again, because it's going to get longwinded. Again. lol

 

It's not really advertised or mentioned anywhere, but SkyTweak also has a way of importing presets.

The process of importing is rather longwinded and complicated, but it's actually convenient once you get the hang of it.

I haven't had the time to make a tutorial I'd be completely happy with so I haven't really told many people about the feature.

 

So the first time SkyTweak is installed (or when you reload a save after performing a full reset)

SkyTweak will take your game settings and "import" them.

 

So normally when you load SkyTweak, you get a message that says "SkyTweak has loaded"

Skytweak has taken your game settings and remembered them as the new defaults.

 

What happens during an import is the game setting is stored both as the current GMST's and as the new defaults.

Essentially creating an imprint of the GMST's you had at the time of import.

SkyTweak creates a "SkyTweak has imported your settings" message instead of "SkyTweak has loaded" when this happens.

This happens the first time you install SkyTweak and whenever you use the full reset button.

 

Long story short it is possible to create a catalogue of esp files with various presets.

Load them in with SkyTweak, perform an import, and done, The presets are saved.

You can now remove the presets from your load order since SkyTweak has now remembered them.

And as long as preset files only have GMST edits, they should be safe to remove from the load order.

 

This has a two notable benefits over other methods of presets.

#1 - Fewer esp files, only one is ever needed

#2 - No need for multiple copies of SkyTweak.esp and SkyTweak.bsa

One file suits all, which is ideal for this mod since I update it so often.

The player wouldn't need to think "Damn which preset did I download? I don't remember"

 

 

Link to comment
Share on other sites

lets answer these last few questions

 

SkyTweak GMST's travel with the save game yes, the data is stored in SkyTweak though so if SkyTweak is removed, those GMST's revert to normal.

 

As for actor related GMST's, they aren't really meant to be rolled back.

The explanation is a bit longwinded so I'll stick it in some spoiler tags.

 

Think about it, lets say you have health.

You start off at 100 health.

You use SkyTweak to "cheat" yourself up to 200 health.

Then you level up legitimately 300 health.

 

How is SkyTweak supposed to keep track of what to roll you back to?

The naive solution would be to just track the delta:

 

You start off at 100 health, you cheat up to 300 health

SkyTweak records a delta of of +200

Now the player uses the console command to cheat down to 200 health.

Now you execute the "naive" manual rollback.

SkyTweak now deducts the delta of +200 health, and the player instantly dies.

 

Anyways I don't know of a great way to implement a rollback for the sticky settings right now.

I'll add something in Version 3.5 so that all the sticky settings are labeled as such when highlighted.

But I don't intend to add a feature beyond that.

 

OK, this sounds reasonable. As long as one can in some way flag the 'sticky' changes for manual rollback, this is not an issue IMO.

Finally, on the topic of presets:

Spoiler tags again, because it's going to get longwinded. Again. lol

 

It's not really advertised or mentioned anywhere, but SkyTweak also has a way of importing presets.

The process of importing is rather longwinded and complicated, but it's actually convenient once you get the hang of it.

I haven't had the time to make a tutorial I'd be completely happy with so I haven't really told many people about the feature.

 

So the first time SkyTweak is installed (or when you reload a save after performing a full reset)

SkyTweak will take your game settings and "import" them.

 

So normally when you load SkyTweak, you get a message that says "SkyTweak has loaded"

Skytweak has taken your game settings and remembered them as the new defaults.

 

What happens during an import is the game setting is stored both as the current GMST's and as the new defaults.

Essentially creating an imprint of the GMST's you had at the time of import.

SkyTweak creates a "SkyTweak has imported your settings" message instead of "SkyTweak has loaded" when this happens.

This happens the first time you install SkyTweak and whenever you use the full reset button.

 

Long story short it is possible to create a catalogue of esp files with various presets.

Load them in with SkyTweak, perform an import, and done, The presets are saved.

You can now remove the presets from your load order since SkyTweak has now remembered them.

And as long as preset files only have GMST edits, they should be safe to remove from the load order.

 

This has a two notable benefits over other methods of presets.

#1 - Fewer esp files, only one is ever needed

#2 - No need for multiple copies of SkyTweak.esp and SkyTweak.bsa

One file suits all, which is ideal for this mod since I update it so often.

The player wouldn't need to think "Damn which preset did I download? I don't remember"

 

 

so ... upon loading your game for the first time after installing SkyTweak, we see the message:

 

"SkyTweak has imported your settings"

 

... and after subsequent game launches, we see the message:

 

"SkyTweak has loaded"

 

What you seem to be saying is that any mods that only use plugins to statically alter GMSTs and make no other changes can be added to one's load order and essentially merge them into the SkyTweak plugin as in a sort of manual Bashed Patch (assuming in the appropriate position and SkyTweak honers load order of plugin-supplied GMST changes)? Then one simply removes those plugins from the load and rests assured that said plugin changes now reside in SkyTweak plugin until the next import?

 

This can be invoked via a config file or the console or the MCM interface?

Link to comment
Share on other sites

OK, this sounds reasonable. As long as one can in some way flag the 'sticky' changes for manual rollback, this is not an issue IMO.

 

I'm still not sure what you mean by manual rollback.

The user can use either SkyTweak or console commands to set actor values back to whatever they were.

So long as he remembers or can figure out what they should be rolled back to.

 

so ... upon loading your game for the first time after installing SkyTweak, we see the message:

 

"SkyTweak has imported your settings"

 

... and after subsequent game launches, we see the message:

 

"SkyTweak has loaded"

 

What you seem to be saying is that any mods that only use plugins to statically alter GMSTs and make no other changes can be added to one's load order and essentially merge them into the SkyTweak plugin as in a sort of manual Bashed Patch (assuming in the appropriate position and SkyTweak honers load order of plugin-supplied GMST changes)? Then one simply removes those plugins from the load and rests assured that said plugin changes now reside in SkyTweak plugin until the next import?

 

This can be invoked via a config file or the console or the MCM interface?

 

Correct in regards to the message order

 

In regards to the "manual Bashed Patch" thing.

Yes, although SkyTweak will only remember GMST's that SkyTweak itself edits.

 

so if a plugin is used that edits settings not found in SkyTweak, the settings that aren't found won't be remembered.

 

And it's invoked by the "Full Reset" button in the MCM interface.

Link to comment
Share on other sites

I'll add something in Version 3.5 so that all the sticky settings are labeled as such when highlighted.

I like this idea. I know you say these should be obvious (and I agree that most of them are); however, call me lazy, but I do prefer to have the 'sticky' settings laid out clearly for me so I don't have to second guess myself... and I'm sure there are many others who wouldn't find it nearly as obvious.

 

Another suggestion to do with what you will... Perhaps you could include in the rollover description the vanilla value for that particular setting? That way, when I install SkyTweak (you've now fully convinced me to give it a try), I can look at the values and if the slider values match the Vanilla value given in the text description then I know this setting hasn't been altered by another mod. If it's different, then I know that I have some mod that it already changing that setting.

 

If I've managed to follow all of this, then my understanding is that SkyTweak doesn't make ANY changes to the current game setting values, doesn't add any of the new stacker perks, and doesn't change actor values until the player actively decides to change something. So upon loading SkyTweak, I can have it active in my game, and even open and look over the menus, and SkyTweak won't change anything in my game until I manually make a change to one of the options in the SkyTweak MCM interface. Is this correct?

 

I think that this tool is great for STEP Packs and standardization of gameplay Packs. We'll need some presets or suggested settings from the experts for various scenarios before that though.

I think any suggestions or presets will need to be made with consideration for the other mods that will be included in the gameplay pack(s), since some of the mods included will probably already be making changes to various settings. I agree that SkyTweak seems like a great tool to add to, enhance, and perhaps improve compatibility (in a gameplay sense) between the different mods that will be included in a gameplay pack.  I'm looking forward to trying it out in my own game.  I can report back on which settings I end up using and why.
Link to comment
Share on other sites

 

OK this sounds reasonable. As long as one can in some way flag the 'sticky' changes for manual rollback, this is not an issue IMO.

I'm still not sure what you mean by manual rollback.

The user can use either SkyTweak or console commands to set actor values back to whatever they were.

So long as he remembers or can figure out what they should be rolled back to.

 

By "manual rollback," I mean that one needs to use the console to manually roll back any sticky changes not automatically rolled back upon uninstalling SkyTweak. It seems that if a user uninstalls SkyTweak, then any changes that user made via SkyTweak will automatically be rolled back if it is ever uninstalled ... accept for those that are 'sticky', shich will need to be manually rolled back via console.

 

One concern is that any STEP mod can be cleanly uninstalled, and thus, it is not *dangerous* to use.

 

I also like the idea of flagging the 'sticky' settings as well as any changes from vanilla GMSTs. For that matter, it would be optimal to flag SkyTweak settings differently than other non-vanilla settings.

 

The attractiveness of this tool is that it could apply to any Pack against any flavor of STEP. We would just need to define presets for each context. It would also allow us to force otherwise GMST-incompatible mods to coexist within the same setup.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.