Common Bugs
These are annoying problems with the CS and game engine.
NPCs Walking through Obstacles and Falling through ground/floor
Place a continuous fence or wall around a building, add a switch-activated gate, then enter the game and:
- stir up some monsters or bad guys outside the walled area
- Lead them (but not too closely) to the gate
- Enter open the gate while they catch up
- Go through the gate and
- Close the gate behind you before they catch up
This leads to two problems:
Pursuit Teleportation
If you enter the building, NPCs in pursuit and presumably trapped outside the walls teleport with you inside the building even though the door is presumably beyond their reach. This is fairly simply solved by adding the following script or modification thereof to access portals leading to locked player worlds:
ScriptName PlayerLock Begin OnActivate If (IsActionRef Player) Activate EndIf End
Fairly Simple aspirin for Player owned house and castle mods where doors are made to stay locked. This can also be modified to be key dependant.
Burrowing or Ghosting through Obstacles
If you wait outside long enough, one of two things happens: a) Your pursuers sink through the ground and pop up right next to you b) Your pursuers walk right through a point along in what appears to be a continuous barrier.
To date, there is no publicly documented solution to this problem.
Touchy Cells in Tamriel
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.
One of these cells is listed separately under Crashes: Edits to Tamriel cell (-47,-7). Others are listed below:
Random Vanishing Landscape in Tamriel
The cells 20,-17 and 20,-18 (along the road between Bravil and Leyawiin, between the small bridge and Fort Nomore). Even small changes to these cells may cause the landscape to randomly vanish. If you quit the game, restart, reload and return to the same spot the problem usually goes away, but it may randomly return on future visits to the spot. Entering these cells slowly may reduce your chances of encountering the bug.
Markers Missing from Local Map
The cell 3,3. If a mod alters ANYTHING at all in the cell 3,3 in any worldspace, the player's local map will stop showing the player marker and other markers on the local map. However, this local map error can also happen randomly when going through certain cells without any mods at all, but in this case it's only temporary. No fix is known for the latter bug.
This bug will also happen with cell 4,4 if uGridsToLoad is set higher than 5 in Oblivion.ini. However, since increasing uGridsToLoad causes other bugs as well, cell 4,4 should be considered safe to edit.
Vanishing Landscape in a New Worldspace
This general problem is also listed under Common Mistakes because it can also be caused by using an ESM to alter the landscape for another master. In this case, however, it occurs whenever the current modindex for the plugin differs from the modindex of the plugin during creation in the CS (because the end-user's load-order will rarely be the same as the load-order during creation). This usually means that the only way to get the plugin to work in-game is to make it the very first thing that loads after Oblivion.esm, which is a terrible limitation.
TES4Gecko now includes a Move Worldspaces function to help deal with this issue by "injecting" new worlspaces into the 00 modindex.
Remove Item
The 'remove item' function doesn't always work properly with more than one item, especially stolen stackable items. The in-game message (produced by the game) is correct, but the number of items the player loses is not. For example, you may get the message '5 ogre teeth removed', but only 3 were actually removed from your inventory. Mods can exacerbate this by manipulating the 'Extra Data' fields, such as the Ownership field in the CS. Because there is no known way around the problem (short of scripting thousands of items by hand), and it may also be caused by in-game actions (i.e., damaged equipment), you should not be surprised if this happens to you.
This problem is fairly common with mods that do a lot of inventory manipulation, such as ingredient sorters. Similar problems also happen when selling items that have Extra Data. The frequency of the problem is increased by mods that assign ownership to more things in the game, such as Guild Item Ownership, Clutter Ownership, and Oscuro's Oblivion Overhaul. In a few cases this problem can lead to crashes, as with Selling Stolen/Duplicated Alchemy Equipment.
Oblivion Realm Resets
Whenever the player closes an Oblivion gate, the entire Oblivion cell and everything inside of it is reset. This includes inventories of containers and NPCs, and for NPCs their spell list and location. Variables on world objects may be reset as well (NPCs seem to be reset, but not activators).
Adding Multiple Items with the Same Script
There are some oddities (well, the right words for it I won't use here) when you
- add two or more items
- with the same script
- to the same container
- at or about the same time.
This seems to happen for several situations:
- You add an item, which in turn adds another item
- So I would guess it also includes using AddItem for two separate items
- An item that runs when the player adds them to a container, or the player takes them from a container
- For example, if you have 2 of an item in a container (same base object), and the player double-clicks them, thus adding one after the other, you'll hit this bug
- But using 'AddItem SomeItem 2' seems to work without hitting the bug
are some more examples
What exactly is going is anyone's guess, and the problems that can occur are very, very bizarre making them hard to trace. Also, the bug seems to be intermittent, sometimes working and sometimes not, and some scripts don't seem to run into the problem. The a few points to take away from this:
- Adding two or more items with the same script can produce weird results
- If you're adding multiple items and getting weird results, put a frame or two between when you add one and when you add the other
- In the right situation, you can avoid the problem by changing the Scriptname of the items
- If there is a possibility of the player running into this situation, be sure to test for it
Activating an object every frame
This didn't cause a CTD with me, but as it causes unpredictable results there is a chance CTD's might occur.
When you have a script that constantly activates a certain object (in my case, to wait for a result that was published inside that object and could be retrieved in this way), other scripts might become unresponsive. I had several onadd blocks in other scripts that weren't executing anymore.
If you have to do this, build in a timer.
Weight Updates
The encumbrance of the player won't be updated if you change the weight of an object (SetQuestObject, SetWeight, etc.). You can add/remove an item to force an update.