Trying to edit CG00 to skip the Vault 101 tutorial.

Post » Fri Apr 08, 2011 6:31 am

Hello,

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

User avatar
danni Marchant
 
Posts: 3420
Joined: Sat Oct 07, 2006 2:32 am

Post » Thu Apr 07, 2011 7:50 pm

Well ....

You did pick a scary thing to start with, the .exe is probably doing special things in the birth scene and so on. Maybe even hardcoded things.

I can't read and make suggestions about your script because it's messing with a process that I do not have a good understanding of and could be outside of what the GECK is primed to make big changes to.

If you're editing stuff involving the CG00 birth scene, you will want to take that very slowly and carefully, such as - - going back to Bethesda's unmodified script, making one change at a time, and verifying at each change that you didn't break anything.
User avatar
electro_fantics
 
Posts: 3448
Joined: Fri Mar 30, 2007 11:50 pm

Post » Thu Apr 07, 2011 10:09 pm

I believe the whole scene is not hardcoded. It is run by scripts, just in weird places. I know alot of people who have gotten rid of, tweaked, and even entirely redone the opening cutscene, so its entirely possible you just have to take time to figure out their scripts. I am not sure what would play the video, but it is done with the 'playbink' command, so look for that. I did not see it in the above script. The only thing that is hardcoded I believe, is just what script to start with. It loads you into an empty cell or something, then runs the defaulted script, so if you can find that, you can change everything. But like with Tarrant I do not know these scripts very well, so most of this is simply educated guessing.
User avatar
Charleigh Anderson
 
Posts: 3398
Joined: Fri Feb 02, 2007 5:17 am

Post » Thu Apr 07, 2011 8:16 pm

I believe the whole scene is not hardcoded. It is run by scripts, just in weird places. I know alot of people who have gotten rid of, tweaked, and even entirely redone the opening cutscene, so its entirely possible you just have to take time to figure out their scripts. I am not sure what would play the video, but it is done with the 'playbink' command, so look for that. I did not see it in the above script. The only thing that is hardcoded I believe, is just what script to start with. It loads you into an empty cell or something, then runs the defaulted script, so if you can find that, you can change everything. But like with Tarrant I do not know these scripts very well, so most of this is simply educated guessing.


Even though I have not come across a single playbink command yet it may be able to take me forward, thank you. From what I've seen now I'd say your theory is correct. The script in the original CG00 would suggest that the player is spawned somewhere, and then moved to where the player is born from within that quest. It would also seem the first thing to be executed is stage 0 of CG00 as I have not found anything starting that quest inside the GECK.

I can go back and try what Blackfirebird did in his script - starting another quest from stage 0 of CG00. I was assuming I could "overwrite" the original quest simply because Blackfirebird also commented out the line that set the stage of the CG00 quest to 5, effectively stopping that quest from proceeding. Which would mean both of our scripts should have had an identical result.

I take it the animation issue also remains a mystery?
User avatar
Jessica Lloyd
 
Posts: 3481
Joined: Fri Aug 25, 2006 2:11 pm

Post » Thu Apr 07, 2011 9:59 pm

Use >Edit >Find Text...
There are 4 places its used:
Quests:
CG01, CG02, CG03, CG04
Script:
EndingBinksScript

Changing CG00 probably should do what you want.
User avatar
Andrea P
 
Posts: 3400
Joined: Mon Feb 12, 2007 7:45 am

Post » Fri Apr 08, 2011 2:48 am

It is not all hardcoded (I've worked a little with CG00) but the thing is. All it takes is some of it being hardcoded and, if you mess it up, you won't necessarily understand how you're breaking it if you don't take it in small steps.

Like, the scene where you blow up megaton from Tenpenny's balcony. Part of the guts of the explosion is hardcoded. And it's possible to make strange and unpredictable things happen (such as cause scripts to stop working) by making the wrong, tiny changes in the Megaton area. I know because I did that on accident in Phalanx once, and I was preventing the nuke explosion at Megaton from being visible.

All I was suggesting is making such changes in small increments so that if/when you break it, you know what did it.
User avatar
Sara Johanna Scenariste
 
Posts: 3381
Joined: Tue Mar 13, 2007 8:24 pm

Post » Fri Apr 08, 2011 1:51 am

I have managed to solve the animation problem. SetPCYoung 1 solves the problem after which you can set it back to 0 again. I should probably inform Darkfirebird about this discovery.

Still working on the intro video issue. Making small changes is a good idea, but it might be easier said than done.

Edit: I have more information:

1) Disabling the intro video does not fix the problem. So there is something else stopping my code from executing.

2) Both the into video file and the ID of the CG00 quest is specified in the FALLOUT.INI file. To disable the intro video, simply remove the sIntroMovie -line.
SCharGenQuest=0001f388sIntroMovie=Fallout INTRO Vsk.bik

User avatar
flora
 
Posts: 3479
Joined: Fri Jun 23, 2006 1:48 am

Post » Thu Apr 07, 2011 6:37 pm

I have successfully worked around the problem. When the game is stuck in the black screen state I can resume normal execution of the CG00 quest by issuing the CloseAllMenus command.

Now, even though my script might be working somewhat properly, I'm still confused:

1) Where did the intro video go?

2) Why is my code stuck in menumode when the original CG00 works just fine (and there is no CloseAllMenus command).

3) What is the purpose of this "endless/pointless loop" in the original CG00 code?
begin menumode	; if starting at CG00	if getStage CG00 < 5		setstage CG00 0	endifend

To me this code translates to: when the stage is 0 (there is only one stage below 5: 0), set it to 0 and spam this on every frame as long as the game is in the menumode. In other words, do nothing. It would make more sense if there was a "leave menumode" command there.
User avatar
Laura Elizabeth
 
Posts: 3454
Joined: Wed Oct 11, 2006 7:34 pm

Post » Fri Apr 08, 2011 5:36 am

I have successfully worked around the problem. When the game is stuck in the black screen state I can resume normal execution of the CG00 quest by issuing the CloseAllMenus command.

Now, even though my script might be working somewhat properly, I'm still confused:

1) Where did the intro video go?

2) Why is my code stuck in menumode when the original CG00 works just fine (and there is no CloseAllMenus command).

3) What is the purpose of this "endless/pointless loop" in the original CG00 code?
begin menumode	; if starting at CG00	if getStage CG00 < 5		setstage CG00 0	endifend

To me this code translates to: when the stage is 0 (there is only one stage below 5: 0), set it to 0 and spam this on every frame as long as the game is in the menumode. In other words, do nothing. It would make more sense if there was a "leave menumode" command there.


Yep CloseAllMenus is console only, unfortunately. I wish I could use it in scripts, I have several uses for it.

CG00 is weird. If the .exe is cueing parts of it (which i continue to expect), that makes it all the weirder. That endless loop is certainly not pointless code if Bethesda had it there and the game moves forward properly in vanilla (unedited). And the video seems that it could be wrapped up in it that sort of deal too.

That whole CG00 deal is not an easy sequence to follow, for sure. I'm decent at scripting and I'm not up for guessing what is up with some of that stuff. - especially if the .exe itself has a hand in it.
User avatar
Jerry Cox
 
Posts: 3409
Joined: Wed Oct 10, 2007 1:21 pm

Post » Fri Apr 08, 2011 12:54 am

I solved the remaining 2 problems. The intro video plays, for some reason, and the game no longer gets stuck at the black screen. I simply moved my code for stage 0 from gamemode to menumode and it works perfectly. Apparently player.moveto removes the game from menumode allowing my code to resume exeuction at the gamemode block. I do not understand how Bethesda pulled this off in the way they did but at least the code works now, and it's almost in it's original clean state too :thumbsup:

begin menumode	if getstage CG00 == 0			SetInCharGen 1			disableplayercontrols			player.moveto ASCharGenSpawn			setstage CG00 10	endifendbegin gamemode	;if getstage CG00 == 0	;		SetInCharGen 1	;		disableplayercontrols	;		player.moveto ASCharGenSpawn	;		setstage CG00 10	;endif	if getstage CG00 == 10--- etc. -----------------------------------------


Thanks for all the help.

Full source and ESP available on demand (email or PM).
User avatar
Chloe Botham
 
Posts: 3537
Joined: Wed Aug 30, 2006 12:11 am

Post » Fri Apr 08, 2011 5:02 am

Seems like whenever I solve one problem I gain another...

To put it simple, the main menu music keeps looping and there is only one way to get rid of it, temporarily - turn the pipboy radio on and off. When my script is loaded the main menu music keeps playing in an endless loop right after the intro video of a new game. What's worse is that this problem transfers to the savegames too. Any save that is made, even if the loop has been stopped, will have this problem too! The music won't stop after the load is complete. I can stop the music after the intro video by setting my chargen cell to have no music (1NoMusic), but the save's are still corrupted.

I have seen this problem before, 2 or 3 times at the gate of Megaton (loooong time ago, before I had any mods or DLC's at all). Loading the autosave generated when entering Megaton sometimes kept the menu music playing - I figured this was a sign of an "almost corrupted" save.

The question is: Is this familiar to anyone? any hints? tips? anything?

Edit: I've tried:
1) Delay the first menu (in my script) from showing up with up to 10 seconds. The music was playing long before this.
2) Disabled all menus from displaying and just sendt the character straight to the wasteland via the chargen room.
3) Sending the character via the chargen room to the wasteland using the console (this time only the saves were corrupted).
4) Removed my script. Set the original CG00 to stop itself and start another quest which only moved the player to the chargen room.
User avatar
IsAiah AkA figgy
 
Posts: 3398
Joined: Tue Oct 09, 2007 7:43 am

Post » Fri Apr 08, 2011 12:48 am

Seems like whenever I solve one problem I gain another...


Welcome to modding. :P

It sounds odd, and I would guess if it only started recently that somewhere in the scripts you have deleted or altered a part of it that stops the menu music when you load into the game? Does this only happen you start a new game or also when you load any saves throughout the entire game?
User avatar
Josephine Gowing
 
Posts: 3545
Joined: Fri Jun 30, 2006 12:41 pm

Post » Thu Apr 07, 2011 8:01 pm

Welcome to modding. :P

It sounds odd, and I would guess if it only started recently that somewhere in the scripts you have deleted or altered a part of it that stops the menu music when you load into the game? Does this only happen you start a new game or also when you load any saves throughout the entire game?


I believe it has been there from the start, I just didn't notice it until now.

Well obviously I have removed something that stops the music. But I believe it's way more complicated than that. For starters, there doesn't seem to be a command for stopping sounds or music. My best bet is that the music that is currently playing in a loop is not stopped because of . Not that the game thinks it's still in the main menu or something. Explains why the savegames are corrupted too - it says play this music, and it plays it. What I don't understand in all this is why Bethesda made things so complicated. Stopping CG00 from executing or stopping it at stage 0 seems to be the key though. Problem is, nothing from CG00 to the end of CG04 have anything to do with audio, and the code is essentially identical to mine apart from the dialogs and endless waiting.

Edit: Tried to play the birth sound during chargen. While it stopped the main menu music from playing, the saves are still corrupted.
User avatar
sophie
 
Posts: 3482
Joined: Fri Apr 20, 2007 7:31 pm

Post » Fri Apr 08, 2011 6:49 am

http://www.fallout3nexus.com/downloads/file.php?id=1115
User avatar
Dominic Vaughan
 
Posts: 3531
Joined: Mon May 14, 2007 1:47 pm

Post » Fri Apr 08, 2011 7:42 am

http://www.fallout3nexus.com/downloads/file.php?id=1115


Whoa... an ar1z sighting! I havn't seen you since the world space creation guide!

Welcome back. :)
User avatar
Hairul Hafis
 
Posts: 3516
Joined: Mon Oct 29, 2007 12:22 am

Post » Thu Apr 07, 2011 10:07 pm

http://www.fallout3nexus.com/downloads/file.php?id=1115


I will be studying this one, thank you. Even if this might accomplish what I'm looking for I'd still like to solve this problem.
User avatar
Melanie Steinberg
 
Posts: 3365
Joined: Fri Apr 20, 2007 11:25 pm

Post » Fri Apr 08, 2011 2:35 am

Whoa... an ar1z sighting! I havn't seen you since the world space creation guide!

Welcome back. :)


With New Vegas about to be released this fall, I decided to refresh my memory for FO3 modding. I 've been keeping an eye on the forums from time to time, but after the disappointment worldspace creation proved out to be, I lost interest in modding. Now I have some new ideas and a slow summer to get back to modding though.

I will be studying this one, thank you. Even if this might accomplish what I'm looking for I'd still like to solve this problem.


You are welcome. I don't really remember the scripts but feel free to ask if you have any questions.
User avatar
alicia hillier
 
Posts: 3387
Joined: Tue Feb 06, 2007 2:57 am


Return to Fallout 3