Jump to content

Recommended Posts

Posted

"There are no threads in this forum yet", sheesh, so I'm the first one? :stare:

Wonder if anyone can help with a script in Fallout 3. I want a script which shall honor my character's birthday. Like, it gets to August 13 in game and a MessageBox pauses the game. "Today is Cho's birthday." it says. Here's what I got. First part of the script is supposed to trigger the messagebox, the second part is a timer which resets everything once the messagebox has displayed. 

 

------------------------------------------------------------------------------------------------------

scn aaaCharacterBirthdayScript

short Day
short Month
short DoOnce
short StartDay
short Timer

Begin GameMode

If (Month == 7) && (Day == 12)
If (DoOnce == 0)

ShowMessage aaaChosBirthdayMessage
Set DoOnce to 1

EndIf
EndIf

;---------------------------------------------

If (DoOnce == 1)
If (Timer == 0)
Set StartDay to GameDaysPassed
SetTimer to 1


EndIf
EndIf

If (DoOnce == 1) && (Timer == 1)
If ((GameDaysPassed - StartDay) >=1)
Set Timer to 0
Set DoOnce to 0


EndIf
EndIf

End

000000000000000000000000000000000000000000000

 

Nothing happens of course, which is why I am here. :cry: I've also tried GameDay and GameMonth for variables but those don't compile at all. Any ideas? 

 

Posted

You need to fill the variables you declared as Month and Day.

Posted

Thanks. Haven't had a chance to try this yet, but will eventually. 

  • 4 weeks later...
Posted (edited)

Solution, all I had to do was remove "short" declarations of GameDay and GameMonth. Those are already global. 

 

(Thanks to ghastley for this explanation). 

 

scn aaaCharacterBirthdayScript

short DoOnce
short StartDay
short Timer

Begin GameMode

If (GameMonth == 0) && (GameDay == 22)
If (DoOnce == 0)

ShowMessage CharacterBirthdayNameMessage

 

Set DoOnce to 1

 
EndIf
EndIf

 

If (DoOnce == 1)
If (Timer == 0)

Set StartDay to GameDaysPassed

 

Set Timer to 1

 

EndIf
EndIf

If (DoOnce == 1) && (Timer == 1)
If ((GameDaysPassed - StartDay) >=1)

Set Timer to 0

 

Set DoOnce to 0

 

EndIf
EndIf

End

Edited by Renee G

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...