LordXayd Posted December 18, 2014 Share Posted December 18, 2014 Thought I was going to build this entire mod all by my lonesome, but the last goody I put in has me scratching head. Effectively, I'm just trying to make the script pause between executions. Wait 6 seconds, do ABC. Wait 10 more seconds, do DEF. Wait 5 more seconds, do GHI. But all my testing is just not getting it done. Here is the vanilla example script: float timer begin gamemode if timer < 5 set timer to timer + GetSecondsPassed else ;5 seconds have passed, do something special set timer to 0 endif end I was thinking something along these lines... float timer begin gamemode if timer < 6 set timer to timer + GetSecondsPassed else ;6 seconds have passed, do ABC set timer to 7 endif if timer < 17 set timer to timer + GetSecondsPassed else ;10 more seconds have passed, do DEF set timer to 18 endif if timer < 23 set timer to timer + GetSecondsPassed else ;5 more seconds have passed, do GHI set timer to 0 endif end I can tell you that Fallout 3 doesnt like that script very much. It acts like the script is on a loop that eventually crowbars the game. Specifically, it'll do the first timer grouping, but not the 2nd or 3rd. My experience tells me that I have the right command set, but I've gone completely in the wrong direction here. I've actually tried quite a few different techniques, but this is probably the worthiest of pasting up here for assistance. I accept any and all condemnation, provided I'm steered onto the righteous path :D Link to comment Share on other sites More sharing options...
JW1 Posted December 18, 2014 Share Posted December 18, 2014 Remove the 'set timer to 7' and 'set timer to 18'. You don't need them. The 'set timer to 7' is causing timer to be stuck at 7, hence the never-ending loop. Also, do you want these things to go on being done indefinitely? As it stands, after you fix it, this script will just go on doing ABC - DEF- GHI over and over forever. Link to comment Share on other sites More sharing options...
LordXayd Posted December 18, 2014 Author Share Posted December 18, 2014 (edited) I just wanted the sequence to be done once. And thank you for the refinements. Edited December 18, 2014 by LordXayd Link to comment Share on other sites More sharing options...
LordXayd Posted December 19, 2014 Author Share Posted December 19, 2014 I eliminated the timer sets, which did help. The script runs to completion, but it's still wonky. Specifically:The first timer set (6) runs.The second timer set (17) runs.The third timer set (23) runs.The first timer set (6) runs again.Then it looks like the script is over.There's no apparent evidence that the 2nd or 3rd sets run again, nor does the game start locking up.I tried a few experiments with this:Combining them all into one block with sub-if/endifsSetting the 2nd and 3rd timer sets to == instead of < and dumping the GetSecondsPassed line.Both of these worsened the situation, so I reverted back to just having removed the timer sets of 7 and 18.All I really want to do here is have three different things go off in order, with some seconds in between. Just one time per activation. Link to comment Share on other sites More sharing options...
LordXayd Posted December 19, 2014 Author Share Posted December 19, 2014 I think I just got it.I put the timer sets into 3 sequential run blocks.Seems to be working now. Link to comment Share on other sites More sharing options...
blove Posted December 21, 2014 Share Posted December 21, 2014 Staged Timers at cipscis.com has some great information. Link to comment Share on other sites More sharing options...
Recommended Posts