Khet Posted July 11, 2009 Share Posted July 11, 2009 Right, while back I was working on a mod called Evanore Island. I dropped it (and Oblivion alltogether) once Fallout 3 was released. Well, decided to launch up Oblivion again and resume that mod. Now, there's a problem that I have never been able to fix, so hopefully one of you can help me out with this. Basically, the simple premise of the mod is the construction of a town. After a construction stage begins the player must wait X amount of days before it's finished. Now, here's the problem and where I hope someone can help me. Currently, if the player uses the wait menu to make the time go quicker then between each wait you need to stop for five to ten seconds before using wait again, otherwise the script won't be able to update. Is there a way to allow the script to update even if they don't pause between each wait? Again, I need a way to get the script to update during a wait period. Because of the way Bethesda handles scripts if you don't pause between each wait the script never has a chance to update. Something also tells me this isn't as simple as adding the same block to a Begin MenuMode since it would collide with the GameMode version and result in ultra fast construction. I really feel this is the main thing that's really holding back the true potential of this mod. It's a very annoying bug when you find out you have to wait another day because you didn't pause long enough before using wait again. Credit and kudos to anyone who can fix this! Here's the relevant part of the script if it'll help fix this little deal. Yes, I know the formatting is horrible. All of this was written when I was first learning scripting and I haven't finished cleaning the script up yet, forgive me! Short DoOnce1 Short DayCount Short CurrentDay Begin GameMode ;This is the block for the first house to be constructed If DoOnce1 == 0 && GetStage EITownCon == 10 If CurrentDay == 0 Set CurrentDay to GameDay Elseif CurrentDay != GameDay Set DayCount to DayCount + 1 Set CurrentDay to GameDay If DayCount == 3 EHouseRef01.Enable ETent01.Disable Ptal.MoveToMarker PHouse Set DoOnce1 to 1 Set DayCount to 0 Setstage EITownCon 11 Set CurrentDay to 0 endif endif endif endif End Link to comment Share on other sites More sharing options...
XJDHDR Posted July 12, 2009 Share Posted July 12, 2009 You could either make the script update more often or make the script run in menumode as well as gamemode (having it run in menumode too should not make the house get built faster. For faster updates:Add "Float fQuestDelayTime" to your list of variablesAdd this code somewhere in your scriptIf fQuestDelayTime != xx Set fQuestDelayTime to xx EndIfwhere xx means the script updates once every xx seconds (I would suggest 1 or 0.5 in this case). For menu and game mode functionality:Replace "Begin Gamemode" with "Begin Gamemode || Menumode" I hope this solves your problem. Link to comment Share on other sites More sharing options...
Khet Posted July 13, 2009 Author Share Posted July 13, 2009 Hmm, think I used the FQuestDelayTime at one point and found out it didn't work but I could easily be mistaken. I'll just have to give it another shot. Link to comment Share on other sites More sharing options...
BadPrenup Posted July 13, 2009 Share Posted July 13, 2009 yeah you need to use that it should work... I always use set fQuestDelayTime to .01 so it is sure to update every frame. It never runs more then once per frame. Link to comment Share on other sites More sharing options...
Recommended Posts