Stuff persists through a save game

Post » Tue May 17, 2011 3:06 am

Alright, so here's the scenario:

I am standing in the Tamriel Worldspace.
I enter an interior cell.
In the cell once I reach a certain xmarker two turrets appear that shoot fireballs.
Once 15 seconds pass the turret stop working and the player is free to move forward.

The problem occurs if I get killed by the two turrets and load an older game, or rather load a saved game that puts me in the starting position before I went into this cell (in Tamriel, a different worldspace). Once I enter the cell the second time the turrets are still firing as if I didn't die. Quite odd. Any idea what might cause this? Is it possible that a quest script persists through a save game if it's long and didn't finish running? The fquestdelaytime is 0.01 if it matters.
User avatar
Rob Smith
 
Posts: 3424
Joined: Wed Oct 03, 2007 5:30 pm

Post » Tue May 17, 2011 9:11 am

Alright, so here's the scenario:

I am standing in the Tamriel Worldspace.
I enter an interior cell.
In the cell once I reach a certain xmarker two turrets appear that shoot fireballs.
Once 15 seconds pass the turret stop working and the player is free to move forward.

The problem occurs if I get killed by the two turrets and load an older game, or rather load a saved game that puts me in the starting position before I went into this cell (in Tamriel, a different worldspace). Once I enter the cell the second time the turrets are still firing as if I didn't die. Quite odd. Any idea what might cause this? Is it possible that a quest script persists through a save game if it's long and didn't finish running? The fquestdelaytime is 0.01 if it matters.

I didn't quite understand that :D Do you want the turrets to be inactive if a saved game is loaded? Or what? :D
User avatar
clelia vega
 
Posts: 3433
Joined: Wed Mar 21, 2007 6:04 pm

Post » Tue May 17, 2011 6:46 am

The game is known to act awkward when you load another save without exiting the game. So maybe that could be the reason of your problem. Maybe you could fix it by having some extra checks in the script or having begins other then GameMode?
User avatar
benjamin corsini
 
Posts: 3411
Joined: Tue Jul 31, 2007 11:32 pm

Post » Tue May 17, 2011 1:34 am

I noticed that Morrowind likes to flush the game data before loading a save. Oblivion doesn't seem to do that, nor does Fallout 3. It's a good feature that needs to return.
User avatar
Nancy RIP
 
Posts: 3519
Joined: Mon Jan 29, 2007 5:42 am

Post » Tue May 17, 2011 7:41 am

The game is known to act awkward when you load another save without exiting the game. So maybe that could be the reason of your problem. Maybe you could fix it by having some extra checks in the script or having begins other then GameMode?


That is the problem exactly. If I exit the game and load the same save it works properly, but if I load it without exiting than it glitches. The problem is that the quest I'm currently working on is heavily run by a script, as practically every 20 steps the player takes something happens, either a message box appears or an activator does something, which is why the script is important. The checks work, in fact everything works flawlessly as long as you don't die or reload, and even then it works as long as you exit the game and start it again.

The problem is that the quest is rather difficult and players which aren't careful (and since this is Oblivion, players generally aren't careful) will die at least a few times before they realize they need to slow down. Now, while completely restarting the game is an option I really can't expect that much patience from the users. Is there any way to regulate this? Has anyone had a similar problem and has managed to fix it?
User avatar
Juan Cerda
 
Posts: 3426
Joined: Thu Jul 12, 2007 8:49 pm

Post » Tue May 17, 2011 2:09 pm

Like I said, you could introduce some command that will reset the script (or just a step in the script) on player's death.
Maybe some scripting guru will give you better and more useful advice, sorry.
User avatar
sas
 
Posts: 3435
Joined: Thu Aug 03, 2006 8:40 am

Post » Tue May 17, 2011 1:42 am

The problem with that is that I can't detect when the player has last saved, and even then I can't detect if he'll load his last save. If a player has saved at the 3rd stage of the cell and I reset the variables so it acts like the player didn't yet enter the cell, well, I have a problem.
User avatar
Brandon Bernardi
 
Posts: 3481
Joined: Tue Sep 25, 2007 9:06 am

Post » Tue May 17, 2011 9:25 am

OBSE's GetGameLoaded and GetGameRestarted give you ways to re-initialize your variables for these situations. Your problem is going to be determining how far the player got before the reload, but I imagine you're using trigger zones and the like, so it should just be a question of saying "if he's reached here, he must have gone through..." to get reset.
User avatar
Samantha Jane Adams
 
Posts: 3433
Joined: Mon Dec 04, 2006 4:00 pm


Return to IV - Oblivion