Wednesday, October 13, 2010

Fixing Bugs

Since the playtest release, over 400 bugs reported by testers have been fixed. Mostly smaller bugs. The most common one has been that speaktriggers are not properly respecting their OnceOnly setting, so they trigger constantly as companions are entering the triggers. Fairly few quest breaking things, and only two game breakers so far. At least one playtester is pretty close to being done, and he is doing an excellent job of both doing everything that can be done in the game and in being picky (I mean that in the best possible way, playtesters SHOULD be picky!).

Mostly remaining are larger bugs that are more serious and I post them in hopes that someone reading this has encountered and solved them:
     1) Dead party memebers are raised with one hp by any area transition. This happens inside modules, between areas that do not have area entry scripts. I am using SoZ death scripts after the first module, and OC death scripts in the first module. I suspect that has something to do with it, but I have put the scripts in the module folders, not the campaign folder. Party members properly die and stay dead with the "death" avatar as long as I stay in an area. Any area transition raises them.
     2) Probably related, resting does not heal party members who are unconscious but stabilized.
     3) Movies don't play. My opening movie doesn't play when I launch the campaign, only when I launch the first module separately. I've looked at some other campaigns, and haven't seen a difference with how I'm doing it yet. Ending movie doesn't play either.
     4) I want to make a number of npc's with the same tag appear. Similarly, I want to make a number of placeables with the same tag disappear. I expect this is very easy, but my scripting skills stink.
     5) a tile/texture combination renders in the toolset, but not ingame. As a result, ingame everything in the area is neon colored. neon! :-) . The area is spectacular, feedback on the official forums for the area was outstanding, I don't want to redo it.
     6) Building things for your stronghold is not working correctly. The doors don't fire their conversations even though everything should be as it is in the sample stronghold I extracted from the OC, where it works. I expect I'll have to figure this one out myself since I don't think anyone else is using an OC style stronghold. One tester had the upgraded buildings appear, which isn't supposed to happen at all in my campaign, and doesn't happen when I test.

One bug I sorted out would be of serious interest to other modders, I implemented the appearances.2da from Pain's Monster Pack. This broke the appearance of a number of npc's, giving them the n_human (null human) appearance, with strange results. Some npc's insisted on a female appearance, despite manually setting them to male, these I had to delete and replace. Others developed strange appearance bugs (invisible with odd "rays of appearance" stretching off towards other npcs) that made them virtually unselectable in the toolset. Tracking this down it only happened with the some of the halfling appearance models. I have been using scaled up halflings to expand the palette of human faces, and Storyteller's Desert NPC's and the Seahorse Cove prefab area does this as well.

For modders, if you are interested you can see my list of bugs here:
It doesn't include the thousand or so I fixed before making the wiki.


  1. 1 - Check that you have set the global variable that enables area transitions with dead characters in your on module load script - VAR_GLOBAL_NX2_TRANSITIONS

    2 - Check global variable again in on mod load script. SoZ sets a variable so that force rest is used instead of action rest. Perhaps your unconcious companions cant use action rest because they are incapacitated - CAMPAIGN_SWITCH_REST_SYS_USE_FORCE_REST

    4 - Try the group functions in the include file ginc_group. The functions are commented well enough that you should be able to find the right ones.

    Not sure about the other problems, but hope these sugestions help. Good luck!

    - Elfinmad

  2. 1 and 2 look like they do the trick (still need to test). Those things are not included in the x2_mod_load script that starting a new module in the toolset uses. Thanks a million gp.

  3. #1 & #2: I haven't looked but what are you using for the module scripts? I believe I had to get the scripts out of SOZ originally. I believe kaerdrin's override included them as well. Just make sure they are associated with each module.

    #4. To destroy the objects use a while loop.
    get first object in area
    while(object valid)
    if object tag == tag
    destroy object
    object = next object in area

    For the creations you can use the group function of a for loop may also work.

  4. Hi Kamal,

    Shaughn answered the only one I could answer (4). :) All the others would require closer script inspection or are beyond me.

    I have just recently added Pain's monster stuff, so I will be keeping my eye open for the bug you report. Thanks for the heads up there.


  5. Hi Kamal,

    I have decided to edit my own creatures from the pack as required after the n_human issue.