Gotchas: Troubleshooting

Post » Sat May 28, 2011 11:18 am

Some worldspace cells in Tamriel are especially prone to problems. Almost any changes in these cells can cause strange problems in the game, so mod-makers should generally avoid making changes to these cells.


Hmm... Which cells?
User avatar
Darian Ennels
 
Posts: 3406
Joined: Mon Aug 20, 2007 2:00 pm

Post » Sat May 28, 2011 11:30 am

The sub-heading(s) under it would list various problems of that type. In this case, there's only one sub-heading, "Random Vanishing Landscape in Tamriel", which discusses 20,-17 and 20,-18.
User avatar
Darrell Fawcett
 
Posts: 3336
Joined: Tue May 22, 2007 12:16 am

Post » Sat May 28, 2011 10:17 am

I'd like to get some help verifying what's possible and not possible using workarounds for TESCS crashing when you have other ESPs loaded besides the active one.

The question was posed recently in the OOO thread by onelifecrisis. It went something like this:

I'm trying to make a new plugin for XXXX. I select Oblivion.esm, XXXX.esm and YYYY.esp data files, then make a change and hit Save. TESCS asks for a filename for the new plugin. I name it TEST.esp and click OK. TESCS crashes and I end up with TEST.esp (0kb) and TEST.tes (which looks like a corrupted esp when I open it in a hex editor).


We know TESCS does not like it when you load with other ESPs than the active one. There are several ways around this detailed in the De-Isolation Tutorial, but it appears there may be another undocumented solution reported by display name is already in use:

dev_akm has replied to this of course, but he didn't explain how to still use the CS and avoid the crash. Since there are some things which TES4Edit can't do, here's how you should be able to save in the CS without crashing.

Edit something in the Tamriel worldspace before saving. It doesn't matter what, you can move something, delete something, place something, raise or lower the land height in a cell, change the landscape texture in a cell.... absolutely anything. Now when you save, the CS will not crash. The cause of the bug is that for some reason the CS requires the Tamriel worldspace record to exist in your new ESP when other ESPs are loaded. If you haven't edited anything in the Tamriel worldspace, then the CS gets upset and flakes out.

Whatever change you make, you can remove it later using TES4Edit.


This sounded very interesting to me, so I asked for more details on how reliable it is:

Well, I know that changing the land height guarantees reliability. I typically make a single raise or lower to the land in one cell, and later use TES4Edit to strip it out again. What's needed is the presence of the Tamriel worldspace record itself in your ESP, no subrecords are actually needed. But to gain that from the CS, you have to move an object which would appear as a subrecord for the worldspace. The game itself has no such requirement of course, it's only the CS which needs the worldspace record, and only when other ESPs are loaded too.

Personally I've never done anything OTHER than change the land height to avoid this bug, it was someone else who told me that they found it worked with any change to Tamriel after I explained to them how I avoided the crash. And they should have been correct, too, as even moving/deleting an object placed by one of the other ESPs should still cause it to be added to your active ESP (whether the other ESP was ESMified or not - it will either appear as an override or as a duplicate). However if you're finding that object movement isn't reliable, fall back to land height adjustment. it's never failed me yet, and I've been aware of this bug and how to avoid it since February or so :)


I think this sounds well worth some further investigation. Any takers?
User avatar
Krystal Wilson
 
Posts: 3450
Joined: Wed Jan 17, 2007 9:40 am

Post » Sat May 28, 2011 6:11 pm

I'm trying to make a new plugin for XXXX. I select Oblivion.esm, XXXX.esm and YYYY.esp data files, then make a change and hit Save. TESCS asks for a filename for the new plugin. I name it TEST.esp and click OK. TESCS crashes and I end up with TEST.esp (0kb) and TEST.tes (which looks like a corrupted esp when I open it in a hex editor).


Just did this without any problem.
Changed an object from YYYY.esp and saver as TestA.esp
Then loaded TestA.esp, renamed the same object creating a new one and saved as TESTB
Then loaded TestB.esp, renamed the same object again, created a new cell and saved as TESTC
Then loaded all 3 tests and duplicated the cell from TestC and saved as TestD.

Every time not setting any esp as active, of course.

I have had CS crashes when saving a mod for the first time. But this is rare. Don't really remember what I did the second time around.
And every once in a while I do load a library esp of mine with some mod I am working on, so I can copy/paste from the library to the mod.
Never tried to mod any esm besides Oblivion.esm, thou.

OS = XP64 - CS = 1.2.404
User avatar
renee Duhamel
 
Posts: 3371
Joined: Thu Dec 14, 2006 9:12 am

Post » Sat May 28, 2011 11:38 pm

Just did this without any problem.
Changed an object from YYYY.esp and saver as TestA.esp
Then loaded TestA.esp, renamed the same object creating a new one and saved as TESTB
Then loaded TestB.esp, renamed the same object again, created a new cell and saved as TESTC
Then loaded all 3 tests and duplicated the cell from TestC and saved as TestD.

Every time not setting any esp as active, of course.

I have had CS crashes when saving a mod for the first time. But this is rare. Don't really remember what I did the second time around.
And every once in a while I do load a library esp of mine with some mod I am working on, so I can copy/paste from the library to the mod.
Never tried to mod any esm besides Oblivion.esm, thou.

OS = XP64 - CS = 1.2.404


Thanks! This is a great start! :tops:

I assume you used interior cells?

The worst problems happen when YYYY.esp changes worldspace cells and you want to alter something it did.

For example, try moving part of the castle exterior from Battlehorn DLC, etc.

Also, in this test:

Then loaded TestA.esp, renamed the same object creating a new one and saved as TESTB

What happens if the object is say a sword that carries an enchantment that is only defined in TestA.esp?
User avatar
Lance Vannortwick
 
Posts: 3479
Joined: Thu Sep 27, 2007 5:30 pm

Post » Sat May 28, 2011 7:18 pm

The worst problems happen when YYYY.esp changes worldspace cells and you want to alter something it did.
For example, try moving part of the castle exterior from Battlehorn DLC, etc.
Fine again:

Made a YYYY.esp that moves static/activators from position A to position B in XXXX.esm worldspace cell 0,0 (not Battlehorn Castle. I don't have it)
Loaded XXXX.esm and YYYY.esp (not active)
Moved the static/activators from position B to position C
Saved as ZZZZ.esp (no crash)
In game, the static/activators will be in position B or C depending on the load order.


What happens if the object is say a sword that carries an enchantment that is only defined in TestA.esp?

Sorry, I know nothing about enchantments.
If you instruct me how to enchant a sword, I will test it.
User avatar
BEl J
 
Posts: 3397
Joined: Tue Feb 13, 2007 8:12 am

Post » Sat May 28, 2011 7:41 pm

I would just like to share my mistake:

I have placed some initially disabled NPCs outside Anvil, on west side of docks. They had packages that forced them to go to the docks and in front of the warehouse.

But, when they were enabled they were gone. What happened?

The whole area of Anvil's harbour is in subspace. My NPCs were also in this subspace, but their closest path node was outside of that subspace, so instead going few steps to the right and stepping on docks, they went all around Anvil in wide circle, then through the town to the docks, which took lot of time (I discovered that by making them quest targets) and some more problems.

Adding new path node directly under them and connecting it to Anvil docks path grid has solved the problem.
User avatar
Adrian Powers
 
Posts: 3368
Joined: Fri Oct 26, 2007 4:44 pm

Post » Sat May 28, 2011 9:26 am

Fine again:

Made a YYYY.esp that moves static/activators from position A to position B in XXXX.esm worldspace cell 0,0 (not Battlehorn Castle. I don't have it)
Loaded XXXX.esm and YYYY.esp (not active)
Moved the static/activators from position B to position C
Saved as ZZZZ.esp (no crash)
In game, the static/activators will be in position B or C depending on the load order.


Ok, that sounds feasible, but to make that a relevant test, YYYY.esp must place a new static or other object into the world, not just move a vanilla placement -- i.e., so the REFR has a local FormID rather than a vanilla Oblivion.esm FormID (00).

Then ZZZZ.esp must try to move that object.

You see what I'm getting at here?

Sorry, I know nothing about enchantments.
If you instruct me how to enchant a sword, I will test it.


Rename an enchant, such as EnWeapFireDamage10Flame, creating a new one, then make a new sword (rename and create new) and assign your new enchant to the sword (on the weapon dialog).

Thanks!
User avatar
lauren cleaves
 
Posts: 3307
Joined: Tue Aug 15, 2006 8:35 am

Post » Sat May 28, 2011 8:20 pm

Ok, that sounds feasible, but to make that a relevant test, YYYY.esp must place a new static or other object into the world, not just move a vanilla placement -- i.e., so the REFR has a local FormID rather than a vanilla Oblivion.esm FormID (00).
Then ZZZZ.esp must try to move that object.

I made a YYYY.esp that:
1; Created a new container and placed it in the world (renamed a barrel)
2; Placed a vanilla chest in the world
Loaded XXXX.esm and YYYY.esp (not active)
Moved the 2 objects mentioned above
Saved as ZZZZ.esp (no crash)
In game:
a. The barrel (1) remained where YYYY placed it. ZZZZ movement was ignored (makes sense)
b. The vanilla chest (2) was duplicated: one where originally placed by YYYY. Another where ZZZZ moved it to (funny, but kind of makes-sense-after-the-fact)

Same results with similar actions in Oblivion.esm

Rename an enchant, such as EnWeapFireDamage10Flame, creating a new one, then make a new sword (rename and create new) and assign your new enchant to the sword (on the weapon dialog).

Created an enchanted longsword ELS1, as you said, in YYYY.esp and placed one in the world
Loaded YYYY.esp, created a new longsword by renaming ELS1 to ELS2, placed one in the world and saved the ESP as WWWW
In game, both were there, but ELS2 didn't have the enchanted symbol in the inventory.
User avatar
Trish
 
Posts: 3332
Joined: Fri Feb 23, 2007 9:00 am

Post » Sat May 28, 2011 9:45 am

I made a YYYY.esp that:
1; Created a new container and placed it in the world (renamed a barrel)
2; Placed a vanilla chest in the world
Loaded XXXX.esm and YYYY.esp (not active)
Moved the 2 objects mentioned above
Saved as ZZZZ.esp (no crash)
In game:
a. The barrel (1) remained where YYYY placed it. ZZZZ movement was ignored (makes sense)
b. The vanilla chest (2) was duplicated: one where originally placed by YYYY. Another where ZZZZ moved it to (funny, but kind of makes-sense-after-the-fact)

Same results with similar actions in Oblivion.esm


Created an enchanted longsword ELS1, as you said, in YYYY.esp and placed one in the world
Loaded YYYY.esp, created a new longsword by renaming ELS1 to ELS2, placed one in the world and saved the ESP as WWWW
In game, both were there, but ELS2 didn't have the enchanted symbol in the inventory.


Ok, so it's not crashing for you but the references to the original are lost because the original is not a master (and not an Esmified plugin).

Thanks, man! :tops:
User avatar
Chris Duncan
 
Posts: 3471
Joined: Sun Jun 24, 2007 2:31 am

Post » Sat May 28, 2011 10:01 pm

Quick question: speaking of loading esps with your active esp, do I need to (should I) load the shivering isle's esp if I want to use resources from it? Or is that a bad idea? It hasn't crashed on me yet.
User avatar
Vicki Blondie
 
Posts: 3408
Joined: Fri Jun 16, 2006 5:33 am

Post » Sat May 28, 2011 10:08 pm

The Shivering Isles.esp is completely blank and should not do anything at all.

Personally, I wouldn't just to be safe.

By the way, the CSwiki folks (Qazaaq, Haama, and I) have been looking into creating archives for threads for the Wiki. A test of doing that using this thread can be found http://cs.elderscrolls.com/constwiki/index.php/User%3a%44ragoonWraith/ThreadArchiveTest; in order for it to work, you must have a Wiki account and follow the directions on the top of the page. Hopefully in the future that will be unnecessary, but in the meantime, if anyone would like to comment on it, that'd be cool.
User avatar
ILy- Forver
 
Posts: 3459
Joined: Sun Feb 04, 2007 3:18 am

Post » Sat May 28, 2011 4:28 pm

By the way, the CSwiki folks (Qazaaq, Haama, and I) have been looking into creating archives for threads for the Wiki. A test of doing that using this thread can be found http://cs.elderscrolls.com/constwiki/index.php/User%3a%44ragoonWraith/ThreadArchiveTest; in order for it to work, you must have a Wiki account and follow the directions on the top of the page. Hopefully in the future that will be unnecessary, but in the meantime, if anyone would like to comment on it, that'd be cool.


Holy cow, man! That's so damn cool!

You guys rock! :mohawk:
User avatar
Laura Shipley
 
Posts: 3564
Joined: Thu Oct 26, 2006 4:47 am

Post » Sat May 28, 2011 4:42 pm

Hmm... Which cells?



The sub-heading(s) under it would list various problems of that type. In this case, there's only one sub-heading, "Random Vanishing Landscape in Tamriel", which discusses 20,-17 and 20,-18.


There's a cell which will cause the local map to mess up if edited. It's somewhere around 4,4. I can check exactly which cell when I get home from work. I only know of one mod which edits this cell, but removing the entire cell entry from the ESP fixes the local map in-game.
User avatar
lolli
 
Posts: 3485
Joined: Mon Jan 01, 2007 10:42 am

Post » Sat May 28, 2011 11:34 am

There's a cell which will cause the local map to mess up if edited. It's somewhere around 4,4. I can check exactly which cell when I get home from work. I only know of one mod which edits this cell, but removing the entire cell entry from the ESP fixes the local map in-game.


I think it's 3,3 IIRC.

Yep, it is. From http://www.oblivionmodwiki.com/index.php?title=Unofficial_Oblivion_Patch#Known_Oblivion_Bugs:

Bug: You can't see the player marker and other markers on the local map Solution: If a mod alters ANYTHING at all in the cell of (3,3) in any worldspace it will cause this bug to happen; if a mod is causing this bug for you the best thing you can do is go through your mods and disable them one by one until you find the culprit and report this information to the author of the mod. Also this bug can happen when going through certain cells, but it's only temporary; no mods cause this one and there is no way to fix it either.


EDIT: added it http://cs.elderscrolls.com/constwiki/index.php/Common_Bugs#Markers_Missing_from_Local_Map.

Thanks, man!
User avatar
lydia nekongo
 
Posts: 3403
Joined: Wed Jul 19, 2006 1:04 pm

Post » Sat May 28, 2011 7:18 pm

I think it's 3,3 IIRC.

Yep, it is. From http://www.oblivionmodwiki.com/index.php?title=Unofficial_Oblivion_Patch#Known_Oblivion_Bugs:


No I meant 4,4 :) It has the same effect as 3,3 as described by UOP.
User avatar
Alexandra Louise Taylor
 
Posts: 3449
Joined: Mon Aug 07, 2006 1:48 pm

Post » Sat May 28, 2011 6:49 pm

Yes, it's getting easier now that Wrye Bash has some tools to help undelete refs, but undeleting the refs is only the start of what you have to do to fix the issue. You also have to then set them to Initially Disabled (which TES4Edit can't do yet) and/or move them out of sight. Just moving them doesn't work well for NPCs or spawn points (they will all end up spawning in the Tiber Septim Hotel unless you also disable them).

Anyway, the point of adding this is to let people know about the issue as much as how to correct it.


It is now possible to use TES4Edit to set records to disabled. FO3Edit was recently released on FO3Nexus, and if you rename the EXE to TES4Edit.exe, you get the latest version of TES4Edit for Oblivion.
User avatar
kennedy
 
Posts: 3299
Joined: Mon Oct 16, 2006 1:53 am

Post » Sat May 28, 2011 3:41 pm

No I meant 4,4 :) It has the same effect as 3,3 as described by UOP.


Yikes! Ok, I added that one, too.

It is now possible to use TES4Edit to set records to disabled. FO3Edit was recently released on FO3Nexus, and if you rename the EXE to TES4Edit.exe, you get the latest version of TES4Edit for Oblivion.


Sweet! :tops:
User avatar
stevie critchley
 
Posts: 3404
Joined: Sat Oct 28, 2006 4:36 pm

Post » Sat May 28, 2011 7:35 am

I don't know if that's already mentioned anywhere, I fear it is, because I think it's a pretty basic gotcha. Nevertheless I was *quite* surprised as it happened to me.

What am I talking about? Imagine placing an NPC into the world, he's got "No low level processing" checked, and persistent reference is unchecked because he's only supposed to be in one cell.

Later, for whatever reason you'll edit the NPC, give him new AI shedules spanning over more than one cell, therefore unchecking "No low level processing". Here's the gotcha: The Ref properties of the placed actor does not update automatically, causing a lot of CTDs in game (due to it not being a persistent ref).

Eek!
User avatar
Jhenna lee Lizama
 
Posts: 3344
Joined: Wed Jun 06, 2007 5:39 am

Post » Sat May 28, 2011 10:18 pm

I don't know if that's already mentioned anywhere, I fear it is, because I think it's a pretty basic gotcha. Nevertheless I was *quite* surprised as it happened to me.

What am I talking about? Imagine placing an NPC into the world, he's got "No low level processing" checked, and persistent reference is unchecked because he's only supposed to be in one cell.

Later, for whatever reason you'll edit the NPC, give him new AI shedules spanning over more than one cell, therefore unchecking "No low level processing". Here's the gotcha: The Ref properties of the placed actor does not update automatically, causing a lot of CTDs in game (due to it not being a persistent ref).

Eek!


Ouch!

Does the problem only manifest on an existing savegame? (i.e., where the NPC data is already stored in the savegame). If so, you might be able to flush the problem out by making a clean save before testing.

Thanks, man!
User avatar
John Moore
 
Posts: 3294
Joined: Sun Jun 10, 2007 8:18 am

Post » Sat May 28, 2011 9:10 am

Ouch!

Does the problem only manifest on an existing savegame? (i.e., where the NPC data is already stored in the savegame). If so, you might be able to flush the problem out by making a clean save before testing.
Actually I didn't test this. I have no savegame with the NPC as non persistent ref, due to him being part of a new quest I worked on. What I can say though is that after toggling that NPC Ref to persistent the crashes were gone. (Maybe worth mentioning: The crash always happened when accessing the world map. In game it could take up to 20 minutes.)
User avatar
Emily abigail Villarreal
 
Posts: 3433
Joined: Mon Aug 27, 2007 9:38 am

Post » Sat May 28, 2011 11:52 pm

I'd like to get some help verifying what's possible and not possible using workarounds for TESCS crashing when you have other ESPs loaded besides the active one.

The question was posed recently in the OOO thread by onelifecrisis. It went something like this:

We know TESCS does not like it when you load with other ESPs than the active one. There are several ways around this detailed in the De-Isolation Tutorial, but it appears there may be another undocumented solution reported by display name is already in use:

This sounded very interesting to me, so I asked for more details on how reliable it is:

I think this sounds well worth some further investigation. Any takers?


Verified as described. And further confirmed that it doesn't matter what is edited so long as the Tamriel worldspace is in the ESP you want saved.
User avatar
Lucie H
 
Posts: 3276
Joined: Tue Mar 13, 2007 11:46 pm

Post » Sat May 28, 2011 9:01 pm

Hi. I'm new.

Up until six month ago, I'd never modded, meshed, programmed, or any such thing unless you count the Sims in buy mode (yes, it is appropriate to laugh now). I learned about modding solely from the CS Wiki, these forums, and the TESNexus forums. Most of the Gotchas you list, I read before I had the chance to create them in my own mods, and I understood them... if not the actual mechanics, at least the point to do or not do them. So kudos for that, you have prevented at least 1 person from further contaminating the mod pool (at least to my best efforts). I have a few suggestions to add to your list, however:

1. When modifying a vanilla interior, always give moved/new objects a parent that is a new object. The number of children for a parent, plus the positions of existing items, gets cached in saved games. I spent hours trying to fix this before someone suggested this to me, and I've seen lots of other people ask about the same issue - you modgods might think this is elementary stuff but there's nothing in the "learning process" that teaches you to look out for this, someone has to tell you.

2. Do not press the "f" key to lower an item in an interior cell unless you are really sure there is something there to catch it (laugh some more, I don't mind).

3. If you modify any infos via "edit cell" (interior lighting, fast travel enabled, ownership, etc.) ALL those settings get saved in the .esp, not just what you changed. I'm reasonably sure - a fast travel mod did this, and I was able to reproduce it.

4. You have noted already to name objects & cells uniquely, but really anything you name should be as unique as possible - especially when borrowing scripts and what not from other resources.

That's all I can think of for now.

Most of the time when you talk about scripting, it's totally over my head. I've managed to loosely grasp the syntax, because it has a pattern, but it still takes me hours to do what those currently engaged in this discussion can probably do in minutes. So maybe if you're looking to make the Wiki troubleshooting section accessible to us noobs you'll keep in mind that we likely have no idea what a "variable" really is, or what a "short" does, or how to implement such a thing as a "float", in case we knew what it was to want it in a script (I personally do my best to avoid floating objects, one last laugh at my expense).
User avatar
Riky Carrasco
 
Posts: 3429
Joined: Tue Nov 06, 2007 12:17 am

Post » Sat May 28, 2011 10:49 am

There's a cell which will cause the local map to mess up if edited. It's somewhere around 4,4. I can check exactly which cell when I get home from work. I only know of one mod which edits this cell, but removing the entire cell entry from the ESP fixes the local map in-game.


A bit of clarification needed here now. Arthmoor questioned my vast and expansive knowledge (some of which I make up on the spot to sound clever)(that's a joke!) and it turns out that 4,4 ONLY causes this if Oblivion.ini has been edited for entry uGridsToLoad. I had accidentally changed mine from 5 to 7. Resetting it to 5 fixed the local map problem caused by editing 4,4. I don't know whether this is unique to an entry of 7, or whether any setting other than 5 will cause this.


Verified as described. And further confirmed that it doesn't matter what is edited so long as the Tamriel worldspace is in the ESP you want saved.


Woohoo! Yay me!!! Except that Bluepie first told me how to avoid the crash on save, so if you hand out credit for these things, it goes to him.
User avatar
Riky Carrasco
 
Posts: 3429
Joined: Tue Nov 06, 2007 12:17 am

Post » Sat May 28, 2011 10:56 am

A bit of clarification needed here now. Arthmoor questioned my vast and expansive knowledge (some of which I make up on the spot to sound clever)(that's a joke!) and it turns out that 4,4 ONLY causes this if Oblivion.ini has been edited for entry uGridsToLoad. I had accidentally changed mine from 5 to 7. Resetting it to 5 fixed the local map problem caused by editing 4,4. I don't know whether this is unique to an entry of 7, or whether any setting other than 5 will cause this.


IIRC this is something the UOP addresses. As it's installing it asks if you want to set this back to 5, because anything higher can cause problems.
User avatar
lacy lake
 
Posts: 3450
Joined: Sun Dec 31, 2006 12:13 am

PreviousNext

Return to IV - Oblivion