I have thoroughly confused myself.

I have recently put together a mod for my personal use that combines a ton of armor and weapons mod (including and not limited to ACS Appoldro, recolored ebony, dwemer, daedric, and glass, knights of tamriel, etc) into one giant mod that instead of adding little boxes or merchants that sell this armor, I have instead formed my own system of adding them to the leveled lists already present in the game.

For this example I will use the leveled list "l_n_armor_cuirass" as an example. I have changed many other lists for the armor, and weapons.

My problem is this:

The changes don't seem to take place in my savegames. It works fine in a new game. That isn't really unusual in and of itself.. but let me give you some background:

My save games are very clean... at least as clean as I know how to make them - I constantly keep them up to date with Wyre Mash and am very careful about what changes I make to the game before changing any of my saves.

The problem is, NONE of the changes I have made to the leveled lists appear in these saves. They seem to work just fine in new games, but not in the saved games.

Do saved games not recognize changes to leveled lists?

If that is true that is VERY odd... as I remember back before the days of tools like Wyre Mash and others, I once added a mod called "Assassin's Armory" - it worked flawlessly. This is also WELL BEFORE the ability to add things to leveled lists via scripts was available. (i.e. pre-expansions)

I am not sure what I am doing wrong, as I have seen other mods that directly modify leveled lists work just fine, and I am using Wyre's list merger to merge the lists. I have tried NOT merging the lists with the same result, and have also made sure that my mod is as far to the bottom of my load list as I will allow without overwriting essential mods that HAVE to be at the bottom (TLM, GMST Fix, etc)

I'm stumped. I know it has to be possible as it's been done before.

Here's some background of the changes I've made to the lists. NONE of them work keep in mind.

l_n_armor_cuirass - I have added at level 15 a new leveled list for dwemer cuirasses, replacing the dwemer cuirass that is already there. (This is for the multiple colors now available) - at level 16 I've added Dracus's Durzog Cuirass, and at level 20 I have added a link to another leveled list called "_dd_rare_cuirass"

The _dd_rare_cuirass LL is one I made to add the small possibility of spawning rare cuirasses in this list, including ebony, glass, daedric, and other powerful cuirasses (no artifacts).

The other lists I've changed have similar changes as above.

I considered the possibility that it was the leveled lists within leveled lists causing a problem - but not even the Durzog Armor is spawning, EVER. (To test that I added 1000 of l_n_cuirass to a crate I was saved next to and opened it - tons of mundane armor, but not a single durzog cuirass)

I'm stumped... could someone help please? I need a way to get this to work so my saves recognize the changes. Like I said, I know it's possible, and I must be doing something stupid to cause it to not work.
I can't answer your question but what armors are you encorperating? I may wanta copy of this if you would let me.
A complete list of the mods I've merged and incorporated:

Byb_Traders_300 (adds random armor/weapons to merchants - inspiration for making this)

All items from ACS Appoldro Weapon/Armorstore (removed the store however)

Full Dragonscale Armor (rebalanced according to LDones Armor Effects Balancer standards, store kept)

Hematite High Ordinator Armor (rebalanced again, removed "cheat" chest full of the armor")

Shadowlord Armor (old armor, in GIANTS and other mods, rebalanced)

Durzog Armor (kept smith, reduced price to smith, rebalanced)

Re-colored ebony, dwemer, daedric, and glass (been around awhile)

It should be real nice when it's done.. no intents to release publicly as I don't want to hunt for permissions to use all that armor (ugh). But if I get it working I can send you a copy. Heck, if you already have the meshes for all those armors I can send you the .esp and you can let me know if it works for you.
I'd just release it as an .esp have a list of these armors and they can download the esp. I'll start hunting down the armor. If you have links they would be greatly appreciated.
They should all be available at Planet Elder Scrolls. I can hunt links a little later once I get it working.

In the meantime, why not check out Byb_traders_300 at Planet Elder Scrolls (I think that's where I found it), it adds random armor and weapons to merchants - quite nice if you have any mods that modify those leveled lists as you can get quite a diverse selection sometimes.
I couldn't find All items from ACS Appoldro Weapon/Armorstore, Shadowlord Armor, re-colored ebony, dwemer, daedric, and glass
I think I figured out the problem (typical of me - go and solve my own problems after I freak out about them)

Turns out that mods that use the AddtoLevItem command in scripts, for example the ACS Appoldro Mod, OVERWRITE any other changes to that leveled list made by other mods once the script has run in your savegame.

I urge everyone to avoid mods that use that script command, because it does not work alongside list merging tools, and overwrites any changes you've made to those leveled lists..

If you remove the mod with the scripts your savegame will retain marks stating that the leveled items were altered... this is not automatically cleaned by Wyre Mash.



I think it's good modding practice to add things to leveled lists manually - it may take a little longer but it will ensure compatibility as long as a list merger is used.
Wow, good spot Dark Dragon. I was going to reply if acsAppoldro could be causing your problems but you already worked it out. I didn't know this about the over-writing though, now I'm going to have to go through my mods and see if I have to make any changes by manually adding things into the levelled lists myself. Thanks for the info.
No problem... I always was dubious about the "AddtoLevList" command, as it seems a bad way of accomplishing things...

This might explain why mods like Werewolves mod seem to be so prevalent in my game as well.
QUOTE(DarkDragon @ Dec 19 2005, 05:04 AM)
I think I figured out the problem (typical of me - go and solve my own problems after I freak out about them)

Turns out that mods that use the AddtoLevItem command in scripts, for example the ACS Appoldro Mod, OVERWRITE any other changes to that leveled list made by other mods once the script has run in your savegame.

I urge everyone to avoid mods that use that script command, because it does not work alongside list merging tools, and overwrites any changes you've made to those leveled lists..

If you remove the mod with the scripts your savegame will retain marks stating that the leveled items were altered... this is not automatically cleaned by Wyre Mash.
I think it's good modding practice to add things to leveled lists manually - it may take a little longer but it will ensure compatibility as long as a list merger is used.
*


Very good catch on this! fing34.gif

I've wondered for a long time whether there might be a conflict of some sort between leveled list merging and the script commands for manipulating leveled lists, but I burned out on the dirty saves and list merger issues before I ever got around to investigating this. sad.gif

Glad somebody has finally confirmed the problem.

----------------------------------------------------------------------------

If the functions for adding and removing items had been included in the original game, they probably would have been fine: people would have figured out how to use them, and the leveled list merger utilities probably wouldn't have been developed.

But those commands weren't added until Tribunal, so the leveled list merger utilities were written so mods that modified leveled lists wouldn't wipe out changes made by other mods that also changed the lists.

----------------------------------------------------------------------------

A problem...

Modifying the leveled lists manually (in the Construction Set) is, as you pointed out, probably the safest procedure.

Unfortunately, that's only useful for mods where the leveled list changes are meant to happen as soon as the mod is loaded. For mods that need to change the leveled lists during game play that won't work.

For example:

A mod that removes all cliff racers from the game as soon as it's enabled can change the lists in the Construction Set without any problem.

But if a mod is designed to get rid of the cliff racers only after the player completes a quest, then it has to use the script commands. Which means the mod will conflict (as you discovered) with mods that make their changes in the editor and depend on leveled list merger utilities to combine the changes.

Maybe Wrye Mash could be updated to deal with this type of issue, to combine saved scripted changes to leveled lists with changes made manually in mods, but I really have no idea.
Yeah, but I don't know what data Wyre could read to adjust for this... unless it was possible to read the script data and search for the AddtoLevList function, and then add those items to the Mashed Lists.esp... the problem being that this would essentially still add them upon mod load.


The problem lies in the way Morrowind loads items. First it loads ESMs, then ESPs, which can modify the leveled lists. If you have a list merger, you can merge those lists and keep the changes from all of them (where as before, the last loaded mod would take precedence). Then it loads ESS, or save files.

The problem is, if a script adds something to a Leveled List, it modifies the ESS (save game) and the save game then has a reference to that Leveled list. This is loaded last and it overwrites ANY changes done by other mods.

Unfortunately I don't think there's any way to overcome this... if you want to use mods that add things via scripted leveled lists (for example, Cliff Racer removal/extinction mods) then don't expect any other changes to that leveled list to work properly. This may be fine, until you try to load another creature mod (like GIANTS).

Mods like ACS Appoldro and the Werewolves mod don't even need to use scripts to add things to leveled lists... the only reason I can see that they did was ease of use... scripts are easier to write and copy/paste for large amounts of items than editing them directly.

ACS Appoldro is simple to fix, just remove the leveled list scripts and add the items directly, Werewolves is also easy, it adds things to creature lists after 15th level... well I don't know why they needed scripts to do this, as Leveled lists already do this.. just set the level next to the creature to 15 and it won't appear until the character is lv15. Simple.

Since I have 2 other mods that use leveled list scripting (werewolves and Magical Trinkets of Tamriel) I am going to go through both mods and remove the scripted leveled lists and add the items/creatures directly. I probably won't release the patch esps though as I would need permissions from TheLys and whoever made MTT. But they'll be available upon request.

Is Wyre still around? He may want to look into this as there MAY be a way to make it all work snugly using Wyre mash, but I doubt it.
First, if a mod always makes its leveled list changes as soon as the game is loaded with the mod enabled, the easy solution is to redo the mod with the leveled list changes set up in the Construction Set instead of using the script functions. That and use of a level list merger utility will eliminate conflicts with other mods that change the lists in the editor.

QUOTE(DarkDragon @ Dec 20 2005, 12:14 AM)
Yeah, but I don't know what data Wyre could read to adjust for this... unless it was possible to read the script data and search for the AddtoLevList function, and then add those items to the Mashed Lists.esp... the problem being that this would essentially still add them upon mod load.


If a mod needs to use the script functions, because its list changes depend on conditions in the game (for example, completing a quest), then it might be possible for Wrye Mash to work with the leveled list data in the saved game: either update the saved game data with the merged list data, or update the merged list .esp with the save game data and remove the list data from the save game.

For a mod that only updates the leveled list once (or infrequently), this might be practical: once you've done the quest to get rid of the cliff racers and the scripts have updated the leveled lists, save and exit the game. Then run Wrye Mash to fix up the leveled lists by combining the merged lists with the changes from the saved game.

But for a mod that regularly adds and removes leveled list entries, this would probably be a major hassle for the player.

QUOTE(DarkDragon @ Dec 20 2005, 12:14 AM)
The problem lies in the way Morrowind loads items. First it loads ESMs, then ESPs, which can modify the leveled lists. If you have a list merger, you can merge those lists and keep the changes from all of them (where as before, the last loaded mod would take precedence). Then it loads ESS, or save files.

The problem is, if a script adds something to a Leveled List, it modifies the ESS (save game) and the save game then has a reference to that Leveled list. This is loaded last and it overwrites ANY changes done by other mods.


That's the classic dirty save problem. I'm not around much any more, but I still remember the basics of that particular issue. biggrin.gif

QUOTE(DarkDragon @ Dec 20 2005, 12:14 AM)
Is Wyre still around? He may want to look into this as there MAY be a way to make it all work snugly using Wyre mash, but I doubt it.
*


From his profile, he still shows up here and posts occasionally. No idea if he'd be interesting in updating Wrye Mash with something to deal with this, if there's even anything practical that can be done.

If he doesn't show up in this thread on his own, might be worth PMing him suggesting he look at this in case he has any ideas.

----------------------------------------------------------------------------

QUOTE(DarkDragon @ Dec 20 2005, 12:14 AM)
Mods like ACS Appoldro and the Werewolves mod don't even need to use scripts to add things to leveled lists... the only reason I can see that they did was ease of use... scripts are easier to write and copy/paste for large amounts of items than editing them directly.

ACS Appoldro is simple to fix, just remove the leveled list scripts and add the items directly, Werewolves is also easy, it adds things to creature lists after 15th level... well I don't know why they needed scripts to do this, as Leveled lists already do this.. just set the level next to the creature to 15 and it won't appear until the character is lv15. Simple.

Since I have 2 other mods that use leveled list scripting (werewolves and Magical Trinkets of Tamriel) I am going to go through both mods and remove the scripted leveled lists and add the items/creatures directly. I probably won't release the patch esps though as I would need permissions from TheLys and whoever made MTT. But they'll be available upon request.
*


I'd suggest trying to contact the mod authors to let them know about the potential problem: if it's an easy fix, they might be willing to either release an update themselves or to give you permission to release patches yourself.
Well, ACS appoldro is an easy fix, and it's already done (I did it as part of the mod I mentioned at the top of this page)

However after looking at Werewolves it's way more in-depth and I see why they used scripts to add the creatures to the lists.

I think of the approaches you suggested, creating a merged levelled list INSIDE the savegame is probably the best option... as the other alternative (mixing data from the saves in the merged lists) wouldn't work if you play multiple savegames, which most of us do.

I wonder if you couldn't just use TESAME or the Enchanted Editor to take the lists from Mashed Lists and then merge them into your savegame... this SHOULD resolve the issue, until another mod adds items to the lists that is.



The problem is dynamically detecting when that happens. The best way to accomplish it would be on-the-fly.. and that would need an exterior program like MWSE or MWE to accomplish, and probably neither of those would actually work.

I guess it would be also possible to make all changes to levelled lists done through scripts, instead of directly adding them, but I don't really like that option, and it would force it to require Tribunal.

I'll PM Wyre, maybe he'd have some ideas.
I thought about this some more overnight, and came up with a few ideas and rules of thumb to toss in here:

1. If a mod adds its own leveled lists, with unique IDs, then it can use scripts to manipulate those without any problems. Since those lists don't exist in the original game or in other mods, they won't be affected by leveled list mergers.

2. If a leveled list merger utility has been used, any scripted changes in the game will be applied to the merged level list (from the merged list .esp file), since that's what the game has loaded.

a. The list data saved in the save game file will include both the merged list data and the changes made by the script functions.

b. Any lists that were merged previously, before the scripted changes, should be OK. The only problem will be if more mods with leveled lists are added after the scripted changes have taken place.

c. So if Wrye Mash can be adapted to deal with this, all it would have to do would be to merge leveled lists from new mods into the leveled list data in the save game.

Maybe something along these lines: you add a new mod that needs its leveled lists merged. Mash scans save game files to see if any of them have data for any of the leveled lists in the new mod. If a save does have data for one of the lists, then it prompts the user about which save games to modify, and updates the save game list data with the list data from the new mod.

(Would actually be more involved than that, but that might be useful as a starting point.)

3. When leveled lists are processed by list merger utilities, then it's only possible to add new entries to the lists. Any entries deleted from a list (whether by the editor or by a script) will be added back as soon as a list merger utility combines that list with data from the same list in another mod.

4. If the script functions for handling modifying leveled lists had been included in the original game, then the list merger utilities wouldn't be needed and none of this would be an issue. However, with the current situation, I think the only real solution would be an update to Wrye Mash (or a new merger utility) with the abilty to update leveled list data in save games as new mods with leveled lists are added by the player.

----------------------------------------------------------------------------

Hope the above makes some sort of sense: typing in a rush; have a hot date with an overheated shopping mall. smile.gif

May have more to say on this later.
I gave this a bit of thought while writing the list merging utility and my conclusion was that in general, list merging is superior to the add/remove commands. So, as has been pretty much concluded here, leveled lists should be used whenever possible rather than add/remove commands.

The only problem is for mods that change leveled lists as the result of a quest. (E.g., get rid of cliff racers.) For mods with unique lists, this should not be a problem as DT has pointed out. And I just don't think that there are enough mods that *have* to remove items from standard leveled lists in a conditional way to really demand a new solution. DT's suggestion of scanning the save game list is interesting, but I'm not sure it would work (the basic problem is knowing which items missing from the list had been *intentionally* removed -- and which are new items which just hadn't been added before. And even if that were resolved, the feature would be a hassle for the user to use (not to mention for the coder to code!)

Because of that same problem (how to distinguish and intentional removal from something that just isn't present), Mash (and other mergers, I assume) don't remove items from lists, but only add them. But... Cliff Racers.

Mash does have one (obscure and perhaps rarely effective) tweak here: The first mod to override a standard Bethesda list does indeed *override* it -- i.e., it isn't merged with it. (This incidentally is why Mash merged lists files tend to be smaller.) So if your list deletes or limits cliff racers, then it does so. Unless another mod impacts the same list and doesn't remove them -- in which case, they will be merged right back in.

It's occurred to me just now that Mash could also note removals made by that first list, and prevent other mods from adding those items back in to the same list. That wouldn't be too hard to code. I'll put that on my "maybe" list.
Thinking about this some more, I may have a partial workaround for some of the conflicts between using scripted list changes and merging leveled lists.

I don't have any ideas for safely and permanently removing an entry that's already on an existing leveled list, but Wrye seems to have come up with a solution for part of that.

But I think it should be possible to add items to existing leveled lists and later remove them (with script functions) without causing conflicts with other mods that modify the same leveled lists.

For example, a mod might add a new ingredient or magical scroll to some of the leveled loot lists once the player completes a certain quest.

Or a mod might start out with a new nasty type of undead on some of the leveled lists in tombs, and then remove them once the player completes a quest to destroy the cult of necromancers who created those monsters.

I'm not familiar with the Werewolves mod DarkDragon mentioned, but it's possible my idea could be used to edit the mod to avoid the conflicts with leveled lists in other mods.

----------------------------------------------------------------------------

My idea:

Instead of using the leveled list script functions to add and remove items directly from existing leveled lists, instead create new unique leveled lists and put those lists in the appropriate spot in the existing leveled lists using the Construction Set.

Then manipulate the new leveled lists with script commands. Since the new lists are unique to the mod, including their data in the save files won't cause conflicts with leveled lists in other mods, including merged lists.

For example:

1. Create a new 'DT_KillerSkeleton' creature.
2. Create a new 'DT_KillerSkeletonList' leveled list, and put the new creature on it.
3. Find an existing leveled list of undead for tombs, and put 'DT_KillerSkeletonList' on that at level 4.
4. In the game, once the player completes the 'destroy the necromancers' quest, a script runs and removes the 'DT_KillerSkeleton' creature from the 'DT_KillerSkeletonList' list, and replaces it with a regular skeleton (or whatever is appropriate for level 4 on the tomb undead list being used.

This won't work for manipulating items that are already on an existing leveled list, so it doesn't help with something like 'do a quest and all the cliff racers will disappear'. But it woud be useful for a mod that needs to add and remove new entries on existing leveled lists.
Thanks for commenting Wrye, your feedback is always appreciated.

DT - That's a very good idea, and existing mods can be patched with very little work as well. (less than manually adding the creatures to lists at least).

That's basically the concept that I was using in creating the mod I originally mentioned above, I think there's more diversity to be had with lists inside of lists inside of lists than there is in scripted levelled lists, but now that you mention the skeleton thing, and that I've looked more in-depthly at the Werewolves scripts, I agree, scripted levelled list modifications DO have their use.

The problem is though, the savegame will still over-ride the levelled list, so following your example you have a stock bethesda tomb list, let's say:

in_tomb_01 (not sure if this is a real list or not, just humor me)

In regular MW it reads:

1 - Ancestor Ghost
4 - Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord

Now you make the super skeleton zombie mod and the script adds them in, it now looks like this in the savegame reference:


1 - Ancestor Ghost
4 - Skeleton
4 - Modded_Skeleton_list -> Super Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord

where Modded_skeleton_list is the new levelled list and super skeleton is what is chosen on that list.

Now you remove it after the quest is done and change it to a regular skeleton:


1 - Ancestor Ghost
4 - Skeleton
4 - Modded_Skeleton_list -> Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord

Here's where the first (minor) problem is. There is 2 skeleton entries now.. so skeleton's are now twice as common. Minor problem really.

However, the save game is now remembering the list as:


1 - Ancestor Ghost
4 - Skeleton
4 - Modded_Skeleton_list -> Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord


Say we want to add another mod, that adds Mega Lich of Doom to that list, well here's what it would look like in the Leveled List Merger ->

1 - Ancestor Ghost
4 - Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord
25 - Mega Lich of Doom

However, the savegame still sees:

1 - Ancestor Ghost
4 - Skeleton
4 - Modded_Skeleton_list -> Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord

And since savegames load last, you'll never see Mega Lich of Doom.

Hope that all made sense.. correct me if I'm wrong in my logic somewhere.
QUOTE(DarkDragon @ Dec 20 2005, 09:29 PM)
The problem is though, the savegame will still over-ride the levelled list, so following your example you have a stock bethesda tomb list, let's say:


Ah, but the whole point smile.gif of my idea is that the 'Modded_Skeleton_list' list is the only list that actually gets changed by the script commands (i.e., changed in the game), so that's the only list that will be stored in the saved game.

The 'in_tomb_01' list doesn't get changed in the game; that's edited in the Construction Set. So 'in_tomb_01' never gets saved in the save game file.

Since 'Modded_Skeleton_list' is unique to your mod, including it in the saved game isn't a problem: no other mods will be changing it, so you can use script functions to rewrite it as much as you want.

See below for more on this.

QUOTE(DarkDragon @ Dec 20 2005, 09:29 PM)
in_tomb_01 (not sure if this is a real list or not, just humor me)

In regular MW it reads:

1 - Ancestor Ghost
4 - Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord

Now you make the super skeleton zombie mod  and the script adds them in, it now looks like this in the savegame reference:
1 - Ancestor Ghost
4 - Skeleton
4 - Modded_Skeleton_list -> Super Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord

where Modded_skeleton_list is the new levelled list and super skeleton is what is chosen on that list.


There's where I think your logic slips:

After you edit it in the Construction Set, the new version of 'in_tomb_01' actually looks like this:

1 - Ancestor Ghost
4 - Skeleton
4 - Modded_Skeleton_list
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord

Only the ObjectID of the added list is stored in in the 'in_tomb_01'; the contents of the new list are only stored as part of the data for the new list.

Changing 'Modded_Skeleton_list' with script commands only changes the data stored for 'Modded_Skeleton_list'; it doesn't change any of the data for 'in_tomb_01'. So you could swap 'Modded_Skeleton_list' back and forth between 'Super Skeletons' and regular skeletons as much as you want without changing the data for 'in_tomb_01'.

The end result is that only the unique 'Modded_Skeleton_list' list is stored in the saved game file. All 'in_tomb_01' contains is the ObjectID of the new list, not the actual contents of the list. Since that ID doesn't change, there aren't any changes to 'in_tomb_01', so that list doesn't get saved in the save game.

So if another mod adds a 'Mega Lich of Doom' to the 'in_tomb_01' list, that will be merged and used just fine: ''in_tomb_01'' isn't in the save game file, so there's nothing to override that entry in the merged list .esp.

****

Note: I have not specifically verified that changes to an included list (i.e., 'Modded_Skeleton_list') don't cause the parent list (i.e., 'in_tomb_01') to be saved in the save game file.

However, I would be extremely surprised if it worked that way: the original game comes with large numbers of lists within lists, some of which contain even more lists within lists. If changing the contents for a single list meant also updating and saving every single list that contained that list or contained a list that contained that list, that would waste a lot of CPU time and significantly add to the size of the save game files. And it would be completely pointless to do it.

****

QUOTE(DarkDragon @ Dec 20 2005, 09:29 PM)
Now you remove it after the quest is done and change it to a regular skeleton:
1 - Ancestor Ghost
4 - Skeleton
4 - Modded_Skeleton_list -> Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord

Here's where the first (minor) problem is. There is 2 skeleton entries now.. so skeleton's are now twice as common. Minor problem really.


I abbreviated my example a bit. blush.gif To maintain the exact balance of the original list, you actually need to duplicate the original list in the modded list.

I.e., 'Modded_Skeleton_list' would contain:

1 - Ancestor Ghost
4 - Skeleton
6 - Bonewalker
10 - greater bonewalker
14 - skeleton champion
18 - bonelord

That would keep the relative frequencies of the entries the same as they originally were.
Good point - thank you for correcting me on that.

After I'm done with my 3 other projects I'm working on right now I'll be sure to test that.. I think you're right though, a script modifying a list within a list shouldn't include a reference to the parent list in the savegame, unless the script added the skeleton list to the in_tomb_01 list and it wasn't done by hand.

Now DT, we just need to find all the scripted LL mods and fix em? Whattya say? evillol.sml.gif

lol, Just kidding, that'd be nigh impossible. However if it does work (which I shall test as soon as I can), then we can easily update some of the popular ones. Werewolves, Magical Trinkets of Tamriel, etc.
DT: Clever! Should work. Also, I'd wager that you could empty the unique list rather than have it insert a standard skeleton. I suspect that the list manager will keep throwing the dice until it manages to stick -something- into the spawn point.

But of course, with Bethesda, you never know. A few experiments are in order, I think.
QUOTE(Wrye @ Dec 21 2005, 01:55 AM)
DT: Clever! Should work. Also, I'd wager that you could empty the unique list rather than have it insert a standard skeleton. I suspect that the list manager will keep throwing the dice until it manages to stick -something- into the spawn point.

But of course, with Bethesda, you never know. A few experiments are in order, I think.
*


Actually I'm pretty sure that if nothing is in a called levelled list it will simply put nothing there. Not entirely sure but I'm pretty sure that's the way it works.
Emma - this thread might be worth adding to the collection of tips, etc. on your web site; we seem to have come up with a new mod conflict issue that nobody noticed before, as well as some ideas for working around the problem.

QUOTE(Wrye @ Dec 21 2005, 12:55 AM)
DT: Clever! Should work. Also, I'd wager that you could empty the unique list rather than have it insert a standard skeleton. I suspect that the list manager will keep throwing the dice until it manages to stick -something- into the spawn point.

But of course, with Bethesda, you never know. A few experiments are in order, I think.
*


Since the game has provisions for not picking an item from a list ('chance of none' value), I think it would simply not put anything into the game world if it found an empty list. I can't see the game going back to the original list and trying again if a child list came up with nothing.

----------------------------------------------------------------------------

Note to everybody following this thread:

I still visit the forums occasionally, but I haven't actually played, modded, etc. Morrowind for a while, and I'm doubtful if I'll ever get back to the game again.

I got involved in this thread because it involved issues I've spent a lot of time investigating: dirty save and leveled list problems, mod conflicts, etc.

I'm enjoying the discussion, and I hope some of my ideas are useful to people. But please don't count on me for more than ideas and suggestions!
Came up with a couple of ideas for dealing with the issue of mods that want to remove cliff racers, etc. from the game once a quest is done.

One idea is pretty standard and uses scripting, without messing with the leveled lists at all. The other idea would combine Wrye's idea about updating Wrye Mash to allow for lists that delete items from the game with my idea for using script functions to manipulate unique lists to avoid conflicts when merging lists.

----------------------------------------------------------------------------

Approach 1:

In the Construction Set, put a short local script on 'cliff racer', 'diseased cliff racer', and 'blighted cliff racer'. (Not sure about the exact ObjectIDs.)

The script checks the journal or other condition to see if the 'get rid of cliff racers' quest has been done. When the quest is completed, the local script disables and then deletes the cliff racer it's attached to. So once the quest is done, any cliff racer already in the game will be deleted, and any cliff racer spawned by a leveled lists later on will be deleted as soon as it spawns.

In areas with a lot of cliff racers, there might be a small FPS impact from all the scripts until the quest has been done. But it shouldn't be too bad, since all the scripts would be doing would be checking the journal entry and immediately exiting without processing the rest of the script.

The main problem I have with this approach is that it will conflict with every other mod that edits cliff racers: Morrowind Advanced, for example. TESTool's object merger might fix that, but I don't know for sure.

----------------------------------------------------------------------------

Approach 2:

This requires Wrye Mash's list merger being updated to handle lists that delete objects rather than just adding them, then adds on my idea about using the script commands to manipulate unique lists:

In the Construction Set, create a unique leveled list with a cliff racer on it, another one with a diseased cliff racer, and a third with a blighted cliff racer.

Now go through and replace the cliff racer entries on existing lists with the appropriate new unique list. I.e., replace all the cliff racers with the new cliff racer list, the diseased cliff racers with the diseased list, and the blighted ones with the blighted list.

Finally, write the code (script or dialogue results box) to remove the cliff racers from the new lists once the quest has been completed.

Now, when you use Wrye Mash to merge the lists, the new feature will recognize that this mod removed existing cliff racer entries from those lists and won't add them back in from the other lists being merged.

Problem solved: when the player completes the quest, the script removed cliff racers from the unique lists, and they're gone forever. biggrin.gif


----------------------------------------------------------------------------

Frankly, this late in the life of Morrowind, I'm not sure how worthwhile it would be adding the 'delete detection' to Wrye Mash: it would be a powerful tool for modders, but at this late date I'm not sure how much use it would get before Morrowind fades into the sunset.
QUOTE(DinkumThinkum @ Dec 21 2005, 06:21 PM)
Emma - this thread might be worth adding to the collection of tips, etc. on your web site; we seem to have come up with a new mod conflict issue that nobody noticed before, as well as some ideas for working around the problem.



Right... I'll do so wink.gif

(Hehe, I think you know that I make a search on my name every day, don't you, DT wink.gif
Glad I was able to help uncover something like this. I always thought script-added levelled lists were "iffy" and probably didn't play well with merged lists.


As far as updating tools like Mash -> if Oblivion uses a similar format (.esp .esm and .ess) we'll probably see a lot of the same "dirty save" issues with Oblivion as we did with Morrowind, and such a tool will probably need to be updated for that game as well.

It'll be interesting to see if Bethesda has fixed some of those things or re-written the system completely. *shrug* only time will tell.

Anyways, given some free time I'll probably try to update some of the mods I use that add things with scripted levelled lists (that don't really need to) and try to make them more compatible.

For anyone that already has dirty saves who have used ACS Appoldro or other mods using the scripted levelled list method -> here's the best thing to do.

1. Load up the save in Enchanted Editor or TESAME even. Look for LEVI or LEVC entries. Delete these. Note this will remove ANY changes made by ANY mod that adds things to levelled lists in this manner.

2. Try to find a version of the mod that uses one of the conventions above to add the things to the lists, or just don't use the mod. I'll try to fix up some of the mods, and I hope other modders will take it upon themselves to adjust their scripting if they've used the levelled list scripts in the past and release their own patches.
Spawn Spot Filling: I still suspect that emptying the spawn sub-list will work, based on my knowledge of how spawn point references work. I think that the engine will always try to fill an empty spawn point. Perhaps it will only throw the dice on cell load, but even that should be fine. It it works, I suspect that this will be a better solution. (E.g., suppose you want to add infestations of firebreathing dragons to cliff-racer spawn points. But suppose that there's also a mod which tries to delete cliff racers (and replace them with fluffy bunnys!) Presumably your dragon sub-list will default down to cliff racers, which would cause them to show up again of course. Or suppose that you want your dragons to shown up at different point, some points with cliff racers, but some points without cliff racers... Then what would you default to?)

Mash List Building Internals: FYI... Get's a little tricky, but I'll try to be clear. Mash goes through the list of active mods, then skips the three Bethesda esms and any mods authored by "Wrye Mash". For the remaining mods, it processes them in load order, extracting their lists. First mod to have a particular list forms the base list. Suppose that list looks like this:

Original List:
1 small_dog
1 big_dog
1 small_dog
1 big_dog
2 bigger_dog

Then Mash hits another mod with the same list:
1 small_dog
1 big_dog
1 small_dog
1 big_dog
1 small_dog
1 big_dog
2 big_dog
2 big_dog
2 black_dog

Post merge, the result is:
1 small_dog
1 big_dog
1 small_dog
1 big_dog
2 bigger_dog
2 big_dog
2 big_dog
2 black_dog

Mash will *only* merge new items into the list if there's no matching pc-level-object-id in the current base list. So although the second mod wanted to add another 1/small_dog and 1/big_dog to the list these were ignored because the existing list already had 1/small_dog and 1/big_dog in it. (BTW, if you're wondering why the items are repeated, it's for balancing -- each item in the list (up to the current pc level) has equal chance of going into the list. So, by repeating an item, you double it's probabilyt of happening. Also, I presume the reason these repeats are interleaved is to make the results more random -- like shuffling a deck of cards.

The current rule on merge is: don't add the item if the item (level/object-id) is already in the list. New rule would be: don't add the item if it's already in the list, OR if it's in one of the Bethesda esm lists.

Finally, Mash won't write it's compiled list into the "Mashed List.esp" unless a merge has been done. Hence a unique list or a standard bethesda list that has only been modified by one esp will not be written.

Archiving: I had started a couple of good pages on UESP Wiki. This would have been a good addition to the "Mod Conflicts" page. But UESP has been mostly down since early November after the server switch. It was up this weekend for a day at least, but now it's down again. sad.gif
Well I've done some checking of the mods I'm currently using in my game. I searched them for the following: "AddToLevCreature", "AddToLevItem", "RemoveFromLevCreature" and "RemoveFromLevItem" as these are the script commands that... er... add things (or remove them) from levelled lists.

So the plugins I found were:
  • Bloodmoon Extras v 0.2 - BMExtras.esp
  • Tribunal Integration v 0.5 - TribIntegration.esp
  • Where Are All Birds Going? Version 1.7 by abot - abotWhereAreAllBirdsGoing.esp
  • Water Life Version 1.7 by abot - abotWaterLife.esp
  • Appoldro Weaponstore v2.04 - acsAppoldoro.esp (the one that started all this)
  • Giants v2.7.1 "Ultimate" - GIANTS.esm
  • Magical Trinkets of Tamriel Vol IV beta - MTT IV Updated v0.79.esp (Note this is the .ESP modified by Habile to reduce the "overloot" problem with Chris Woods' original)
  • Sri's Alchemy, Bloodmoon Edition. Version 3.0609 - Sris_Alchemy_BM.esp
  • Weapon Compilation Mod - version 2.0 - farrp_WeaponCompilationMod_V2.esp
  • Exotics Boutique "Pour la Guerrière" v1.1 - ExoticsBoutique.esp

To give you some idea of what I've done to change these here's some details for each plugin:

Bloodmoon Extras v 0.2 - BMExtras.esp
AddToLevCreature - Adds a Riekling not used by Beth to various levelled lists around Solstheim
AddToLevItem - Adds a Nordic Spear to various Bloodmoon levelled lists.
I was able to add these items into the lists manually and delete the script containing these commands, nice and easy to change.

Tribunal Integration v 0.5 - TribIntegration.esp
AddToLevCreature - Adds Tribunal's Dwemer Centurions to the Morrowind Dwemer levelled lists.
Again, an easy fix. I simply added the Centurions to the levelled lists. And deleted the script.

Where Are All Birds Going? Version 1.7 by abot - abotWhereAreAllBirdsGoing.esp
RemoveFromLevCreature - Only used in one script (ab01birdsGeneratorScript): it removes all Cliffracers, and the function's only called when debugging.
I left this one alone.

Water Life Version 1.7 by abot - abotWaterLife.esp
AddToLevCreature -
RemoveFromLevCreature - These 2 functions were used in three scripts (ab01wlgNoStdSlaughterScript, ab01wlgReplaceSlaughterScript and ab01wlgRestoreSlaughterScript). These scripts are run dependent on choices made when using the configuration ring which comes with the mod, as the default setting is to leave slaughterfish alone I decided to leave these scripts alone. If someone changed the slaughterfish options from the default using the ring then the altered levelled lists would be included in their save. I'm just not going to change that particular option in my game.
AddToLevItem - The script ab01wlgInitScript uses this function to add (mainly) ingredients to a variety of levelled lists. The fishing rod and sextant are also added (there are some other items added too). As the script also sets some default values for Global Variables I edited this script to remove the AddItems (not the variables) and manually changed the levelled lists myself.

Appoldro Weaponstore - acsAppoldoro.esp
AddToLevItem - A host of scripts adding shields, swords, axes, pauldrons etc etc to a number of levelled lists.
I deleted the scripts after manually updating the levelled lists.

GIANTS.esm - Giants v2.7.1 "Ultimate"
AddToLevItem - Used in the Add_Ultimate_items script, but this script doesn't seem to ever be run. The script adds 2 amulets, 2 rings and 2 scrolls. Looking at the rings and amulets in the TESCS showed they had no enchantments on them and the scrolls are in the appropriate levelled list already.
I left the scripts and levelled lists alone.

Magical Trinkets of Tamriel Vol IV beta - MTT IV Updated v0.79.esp
AddToLevItem - A number of levelled lists had a number of trinkets added.
RemoveFromLevItem - Used to clean levelled lists before adding new items when player levels up
I removed the script cw_mtt_update_lists that added items (and cleaned the lists on level up) after manually updating the levelled lists. I also had to remove reference to it from other scripts.

Sri's Alchemy, Bloodmoon Edition. Version 3.0609 - Sris_Alchemy_BM.esp
AddToLevItem - Adds new ingredients (and Tribunal and Bloodmoon ones) to various levelled lists.
Another simple one, update the levelled lists and delete the script.

Weapon Compilation Mod - version 2.0 - farrp_WeaponCompilationMod_V2.esp
RemoveFromLevItem - This command is used in scripts attached to legendary weapons to remove them from the mod's Levelled Lists when found.
I left this one alone. The commands only seemed to affect levelled lists in the Weapon Compilation Mod so shouldn't be an issue (I hope).

Exotics Boutique "Pour la Guerrière" v1.1 - ExoticsBoutique.esp
AddToLevItem -
RemoveFromLevItem -
These commands are used in various scripts to randomise the contents of the shop by changing the mod's own levelled lists. Again, as the levelled lists are internal to the mod I left this mod alone.

Note:
If you're thinking of doing this yourself, when manually adding into the levelled lists be aware of the command's syntax:
AddToLevItem "LevItemName" "Item_ID" level_enum
Where:
LevItemName = The name of the levelled list
Item_ID = The object to be added (I've used the item command here but it's the same for creatures)
level_enum = The player's level when that item will appear. A "-1" in a RemoveFrom means remove all instances of that object.
Check out Morrowind Scripting for Dummies for full info.

Note 2:
Where I said I just deleted scripts I used Enchanted Editor as there will be the script that adds the items / creatures and also a Scripts Startup entry (runs when Morrowind starts not surprisingly). It was just easier to delete these using EE. For editing scripts and levelled lists I used the TESCS though.
Interesting thread indeed, maybe that's why Bethesda introduced those functions withouth using them.
Here are other mods I found using the functions, some are quite popular.

Tough to change (dynamic/quest driven):
Black Queen Chronicles Ver 2.5.esp:
farrp_WeaponCompilationMod_V2.esp

Easy to change:
Corv's Ultimate Ranger Mod 2.0.esp
GAM NOM 2.12.esp
Morrowind Crafting1.1.esp

The Wilderness Mod 2.0 T & B.esm

I will surely try to change Water Life so to solve these problems. smile.gif

[edit]ops, removed Sris_Alchemy_BM.esp
[edit]removed from "problematic" list Patch_AV-InnWhispWood.esp.
Ok, a little update.
I have removed from my list of problematic plugins, Patch_AV-InnWhispWood.esp, it was probably some weird file misplacement of mine, sorry.

I have just released Water Life 1.8 update to fix the problem.

Good news for Morrowind Crafting also, Toccatta will include the fix in the new ongoing version smile.gif .
Thanks everyone for trying to get a list of some of the mods that use these functions.

Generally, mods like Farrp's weapon compilation are safe, they only modify the MOD's levelled lists with a script, and don't create a reference to them in the savegame, so they are clean.

Appoldro weaponstore is a perfect example of a "dirty" mod... adding the items to stock bethesda lists via script, creat 94b8 ing a reference in the savegame and making the weapons WAY more common than they should be.

A lot of these fixes are simple to us because we're familiar with the editor, but I wonder if it'd be possible to release fixed ESPs for some of the "problem" mods that overuse this function (Like MTT Volume III and IV, and ACS Appoldro).

The fixes I've done in my own versions of these two mods don't match with how the mod was originally created, so if someone else has changed them around without changing the actual distribution of the items, you may want to email the mod creators and see if it would be permissible to post these fixed ESPs.

Thankfully it seems not many people utilized these scripting functions or were aware of them, so the number of "BIG" mods that do this seem relatively few in number.
I am also very interested in the "fixes" of many of these mods because I also use them in my game.

I did PM Dragon32 about whether he could email me copies of a few of his altered esp's, but haven't heard word back yet sad.gif

I'm glad you brought this out in the open DarkDragon!
1244.gif
Probably best to wait in most cases to see if the author is going to update the mod before throwing another version out there, but could you post a link to the MTT IV esp? Since it seems to be in a semi-permanent beta release I don't think think the author would mind. I already edited the integration mods and I'm in the middle of Apollandro (tedious, tedious... no wonder lots of people used the scripted method), but I'm not really confident in getting all the references out of MTT's other scripts.
I'm having problems with cleaning up MTT IV's mod. I've already manually added his leveled lists into the various places they are supposed to go (It's not hard at all! I was scared over nothing! whew...). But I seem to be having trouble with the scripts. I have Habile's updated esp... v.79 I believe it is, and have deleted the cw_mtt_update_lists script.
I then deleted the line in the cw_mtt_loot script that pointed to the *_update_lists script.
I then deleted the line in the cw_mtt_lvl_check scipt that also pointed to the *_update_lists script.

Those are the only two references I found. I didn't look through all the scripts, because most of the scripts deal only with the individual items themselves.

But now, if this mod is checked, as I load my saved game, it will get all the way to finished loading and just about to see an image, and then will CTD. Sometimes I'll even see where I am, but will still immediatly crash.

Did I miss something in the scripts?

Thanks
1244.gif
QUOTE(MrMistophelees @ Jan 18 2006, 06:50 PM)
I'm having problems with cleaning up MTT IV's mod.  I've already manually added his leveled lists into the various places they are supposed to go (It's not hard at all!  I was scared over nothing! whew...).  But I seem to be having trouble with the scripts.  I have Habile's updated esp... v.79 I believe it is, and have deleted the cw_mtt_update_lists script.
I then deleted the line in the cw_mtt_loot script that pointed to the *_update_lists script.
I then deleted the line in the cw_mtt_lvl_check scipt that also pointed to the *_update_lists script.

Those are the only two references I found.  I didn't look through all the scripts, because most of the scripts deal only with the individual items themselves.

But now, if this mod is checked, as I load my saved game, it will get all the way to finished loading and just about to see an image, and then will CTD.  Sometimes I'll even see where I am, but will still immediatly crash.

Did I miss something in the scripts? 

Thanks
1244.gif
*



I don't use MTT volume IV, but I do use and have successfully modified volume III. I won't post it anywhere but if you want to see how I modified it and do the same thing to volume IV I can email you the modified .esp. Just PM me your email address and I'll email it to you when I get home.

I didn't actually remove the scripts, it's easier just to comment out the addtolevitem lines... this way other scripts don't have to be re-written. smile.gif
QUOTE(DarkDragon @ Jan 18 2006, 06:40 PM)
I didn't actually remove the scripts, it's easier just to comment out the addtolevitem lines... this way other scripts don't have to be re-written. smile.gif
*



Good idea there... I'll try that!

Update: That seemed to work just peachy! Thanks!
A useful thread and worth keeping. thumbsup.gif
QUOTE(MrMistophelees @ Jan 18 2006, 08:46 PM)
Good idea there... I'll try that!

Update:  That seemed to work just peachy!  Thanks!
*



Don't forget to remove the references to the levelled lists in your savegame(s). If one of these scripts run and you save your game it permanantly saves a reference to the list in your savegame, which will need to be removed for any changes to take effect once the scripts are fixed/removed.
nm
OK, I am only going to talk about MTT since I am neither familiar with the other mods or their authors, while I was somewhat involved in the development of MTT IV (had a closed beta of the Necromancy before the open beta of all of it, had a few PM conversations with Chris Woods about various facets of the mod).

First, the why. Chris Woods was obviously unaware of this issue, since none of us knew about it until Dark Dragon figured it out. The reason he used this method was because he didn't feel that list mergers should need to be used: absolute compatibility was his goal, and so rather than editting anything from base Morrowind (like the levelled lists) he was going to script everything in. Obviously, this back-fired, but the fact remained that this is what he was aiming for. Just speaking in his defense; this was not done because it was 'easier', in reality I think it's harder, but either way that wasn't his thinking. I have a great deal of respect for him, don't want you thinking him lazy! smile.gif

Second, I can say with a fair degree of certainty that Chris would not mind at all if you rereleased MTT with this fix (provided you kept the original README along with a second README explaining what you changed). I cite as precedent the beta testers of MTT III, who, after several months of Chris's absence, decided to clean up that beta and release it. When he returned, Chris explicitly stated that they did the right thing and he was glad they did it.

And that's my piece.
QUOTE(DWS @ Jan 25 2006, 05:44 PM)
I don't understand about half of this. I am no modder and I have never done anything else with levelled lists than starting a merger.

I know how to delete entries from a save and I know how to comment out lines from scripts, but no idea how to add whatsoever to which ones levelled lists. My only option seems to be to remove MTT IV, acsAppoldro and so forth and then I delete all of the levelled I/C entries from the save?

This starts to suck. I spent weeks to create a clean setup and then something bugs it up again. I'd better remove the whole #*&% and go playing Far Cry again, yeah, good idea...
*



I'm sorry you feel overwhelmed by this, MTT and Appoldro weaponstore are admittedly great mods, and while MTT only needs minor tweaking to get it "compatible", ACS Appoldro needs some major tweaking and it can be a bit tedious and overwhelming.

I'm currently looking through my .esp files (I have over 300) to see if I kept the .esp where I "fixed" ACS appoldro. See the problem is, I noticed this about the same time as I started merging mods.. and so I don't know if I have a "fixed" version with clean levelled lists that don't have references from other mods or my own changes.



As for MTT - I have a fixed version of Volume 3. I haven't used Volume IV and haven't touched it. Does anyone else have one that they'd be willing to post? I'll gladly email anyone who requests the "fixed" volume 3... I don't really plan on fixing volume 4 right now simply because I don't use it myself (although that'll change if I DO start using it)

DWS, I'll PM you if I find a "fixed" ESP for ACS Appoldro, feel free to PM me your email address and I can send you the fixed MTT VIII, but I'm afraid I don't have one for 4. sad.gif

If I wasn't so busy with other things right now I'd release fixed versions of all these mods and go through the hassles of contacting the authors if possible, but I have a lot of other projects and concerns right now and unfortunately can't dedicate my time to that at just this moment.

EDIT - I found the version of ACS Appoldro that I modified for my own use, it's merged with Byb_Traders_300 (adds 1 or 2 crates wth levelled items to most merchants, creates a nice random inventory, and with other mods merged with these lists it also creates a very diverse inventory)

Anyways, it's ACS Appoldro with the following changes:

1. Items are added to levelled lists in a balanced way. I modified the original setup of ACS Appoldro and did not add daedric or glass weapons directly to the levelled lists (except for the appropriate lists, like random glass weapon or random daedric weapon) Instead, I created my own lists that I placed all the rare weapons or armor into... then added these to the appropriate lists that were formally modified by ACS Appoldro. I also added Bethesda's rare armor and weapons to these lists (Daedric weapons, glass weapons, ebony, etc... as most of the ACS appoldro stuff is rare and expensive, adding bethesda's doesn't really hurt the balance any more than it already is)

2. I removed the weaponstore. The cell is still there but I took the entrance out of Suran. This can fairly easily be added back in. I just didn't like being able to buy these rare weapons so easily.

3. The "offending" scripts no longer run. Note that you will still need to clear your savegame of the levelled list references or your savegame will override these changes.


This ESP provides a nice way of merging your weapon/armor mods into one, I have lists for "rare" armor & weapons that are already placed inside the bethesda lists, and there are crates in every merchant shop that havea chance of spawning these items for sale.

If anyone wants this modified version PM me your email address and I will email it to you. It's "Fixed", but in my own way.
Something I vaguely mentioned in one of my previous posts in this thread:

It's only when you merge a list that's been modified by a script that you'll have a dirty save issue with this. As long as no more list mergers are done after the first time a script modifies a leveled list that's included in the merger, there shouldn't be any problems.

For example:

1. Mods A, B, C change lists directly (i.e., in the Construction Set), so need to have their lists merged.

2. The merged list .esp winds up with merged List 1, List 2, and List 7.

3. You add a mod that uses a script to modifiy List 2: no problem.

4. You add a mod that requires list merging, and that only changes List 4 and List 7. No problem.

5. You add another mod that requires list merging, and this time List 2 is changed.

Now you have a problem: because of the scripted change (in my step #3), List 2 is already in the saved game and the changes made in the merged list .esp (by my step #5) won't be used: classic dirty save.

I no longer have Morrowind installed, so I haven't tested this. However, based on everything I remember about dirty saves and leveled lists, I would be very surprised if the above wasn't correct. smile.gif

----------------------------------------------------------------------------

The above isn't helpful for somebody who already has dirty save problems with merged leveled lists, but it might be useful for preventing them.

1. The simplest approach: if you want to use mods that use list merging and mods that use scripting list management, just make sure you add all the list merging mods to your game first.

Then be careful not to add any more list merging mods after you've added mods that use scripted list management.

Probably most useful when starting a new game or just starting to add mods to your game.

2. A little more involved approach:

Find out what lists are modified in each type of mod you use: what lists are changed in the mods that need to be merged, and what lists are changed in mods that use scripts for leveled lists.

Then you can add new list merger mods as long as they don't affect lists that are changed by installed mods that use scripts to modify lists.

For example, if you're using a mod that uses scripting to change List 4 and List 9, you can still safely add a mod that uses merging as long as it doesn't affect those two lists.

3. And a more accurate version of approach 2:

Look at your saved game to see what leveled lists are currently stored in it: those are the lists that have actually been modified by scripts. Then look at mods you want to add (that use list merging): as long as they don't change leveled lists that are in your saved game, you're home free.

(To see what leveled lists are in a mod or in a saved game, you could use the Details list in the Construction Set: just click the left-hand column header to sort on that column, then scroll down to the 'LEVI' and 'LEVC' entries: those are the leveled item and creature lists. {I think; it's been a while, and my memories are rusty: but that should be pretty close.})


It should be possible to write a conflict detecting utility to help with this. Point the utility to a saved game and to some mods you want to add, and the utility reports any conflicts: leveled lists that exist both in the saved game and in one or more of the mods.

This late in the life of Morrowind, no idea if anybody would want to tackle this. sad.gif

----------------------------------------------------------------------------

Also, I saw some suggestions about cleaning the leveled lists from the player's saved game.

The problem with this is that it would very likely break the mod that changed those lists in the first place.

...DT staggers off into the sunset, wondering if he will ever be free of this whole %(&@ dirty save issue...
Last week, I emailed Chris Woods (of MTT) and received a reply back saying that we can distribute personal fixes of his mod to each other. Here is a quote from his email to me:
QUOTE
Of cource you can get a mod off someone that messed with it; so long as
people aren't redistrubuting it widely I'm not going to get involved.


I have a fix that I made, which I believe doesn't break the MTTIV mod (as per DinkumThinkum's warning). I manually added the his leveled lists into the original leveled lists in the appropriate places. I.E., so if Chris used a script command to add cw_trinket1 to the leveled list ex_random_bandit (just an example) when the PC reaches level 3, I added cw_trinket1 to that leveled list for level 3, and then made sure that the <= PC level box was checked. I think that would make it so that you would have a normal chance of getting an item from cw_trinket1 if you were level 3 and above.
Then I commented out all the remove and add to leveled lists commands in the one script that had them...cw_mtt_loot for his original mod, or cw_mtt_update_lists in Habile's fixed version.

If anyone (DinkumThinkum) sees a problem with my fix, please let me know!!! I've used EE to delete my leveled lists (thereby resetting them) and have remerged all my leveled lists with Wyre Mash. I have opened up my save game again, and see that the expected leveled lists are there, so I think this works fine.

And if this fix works, I can email people who want it. Different from DarkDragon's, my esp doesn't have any dependency or reference to any other mods.
I may want it, I'll let you know. I'm interested in seeing some more discussion on this, and figuring out how to fix these best.
QUOTE(MrMistophelees @ Jan 26 2006, 01:36 PM)
And if this fix works, I can email people who want it.  Different from DarkDragon's, my esp doesn't have any dependency or reference to any other mods.
*




My MTT Volume III doesn't depend on any other mods. I was referring only to ACS Appoldro. I have not changed Volume 4 because I don't use it.
QUOTE(MrMistophelees @ Jan 26 2006, 01:36 PM)
If anyone (DinkumThinkum) sees a problem with my fix, please let me know!!!  I've used EE to delete my leveled lists (thereby resetting them) and have remerged all my leveled lists with Wyre Mash.  I have opened up my save game again, and see that the expected leveled lists are there, so I think this works fine.
*



Tackling this a bit out of order, I'll clarify my previous comment:

----------------------------------------------------------------------------
Also, I saw some suggestions about cleaning the leveled lists from the player's saved game.

The problem with this is that it would very likely break the mod that changed those lists in the first place, unless you also modify the mod to duplicate the scripted changes without using scripts to affect lists changed by other mods .
----------------------------------------------------------------------------

My main concern was that mod users might get the impression that all they had to do was clean the leveled lists from their saved game and the problems would be fixed. Cleaning the lists from the saved game is fine, if you also edit the mod to work without the scripted changes. Which is what it sounds like you're doing. smile.gif

(And I hope that makes sense...)

QUOTE(MrMistophelees @ Jan 26 2006, 01:36 PM)
I have a fix that I made, which I believe doesn't break the MTTIV mod (as per DinkumThinkum's warning).  I manually added the his leveled lists into the original leveled lists in the appropriate places.  I.E., so if Chris used a script command to add cw_trinket1 to the leveled list ex_random_bandit (just an example) when the PC reaches level 3, I added cw_trinket1 to that leveled list for level 3, and then made sure that the <= PC level box was checked.  I think that would make it so that you would have a normal chance of getting an item from cw_trinket1 if you were level 3 and above.
Then I commented out all the remove and add to leveled lists commands in the one script that had them...cw_mtt_loot for his original mod, or cw_mtt_update_lists in Habile's fixed version.
*



First, changing the state of the '<= PC level box' will change the behavior of the entire list, which would be undesirable. Just leaving it in its original state should be fine.

Second, whether or not your approach would duplicate the original working of Chris' mod depends on just what conditions triggered Chris' scripted additions to the lists.

If the scripts simply add new entries to the leveled lists unconditionally, then adding the entries in the Construction Set and commenting out the script commands should work fine.

But if the scripts add or remove list entries based on specific conditions, then your method would change the way the mod functions and could possibly break something.

For example, if the mod adds a certain creature immediately, then removes it once a quest is completed, your method wouldn't work correctly. Same thing if a certain creature was only added to a list when the player did something specific: killed a certain NPC, stole a specific item, etc.

And other conditions that affect when the scripted commands change the leveled lists would also not be duplicated if you just make the changes in the Construction Set.

I'm not familiar with the particular mods being discussed here, and without the game installed I can't open them up in the editor to look at them, so I really don't know exactly what applies here.

----------------------------------------------------------------------------

If the mod(s) you're trying to fix use scripts for something more complicated than just unconditionally adding new entries to leveled lists, my suggestion (earlier in this thread) about using a combination of merging and scripting might be useful as a workaround to gain the benefits of both approaches while still avoiding the dirty save conflicts.

See my posts #16 and #18 above for my idea, and see if you can use that for what you're trying to do.
QUOTE
Also, I saw some suggestions about cleaning the leveled lists from the player's saved game.

The problem with this is that it would very likely break the mod that changed those lists in the first place, unless you also modify the mod to duplicate the scripted changes without using scripts to affect lists changed by other mods .

I used the lists in the saved game as a progress list. If you just remove the entries that match the levelled lists that have been manually created, then you can see if there is another mod waiting for repair at the end.
To start with the repair process, I wingrepped the according mods by using the same search strings (4) like Dragon 32 here. Besides MWInhabitants I did not find anything new which is not covered by the list in Dragon's posting, except some different versions like EcoAdj(Sri+Ingredients), which is just a modified Sris Alchemy mod.

Thanks all for your help and your patience by the way. I learned something... read.gif
QUOTE(DarkDragon @ Jan 26 2006, 08:56 PM)
My MTT Volume III doesn't depend on any other mods. I was referring only to ACS Appoldro. I have not changed Volume 4 because I don't use it.
*



Oops, sorry about that. I knew you were using MTT 3, but I forgot that temporarily when I posted. My version is MTT 4. smile.gif

Okay, according to DinkumThinkum's post, let me clarifly what I see as MTT IV's mode of operation.
MTT IV has Chris' leveled lists are added to the originals unconditionally, except that a few of them are only added when you reach a certain level. So from my understanding, that works the same as if you add his leveled lists into the originals, and just have them appear at a certain level and above. Furthermore, MTT IV removes and re-adds the leveled lists (cleaning them up and rechecking PC level) whenever the PC levels up, and possibly whenever the game loads (I'm not sure about the second one, but it is a startup script). There are no quests or other triggers that change the leveled lists.

Also, when I mentioned that I had checked the <= PC level box, it was because of a problem that people had mentioned previously, about suddenly finding that MTT IV's items were completely overwhelming the bandit and smuggler caves because the leveled list hadn't had that option checked in a couple places (but checked in some of them, so probably just an oversight).
Of course, as he mentioned, DinkumThinkum is not familiar with this mod, so I thought I would try to clarfiy my fixes smile.gif
1244.gif
QUOTE(Dragon32 @ Jan 5 2006, 11:31 PM)
Well I've done some checking of the mods I'm currently using in my game. I searched them for the following: "AddToLevCreature", "AddToLevItem", "RemoveFromLevCreature" and "RemoveFromLevItem" as these are the script commands that... er... add things (or remove them) from levelled lists.

So the plugins I found were:




  • Bloodmoon Extras v 0.2 - BMExtras.esp



  • Tribunal Integration v 0.5 - TribIntegration.esp



  • Where Are All Birds Going? Version 1.7 by abot - abotWhereAreAllBirdsGoing.esp



  • Water Life Version 1.7 by abot - abotWaterLife.esp



  • Appoldro Weaponstore v2.04 - acsAppoldoro.esp (the one that started all this)



  • Giants v2.7.1  "Ultimate" - GIANTS.esm



  • Magical Trinkets of Tamriel Vol IV beta - MTT IV Updated v0.79.esp (Note this is the .ESP modified by Habile to reduce the "overloot" problem with Chris Woods' original)



  • Sri's Alchemy, Bloodmoon Edition. Version 3.0609 - Sris_Alchemy_BM.esp



  • Weapon Compilation Mod - version 2.0 - farrp_WeaponCompilationMod_V2.esp



  • Exotics Boutique "Pour la Guerrière" v1.1 - ExoticsBoutique.esp




To give you some idea of what I've done to change these here's some details for each plugin:

...

GIANTS.esm - Giants v2.7.1  "Ultimate"
AddToLevItem - Used in the Add_Ultimate_items script, but this script doesn't seem to ever be run. The script adds 2 amulets, 2 rings and 2 scrolls. Looking at the rings and amulets in the TESCS showed they had no enchantments on them and the scrolls are in the appropriate levelled list already.
I left the scripts and levelled lists alone.

...



The script Add_Ultimate_items has been active, script startup exists. At the end of my repair process I had 2 lists left in my save game, obviously coming from Giants script additions:

l_m_amulets
l_m_rings

It might be better to repair them also.
*bump* because this thread is a precious reference!
QUOTE(abot @ Feb 27 2006, 07:23 PM) *
... this thread is a precious reference!

Agreed! 932.gif

. . . nudge for re-bookmarking. . . .
QUOTE(DWS @ Jan 27 2006, 04:14 PM) *

The script Add_Ultimate_items has been active, script startup exists. At the end of my repair process I had 2 lists left in my save game, obviously coming from Giants script additions:

l_m_amulets
l_m_rings

It might be better to repair them also.

Thanks for that, DWS. fing34.gif
QUOTE(abot @ Jan 7 2006, 05:24 PM) *


Easy to change:
Corv's Ultimate Ranger Mod 2.0.esp
GAM NOM 2.12.esp
Morrowind Crafting1.1.esp

The Wilderness Mod 2.0 T & B.esm

Ops!!, i've only now noted that abot added in the list also The Wilderness Mod 2.0 T & B.esm.
Someone knows if is it secure using the original esp like some others of the list or is better to modify it?
QUOTE(Behelit @ Jul 8 2006, 02:23 AM) *

Ops!!, i've only now noted that abot added in the list also The Wilderness Mod 2.0 T & B.esm.
Someone knows if is it secure using the original esp like some others of the list or is better to modify it?
Referring to The Wilderness Mod 2.0 T & B.esm contained in this final version, probably you should change the global start script AddWildernessCreatures from
CODE
Begin AddWildernessCreatures

;================
;Lists
;================
;ADD Bloodmoon Creatures to Default lists
    AddToLevCreature "ex_ascadianisles_lev+0" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_ascadianisles_lev+2" ex_Bloodmoon_wildlife 3
    AddToLevCreature "ex_ascadianisles_lev-1" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_azurascoast_sleep" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_bittercoast_lev+0" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_bittercoast_lev+2" ex_Bloodmoon_wildlife 3
    AddToLevCreature "ex_bittercoast_lev-1" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_grazelands_lev+0" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_grazelands_lev+0" ex_Bloodmoon_wildlife 10
    AddToLevCreature "ex_grazelands_lev+2" ex_Bloodmoon_wildlife 4
    AddToLevCreature "ex_grazelands_lev+2" ex_Bloodmoon_wildlife 10
    AddToLevCreature "ex_grazelands_lev-1" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_grazelands_lev-1" ex_Bloodmoon_wildlife 10
    AddToLevCreature "ex_grazelands_sleep" ex_Bloodmoon_wildlife 2
    AddToLevCreature "ex_molagmar_lev+0" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_molagmar_lev+2" ex_Bloodmoon_wildlife 3
    AddToLevCreature "ex_molagmar_lev-1" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_molagmar_sleep" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_sheogorad_lev+0" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_sheogorad_lev+2" ex_Bloodmoon_wildlife 3
    AddToLevCreature "ex_sheogorad_lev-1" ex_Bloodmoon_wildlife 1
    AddToLevCreature "ex_westgash_lev+0" ex_Bloodmoon_wildlife 2
    AddToLevCreature "ex_westgash_lev+0" ex_Bloodmoon_wildlife 10
    AddToLevCreature "ex_westgash_lev+2" ex_Bloodmoon_wildlife 3
    AddToLevCreature "ex_westgash_lev+2" ex_Bloodmoon_wildlife 10
    AddToLevCreature "ex_westgash_lev-1" ex_Bloodmoon_wildlife 2
    AddToLevCreature "ex_westgash_lev-1" ex_Bloodmoon_wildlife 10
    AddToLevCreature "ex_westgash_sleep" ex_Bloodmoon_wildlife 2
    AddToLevCreature "ex_wild_all_lev+0" ex_Bloodmoon_wildlife 2
    AddToLevCreature "ex_wild_all_lev+2" ex_Bloodmoon_wildlife 2
    AddToLevCreature "ex_wild_all_lev-1" ex_Bloodmoon_wildlife 3
    AddToLevCreature "ex_wild_all_sleep" ex_Bloodmoon_wildlife 3

;ADD to Default CAVE Lists
    AddToLevCreature "in_egg_kwama_mined" ex_cave_bats_2 1
    AddToLevCreature