DiodeLadder Posted May 26, 2019 Posted May 26, 2019 Hi guys, I'm working on a quest involving a sort of fantasy location, and I'm wondering if there's a way to stop in-game time from advancing while the player is in this quest location. I know there's a console command for manipulating timescale, but I couldn't find anything for papyrus script. I guess I would need to 1) find out the current timescale (not everybody plays default, so I would need the value to return it to), 2) and set it to zero only while the player is in this quest location. Another question is - would it be safe to do this, provided it's doable, in terms of being compatible with whatever other ongoing quests and scripts? Would there be some problems I should be aware of? If stopping in-game time isn't possible, I still want to be able to suspend settlement attacks, and hunger/thirst effects in HC mode. While testing the location in-game, I thought those things popping up made no sense because of the context. Would there be a way to achieve that? Thanks. :smile:
SKKmods Posted May 26, 2019 Posted May 26, 2019 Thats no problem:GlobalVariable Property pTimescale Auto Const mandatory Float fOriginalTimescale Function StopTime() fOriginalTimescale = pTimescale.GetValue() pTimescale.SetValue(0) EndFunction Function StartTime() If fOriginalTimescale > 0 pTimescale.SetValue(fOriginalTimescale) Endif EndFunctionBut, setting game time to zero can cause issues with physics and some other platform ticks and tocks. I have run with 1 for limited testing and 6 for highly invested games.
DiodeLadder Posted May 26, 2019 Author Posted May 26, 2019 Ah, thank you very very much for your help with this, SKK!! I was hoping that you'd be around. :-) Silly me, I didn't realize TimeScale is a global. I'll try with minimizing the timescale instead of zero as you say. Whew, this is another question mark resolved for this quest. :laugh:
Recommended Posts