Category:Troubleshooting

Revision as of 18:56, 20 February 2007 by imported>Dev akm (rough draft of Gotchas/Troubleshooting)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

ROUGH DRAFT

This is the placeholder for a new set of articles on TES IV problems -- gotchas, common mistakes, CS bugs, etc. The basic ideas and topics were originally discussed in this ESF thread.

These topics could be organized in a lot of different ways, but for now we can start with a simple list.

I'm starting this as a category so we can add more specific topic articles in the category.

Here's a brief list of some common mistakes and their effects on players. Please suggest more ideas if you can.--Dev akm 17:56, 20 February 2007 (EST)


Common Mistakes

These are things that all mod-creators should know not to do.

AddTopic Dialogue Bug

Even though it's well-known and documented in the wiki, the 'add topic' bug regarding dialogue continues to be is one of the most common mistakes mod-creators make.

Persistent Doors

Vanilla doors can't be moved in mods without incompatibilities with most existing savegames since their position is stored in the savegame data once you come near them. Modders should try to avoid moving doors from the original game.

Changing Script Variables

This issue is best summarized in Wrye's ESF thread Overriding Scripts and CTDs based on discussions started in MentalElf's ESF thread In desparate need of a save game editor

This info really hasn't made it into popular circulation yet.

Savegame Bloating

Avoid Using PlaceAtMe

I was most surprised to find no mention of this issue whatsoever in the high-profile tutorial Casting Spells From An Activator, which apparently gives very bad advice by giving script examples that will leave garbage in your savegame. The problem is that disable doesn't remove the reference from your savegame. It's mentioned on the Etiquette page, but this is a pretty weak warning:

  ... avoid using PlaceAtMe to create new copies of an object when you could simply use MoveTo on an existing object.

The PlaceAtMe page has a good warning and the Talk:PlaceAtMe page has some additional details, but these issues are not mentioned in the places where people really look for answers (i.e., tutorials), so I'm not sure how effective this is.

Quite a few mods still use this technique to repeatedly place hidden activators near the player when a MoveTo would work just as well without any negative side effects.

I'm guessing the reason this issue hasn't been more widely discussed is that it seems to be a bit tricky to use MoveTo on a persistent object instead of PlaceAtMe/disable on a temporary reference. There's some discussion about this on the [[Talk:MoveTo|Talk:MoveTo] page, but it's far from being concise or clear.

We really need a good tutorial on how to properly use MoveTo instead of PlaceAtMe/disable.

Avoid Using RemoveAllItems on a Companion

This seems to be by far the major offender.


Common Bugs

These are annoying problems with the CS and game engine.

Remove Item

The 'remove item' function doesn't work properly with more than one item sometimes. 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. This happens randomly, no matter which item you remove or how many 'remove item' functions (or other functions) you use in a single frame.


Debugging

When something just isn't working right, look here for possible causes.

Comma Instead of Period

This can cause severe headaches for the scripter: The compiler will accept a comma in place of a period in reference syntax, but the script will silently fail in the game when the line is encountered.

 player.modAV health 200 <- Fine
 player,modAV health 200 <- Suddenly your script is no longer running and you're wondering why

Easy to miss when you're looking for logic errors.


Obscure Problems

These issues don't occur very often, and we don't even really know what causes them, but they hurt nonetheless.

Pathgrid CTDs

Does anyone really know why the pathgrid CTDs happen? The last thread about it I remember didn't find a solution.

This is an older problem that plagued both UL and OOO for a while. Basically, changing pathgrids is risky and requires a lot of testing to avoid CTD issues. I didn't find any surefire solutions for this either. Does anyone know if this topic has been written about in any more detail than the introductory Path Grid Generation article and [1]Path Grids (simple)]?

Subcategories

This category has only the following subcategory.

S

Pages in category "Troubleshooting"

The following 11 pages are in this category, out of 11 total.