Wednesday, March 29, 2006

How to fix the introduction part to work with a new race

I'm currently working on a new race, a new birthsign and a new class for Oblivion, but I noticed something strange when I tried to create a new character with the race I was working on. For some reason the game script didn't start, so I looked into the problem, and I found out that they got a check for which race you've chosen for the dialogue in the beginning, and hence, the race I've just created wasn't specified.

This is how I solved it:
  1. In the TES Construction Set, under the 'Character' menu, choose 'Filtered Dialogue'.

  2. In the Dialogue window, choose ValenDreth under the filters. He's the prisoner that's talking to you in the beginning, and the one that's causing trouble with the introduction script.

  3. Click 'Conversation' and select 'CharGenTaunt2' under 'Editor ID'. Now you'll see a list with all the dialogue he has for the introduction part.

  4. Scroll through the dialogue, and find a text where he don't mention any races, for example;

    "You know, my time's almost up. Pretty soon I'll be free, and you'll still be stuck in this rat hole, waiting for your execution."

  5. Right click on it and choose copy. Now you should have a duplicate right next to it. The * is the duplicate, and it defines that it's been modified by the user (created in this case).

  6. Down under 'Result Script' you'll find;

    set characterGen.tauntCount to characterGen.tauntCount + 1

    this one stands for; whenever he says the line ("You know, my time's..."), it will add 1 to characterGen.tauntCount. Whenever characterGen.tauntCount reaches 3, the guards will start walking towards you cell, so go ahead and change it to:

    set characterGen.tauntCount to characterGen.tauntCount + 3

    This will make him say this one line, and then the guards will come. Usually he says three lines...

  7. Now it's time to fix the 'Conditions', which are the ones that's currently causing trouble for us. Select:

    GetIsRace Race: 'DarkElf'' == 1.00

    and "Race: 'DarkElf'" under Function Parameters and change DarkElf to the race you've created, in this case "Demon".

  8. The last thing we need to change before saving and testing it out ingame is this one:

    GetQuestVariable Quest: 'Charactergen', tauntCount == 1.00

    Which is the "characterGen.tauntCount":er we mentioned above. Right now it's set to "1.00", which is the second line his says because the counter default is "0.00". We'll need it to be "0.00" or else he won't say anything at all once we try it out in game, so go ahead and edit it:

    GetQuestVariable Quest: 'Charactergen', tauntCount == 0.00

  9. Press OK and save the changes, then try it out in the game. Start a new game and at the character creation screen, choose the race you've created (Demon in this case, or the name for Demon). If you've done everything correctly, the prisoner in the cell on the opposite side of your should start saying:

    "You know, my time's almost up. Pretty soon I'll be free, and you'll still be stuck in this rat hole, waiting for your execution."

    and then

    "Hey, you hear that? The guards are coming... for you! He he he he he."

    which would be followed by the guards coming to your cell, and that would mean we've fixed the introduction script for your new race. Congrats!

No comments: