I realize this is not the best project to start with but I like a challenge. I haven't really done any scripting for F3 before, but this code seems to be somewhat logical. I have however ran into a bunch of problems that do not make sense to me and some help would be appreciated.
The problem:
When I click on New Game my screen goes black. I do not get the usual Fallout 3 intro video before the birth scene. On the black screen I can see my hud, the crosshair and the mouse cursor. The game will remain in this state forever if I do nothing. However, if I press Esc twice to go to the menu and back into the game all the scripts kick in and the quest executes successfully. Now I'm in game, spawning somewhere outside Big Town, but theres another problem. If I choose to play a female character I spawn as a female but my character's animations are male. The sounds and the model are female though.
I have only edited the CG00 quest and the CG00SCRIPT script - replaced the stages and rewrote the script behind it.
So, with that said:
1) SOLVED What object plays the intro video? As far as I can tell I never disabled it yet it doesn't play. I suspect this is causing the problem in point 2 below.
2) SOLVED Why do I have to press Esc twice before stage 0 of CG00 is executed? I can't even manually start this quest using the console as it will simply not run before I visit the main menu once.
3) SOLVED Why does my female character use the male animations? I thought animations were taken care of elsewhere?
Note: Since I'm a rookie, I've studied and used code from Bethesda and Darkfirebird's DFB Randomized Start mod. The code used to set up the character should be more or less identical to what Bethesda uses in CG00. Darkfirebird's mod also has the problem stated in point 3 above. This mod is intended for personal use only.
The script I'm using in CG00:
The stages themselves have no Result Scripts assigned to them.
scn CG00SCRIPTshort spawnshort sixshort raceshort nameshort specialshort tagskillsshort buttonbegin gamemode if getstage CG00 == 0 if spawn == 0 ;SetLocationSpecificLoadScreensOnly 1 player.moveto ASCharGenSpawn set spawn to 1 elseif spawn == 1 ;SetInCharGen 1 disableplayercontrols setstage CG00 10 endif endif if getstage CG00 == 10 if six == 0 showmessage CG00ChoosesixMessage set six to 1 elseif six == 1 set button to GetButtonPressed if button == 0 player.sixchange male 1 setstage CG00 11 elseif button == 1 player.sixchange female 1 setstage CG00 11 endif endif endif if getstage CG00 == 11 if race == 0 ShowRaceMenu set race to 1 elseif race == 1 MQDadREF.MatchRace player MQDadREF.MatchFaceGeometry player CGMatchFace setstage CG00 12 endif endif if getstage CG00 == 12 if name == 0 GetPlayerName set name to 1 elseif name == 1 setstage CG00 13 endif endif if getstage CG00 == 13 if special == 0 SetSPECIALPoints 40 set special to 1 elseif special == 1 setstage CG00 14 endif endif if getstage CG00 == 14 if tagskills == 0 SetTagSkills 3 set tagskills to 1 elseif tagskills == 1 setstage CG00 200 endif endif if getstage CG00 == 200 if spawn == 1 player.additem pipboy 1 player.equipitem pipboy 0 1 ResetPipboyManager player.additem 0003885C 1 ;INT bobblehead, this doesn't work properly yet SetInCharGen 0 set spawn to 2 elseif spawn == 2 ;SetLocationSpecificLoadScreensOnly 0 startQuest MS16 set RadioGalaxyNewsQuest.CG04Done to (GameDaysPassed + 1) setstage MQ01 10 enableplayercontrols player.moveto ASWorldSpawn1 stopQuest CG00 endif endifend