Renee G Posted December 4, 2024 Posted December 4, 2024 "There are no threads in this forum yet", sheesh, so I'm the first one? 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. I've also tried GameDay and GameMonth for variables but those don't compile at all. Any ideas?
hlp Posted December 5, 2024 Posted December 5, 2024 You need to fill the variables you declared as Month and Day.
Renee G Posted December 9, 2024 Author Posted December 9, 2024 Thanks. Haven't had a chance to try this yet, but will eventually.
Renee G Posted January 3 Author Posted January 3 (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 January 3 by Renee G
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now