WatchingGuy Posted July 13, 2019 Share Posted July 13, 2019 (edited) Test #1- Removed WMVM, made a clean save, game still froze then crashed. Here's the generated NVAC log:13173841 _ NewVegasAntiCrash FalloutNV.exe13173841 _ 03D50000 07050000 nvac.dll13173841 _ 08900000 05010040 nvse_1_4.dll13173841 _ 770E0000 06032580 ntdll.dll13173850 ; DEFAULT: Unknown file type on file 013173922 h 00C5CE67 8B018902 FalloutNV.exe13173922 h 00C5CE6E 8B118955 FalloutNV.exe13173922 h 00C5C9F4 8B423083 FalloutNV.exe13173922 h 00C5CA1E D94164D9 FalloutNV.exe13173922 h 00C31D0E F3A58B73 FalloutNV.exe13173922 h 00C5CE67 8B018902 FalloutNV.exe13173922 h 00C5CE6E 8B118955 Fall~TRUNCATE _13174004 h 00C5CE67 8B018902 FalloutNV.exe13174004 h 00C5CE6E 8B118955 FalloutNV.exe13174004 h 00C5CE67 8B018902 FalloutNV.exe13174004 h 00C5CE6E 8B118955 FalloutNV.exe13174004 h 00C5CE67 8B018902 FalloutNV.exe13174004 h 00C5CE6E 8B118955 FalloutNV.exe13174004 h 00C5CE67 8B018902 FalloutNV.exe13174004 h 00C5CE6E 8B118955 FalloutNV.exe13174004 h 00C5CE67 8B018902 FalloutNV.exe13174004 h 00C5CE6E 8B118955 FalloutNV.exe13174004 h 00C5CE67 8B018902 FalloutNV.exe13174004 h 00C5CE6E 8B118955 FalloutNV.exe13174004 h 00C5CE67 8B018902 FalloutNV.exe13174004 h 00C5CE6E 8B118955 FalloutNV.exe13174004 h 00C5CE67 8B018902 FalloutNV.exe13174004 h 00C5CE6E 8B118955 FalloutNV.exe13174004 h 00C5CE67 8B018902 FalloutNV.exe13174004 h 00C5CE6E 8B118955 FalloutNV.exeIm not that good at Deciphering the log but I know that "h" entries are exceptions identified Heuristically by NVAC's "global" exception handler, sometimes handled unsuccessfully. Test #2 Removed LootMenu. same outcome. NVAC log: 13180605 _ NewVegasAntiCrash FalloutNV.exe13180605 _ 07FA0000 07050000 nvac.dll13180605 _ 08900000 05010040 nvse_1_4.dll13180605 _ 770E0000 06032580 ntdll.dll13180614 ; DEFAULT: Unknown file type on file 013180702 h 00C5C9F4 8B423083 FalloutNV.exe13180702 h 00C5CA1E D94164D9 FalloutNV.exe13180702 h 00C31D0E F3A58B73 FalloutNV.exe13180702 h 00C5C9F4 8B423083 FalloutNV.exe13180702 h 00C5CA1E D94164D9 FalloutNV.exe13180702 h 00C31D0E F3A58B73 FalloutNV.exe13180702 h 00C5C9F4 8B423083 Fall~TRUNCATE _13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe Log is longer but lines do repeat.Test #3 proved that this isnt a mod conflict, or at least that not these mods are the problem. Removing AVOP didnt change the outcome. NVAC log: 13180605 _ NewVegasAntiCrash FalloutNV.exe13180605 _ 07FA0000 07050000 nvac.dll13180605 _ 08900000 05010040 nvse_1_4.dll13180605 _ 770E0000 06032580 ntdll.dll13180614 ; DEFAULT: Unknown file type on file 013180702 h 00C5C9F4 8B423083 FalloutNV.exe13180702 h 00C5CA1E D94164D9 FalloutNV.exe13180702 h 00C31D0E F3A58B73 FalloutNV.exe13180702 h 00C5C9F4 8B423083 FalloutNV.exe13180702 h 00C5CA1E D94164D9 FalloutNV.exe13180702 h 00C31D0E F3A58B73 FalloutNV.exe13180702 h 00C5C9F4 8B423083 Fall~TRUNCATE _13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180726 h 00C5CE67 8B018902 FalloutNV.exe13180726 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe13180727 h 00C5CE6E 8B118955 FalloutNV.exe13180727 h 00C5CE67 8B018902 FalloutNV.exe I am starting to think that this could be some ini problem or the fact that my mods need adequate cleaning with xedit. I also did clean all the DLC's with xEdit QuickAutoClean, before installing any mods, but I am not sure how that could be the problem. I guess I'll have to look into the log file more carefully Edited July 13, 2019 by WatchingGuy Link to comment Share on other sites More sharing options...
dubiousintent Posted July 13, 2019 Share Posted July 13, 2019 Cleaning of the original and DLC game files are not recommended. The "xEdit QuickAutoClean" process is most likely to avoid the pitfalls, but I never attempted to clean them and that is another difference between our setups. I've isolated the following to be unique entries that repeat in all three NVAC logs. (The log entry lines are truncated down to just the exception address and the exception code within the game's code for isolation/comparison purposes.) They indicate a problem unrelated to those mods at least.DEFAULT: Unknown file type on file 000C5C9F4 8B423083 FalloutNV.exe00C5CA1E D94164D9 FalloutNV.exe00C31D0E F3A58B73 FalloutNV.exeTRUNCATE _00C5CE67 8B018902 FalloutNV.exe00C5CE6E 8B118955 FalloutNV.exeThe exceptions are occuring primarily within the "00C5" and the one instance in the "00C3" block. Those blocks are starting at the 12MB decimal addresses:00c50000[12910592]00c30000[12779520]The "exception codes" are:8B423083D94164D9F3A58B738B0189028B118955They are not standard "Windows" exception codes. Queued (the author of NVAC) is the most likely person to be able to interpret the exception codes, but all their mod is really doing is intercepting and logging errors and not interpreting them. With 6,700+ comments mostly reporting similar errors, that's too much to expect of any mod author.Just on the off-chance I searched the forum thread for each of the "exception codes" but only found one instance reporting "8B118955" but in the "0044" memory block. Unfortunately it never received a response that I could see. Consequently it seems you will have to perform "conflict isolation" to determine the cause. You would most likely have to remove all mods, then re-install them one at a time to your "load order" and check the NVAC log after launching with each addition to isolate what is causing them (assuming it is not a part of the base game code). -Dubious- Link to comment Share on other sites More sharing options...
WatchingGuy Posted July 13, 2019 Share Posted July 13, 2019 Thanks for your research and help with trying to fix this problem. I'll try figuring something out, before going to the extreme of removing all my mods, and adding them one by one. Its just a tedious process that just makes me think Why am I even breaking my neck trying to fix a problem I am not capable of resolving. Maybe I'll just try skipping that area, and pray that that's not a permanent problem, if so, then going back to the mojave and forgetting about Lonesome Road seems like the best idea. Thanks again. Link to comment Share on other sites More sharing options...
zhokar Posted July 21, 2019 Share Posted July 21, 2019 (edited) My advice would be to check the mods most recently updated before you used them for your setup. It looks to be a pretty rare issue that I cannot find anything older on than this thread. My money is on some recent mod patch causing the issue. It's a bit suspicious that you'd find nothing at all about a bug as big as this but since March 2019 there's enough incidents to fill a thread. New issue.I've been putting my playthrough off for now because Lonesome Road is quite frankly unplayable. Edited July 21, 2019 by zhokar Link to comment Share on other sites More sharing options...
francksteel Posted July 28, 2019 Share Posted July 28, 2019 (edited) Hello,I have the same problem. I solved it by modding the script NVDLC04TunnelCodeHolderSCRIPT so the tunnelers don't appear (complete script in the spoiler) You still hear them, ED-E beeps when near their spots, but no freezes, no encounter... I'm quite sure there is a better solution, I suspect that either the PlayIdle or the Ghost parts are responsible for the freeze, so it might be possible to have the Tunnelers appear and don't freeze the game, but at least it works (for me...) When I say it works : i get through the whole collapsed tunnel without problem with this modded script and get out of it and the next Ulysses conversation played OK. (I never played Lonesome road before, I don't know if not killing the Tunnelers will have any consequences) Just published the "mod" if it can help someone : https://www.nexusmods.com/newvegas/mods/67359/ Scn NVDLC04TunnelCodeHolderSCRIPT ; This script controls the scripted scenes in Collapsed Overpass Tunnel. It will handle several scenes, and creature spawning, accounted by the var nScene. ; J.S. 3/11/11 ; TLS 04/06/2011 - Adding quest incrementing here rather than on the door. Short bInit ; 1 = Initial operations that run once. Short bRunPackage ; 1 = Deathclaw at scene 0 (first scene) has received its patrol AI that leads it to its death. Short bSubmergeScare ; 1 = Triggered var to kickstart scene 1 has been crossed (scene 1 = tunneler runs to a hole, and burrows). Short bPopScare ; 1 = Triggered var to make the previous tunneler pop out of the hole where it just burrowed (scene 2). Short bEmergeScare ; 1 = Triggered var to kickstart scene 3, (Scene 3 has a wave of tunnelers appear shortly after scene's 2 tunneler). Short bFinale ; 1 = Triggered var to kickstart the finale's tunneler attack, which encompasses scene 4, and scene 5. Short bPlayerInterference ; 1 = Player has carried out some action that would normally disrupt the flow of the scene in question. ; These vars are still not used - they are here for support purpose, in case they become necessary during Alpha polishing. Short bFirstWave ; 1 = First wave of tunnelers has spawned. Short bSecondWave ; 1 = Second wave of tunnelers has spawned. Short bThirdWave ; 1 = Third wave of tunnelers has spawned. Short bRespawn ; 1 = Tunnelers are ready to be respawned, according to GameDaysPassed value when compared with fRespawnTime. Int nScene ; 1 - 5 = Large collection of events, each is discretely considered a "scene." Int nCount ; Operational integer. Int nState ; Operational integer - defines larger segments than nCount. Float fTimer ; Timer Float. Float fRespawnTime ; Holds value of Game Days after which tunnelers will be respawned. This value is contrasted against GameDaysPassed. BEGIN GameMode If (GetDisabled == 1) ; If the codebox is disabled, skip all code. Return; Else ; If the codebox is enabled, continue. If (bInit == 0) ; Init check. Set bInit to 1; SetStage NVDLC04MQ01 20; NVDLC04TunnelMoleRat01REF.Enable; ; We enable the deathclaw (yeah, molerat ref name). Return; Else ; When init conditions are set, start with scene 0. If (nScene == 0) If (bPlayerInterference == 0) ; If players have not interfered with the scene, continue normally. If (nState == 0) ; First state (0), handles initial four seconds after arriving to this level. Deathclaw starts to move, EDE barks scared. If (nCount == 0) NVDLC04TunnelMoleRat01REF.SetRestrained 1; ; We freeze the deathclaw, for now. Set nCount to 1; Return; Elseif (nCount == 1) Set fTimer to (fTimer + GetSecondsPassed); If (NVDLC04TunnelMoleRat01REF.GetDistance NVDLC04TunnelMoleRat01Point01REF <= 256 || fTimer >= 3) ; If 4 seconds pass, or if deathclaw wanders near its patrol point (legacy check for wandering, since I've ended up freezing it). NVDLC04TunnelMoleRat01REF.SetRestrained 0; NVDLC04EDERef.Say NVDLC04EDEScared; ; We then make EDE Bark. NVDLC04TunnelMoleRat01REF.AddScriptPackage NVDLC04PackageTunnelMoleRat01PatrolToDeath; ; And make the deathclaw receive its patrol package that leads it to a hidden spot where a tunneler kills it. Set nCount to 0; Set fTimer to 0; Set nState to 1; ; We've reset operational vars, and move to state 1. Endif Endif Elseif (nState == 1) ; In state 1, we wait 2 seconds before making the deathclaw play a growl sound. If (nCount == 0) If (fTimer >= 2) ; Run the 2 sec timer. NVDLC04TunnelMoleRat01REF.PlaySound NPCDeathclawChaseVox; Set fTimer to 0; Set nState to 2; ; We've reset operational var, and move to state 2. Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Endif Elseif (nState == 2) ; In state 2, we check for 4 second time, or distance of deathclaw to one patrol point, in case we want to intersect sound If (nCount == 0) If (NVDLC04TunnelMoleRat01REF.GetDistance NVDLC04TunnelMoleRat01Point02REF <= 512 || fTimer >= 2) ; Run timer, or distance, checks. ;NVDLC04TunnelMoleRat01REF.PlaySound NPCSporeCarrierHissVox; ; For now, this sound call is disabled, as the previous ones have not run out - subject to tweaking. NVDLC04EDEREF.EVP; Set fTimer to 0; Set nCount to 1; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Elseif (nCount == 1) ; Second step in this state is waiting 3 seconds, or a distance from deathclaw to patrol point, to play another sound. If (NVDLC04TunnelMoleRat01REF.GetDistance NVDLC04TunnelMoleRat01Point02REF <= 512 || fTimer >= 4) NVDLC04TunnelMoleRat01REF.PlaySound NPCMoleRatYawn; ; This sound coincides (1 sec before) with the Deathclaw rushing to kill its prey (it rushes when it crosses a trigger, on the path). Set fTimer to 0; Set nCount to 0; Set nState to 3; ; We've reset operational var, and move to state 3. Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Endif Elseif (nState == 3) ; In state 3, the deathclaw death scene takes place, in several substeps. If (nCount == 0) ; First, we check for it to be near its final patrol point. If (NVDLC04TunnelMoleRat01REF.GetDistance NVDLC04TunnelMoleRat01Point03REF <= 160) ; If so, then we set it to vulnerable (ghost 0), and we play a tunneler sound. NVDLC04TunnelMoleRat01REF.SetGhost 0; NVDLC04TunnelMoleRat01REF.PlaySound NPCSporeCarrierHissVox; Set fTimer to 0; Set nCount to 1; Return; Endif Elseif (nCount == 1) ; Second, we run a 1.8 timer before pushing the deathclaw around, and making it scream in pain. If (fTimer >= 1.0) NVDLC04TunnelMoleRat01Point03REF.PushActorAway NVDLC04TunnelMoleRat01REF 20; NVDLC04TunnelMoleRat01REF.PlaySound NPCDeathclawDeathGt; Set fTimer to 0; Set nCount to 2; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Elseif (nCount == 2) ; Third, we enable one prominent blood decal, and kill the deathclaw by severing two limbs. If (fTimer >= 0.1) NVDLC04TunnelMoleRatBlood03REF.Enable; ; Since there's no combat going on, EDE can be the actor ref that does the killing without granting XP to player. NVDLC04TunnelMoleRat01REF.KillActor NVDLC04UlyssesRef 1; NVDLC04TunnelMoleRat01REF.KillActor NVDLC04UlyssesRef 8; Set fTimer to 0; Set nCount to 3; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Elseif (nCount == 3) ; Fourth, we sever one more limb after a fraction of a second timer (this time will be expanded, according to player speed to scene). If (fTimer >= 0.3) NVDLC04TunnelMoleRat01REF.KillActor NVDLC04UlyssesRef 5; Set fTimer to 0; Set nCount to 4; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Elseif (nCount == 4) ; Fifth, another limb is destroyed, again with a timer. If (fTimer >= 0.5) NVDLC04TunnelMoleRat01REF.KillActor NVDLC04UlyssesRef 7; Set fTimer to 0; Set nCount to 5; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Elseif (nCount == 5) ; Sixth, we enable the last blood decals, a few frames after all limb severing is done. If (fTimer >= 0.1) NVDLC04TunnelMoleRatBlood01REF.Enable; NVDLC04TunnelMoleRatBlood02REF.Enable; Set fTimer to 0; Set nCount to 0; Set nState to 0; Set nScene to 1; ; We've reset operational vars, and move to next scene (1). Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Endif Endif Else ; However, if players have interfered with the scene (this var is set on the Deathclaw's script, or elsewhere later). If (nState == 0) ; We check the nState at which the interference took place. If 0, then we make sure to give AI to deathclaw. NVDLC04TunnelMoleRat01REF.AddScriptPackage NVDLC04PackageTunnelMoleRat01PatrolToDeath02; ; We give the AI, and play the sound, much like in nState 0, and 1, above. NVDLC04TunnelMoleRat01REF.PlaySound NPCDeathclawChaseVox; Set nCount to 0; Set fTimer to 0; Set nState to 3; ; We reset vars, and move to nState 3. Return; Elseif (nState == 1 || nState == 2) ; If the interference came during nState 1, or nState 2, we force the deathclaw to re-use its "death" patrol (takes it to death point). NVDLC04TunnelMoleRat01REF.AddScriptPackage NVDLC04PackageTunnelMoleRat01PatrolToDeath02; NVDLC04EDEREf.EVP; Set nCount to 0; Set fTimer to 0; Set nState to 3; ; We reset vars, and move to nState 3. Return; Elseif (nState == 3) ; Here, we run the same code used above, at the same nState (3), to kill deathclaw, dismember it, and put blood decals around, If (nCount == 0) ; This may change, given range of possible player interference. For example, we may make the deathclaw turn hostile, and not If (NVDLC04TunnelMoleRat01REF.GetDistance NVDLC04TunnelMoleRat01Point03REF <= 128) ; get killed by tunneler at all. NVDLC04TunnelMoleRat01REF.SetGhost 0; NVDLC04TunnelMoleRat01REF.PlaySound NPCSporeCarrierHissVox; Set fTimer to 0; Set nCount to 1; Return; Endif Elseif (nCount == 1) If (fTimer >= 0.1) NVDLC04TunnelMoleRat01Point03REF.PushActorAway NVDLC04TunnelMoleRat01REF 20; NVDLC04TunnelMoleRat01REF.PlaySound NPCDeathclawDeathGt; Set fTimer to 0; Set nCount to 2; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Elseif (nCount == 2) If (fTimer >= 0.1) NVDLC04TunnelMoleRatBlood03REF.Enable; NVDLC04TunnelMoleRat01REF.KillActor NVDLC04UlyssesRef 1; NVDLC04TunnelMoleRat01REF.KillActor NVDLC04UlyssesRef 8; Set fTimer to 0; Set nCount to 3; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Elseif (nCount == 3) If (fTimer >= 0.1) NVDLC04TunnelMoleRat01REF.KillActor NVDLC04UlyssesRef 5; Set fTimer to 0; Set nCount to 4; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Elseif (nCount == 4) If (fTimer >= 0.1) NVDLC04TunnelMoleRat01REF.KillActor NVDLC04UlyssesRef 7; Set fTimer to 0; Set nCount to 5; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Elseif (nCount == 5) If (fTimer >= 0.1) NVDLC04TunnelMoleRatBlood01REF.Enable; NVDLC04TunnelMoleRatBlood02REF.Enable; Set fTimer to 0; Set nCount to 0; Set nState to 0; Set bPlayerInterference to 0; ; We reset this important var back to 0, even if players interfered above, we take each scene individually. Set nScene to 1; ; We've reset operational vars, and move to next scene (1). Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Endif Endif Endif Elseif (nScene == 1) ; If the script is ready to play the next scene (1 - where a tunneler runs to a burrow spot, right in front of players as they turn a corner). If (bPlayerInterference == 0 && NVDLC04TunnelTunneler02REF.GetDead == 0) ; And if the player has not interfered with its normal course, we proceed. If (nState == 0) ; First, we'll make the tunneler non aggro, and invulnerable, and wait for the right time to enable it. If (nCount == 0) ;NVDLC04TunnelTunneler02REF.SetAV Aggression 0; ;NVDLC04TunnelTunneler02REF.SetGhost 1; Set nCount to 1; Return; Elseif (nCount == 1) If (bSubmergeScare == 1) ; If this var is 1, that means players just triggered the scene by crossing a trigger volume right next to where we'll play out the event. If (fTimer >= 0.2 || Player.GetDistance NVDLC04TunnelTunneler02REF <= 256) ; We wait a second, or if players are running ahead, to enable the tunneler, and move to the next batch of operations in state 1. ;NVDLC04TunnelTunneler02REF.Enable; ;NVDLC04TunnelTunneler02REF.SAA 0; Set nCount to 0; Set fTimer to 0; Set nState to 1; Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Endif Endif Elseif (nState == 1) ; Second, we'll make the tunneler visible, and make it run to its submerge point thanks to an AI package given below. Then, it'll burrow/disable. Set fTimer to (fTimer + GetSecondsPassed); If (nCount == 0) ;NVDLC04TunnelTunneler02REF.SAA 1; ; We make the tunneler appear. Set nCount to 1; Return; Elseif (nCount == 1) ;NVDLC04TunnelTunneler02REF.AddScriptPackage NVDLC04PackageTunnelTunneler02SubmergeRun; ; We give AI to the tunneler so that it runs to its burrow spot. Set nCount to 2; Return; Elseif (nCount == 2) ;NVDLC04TunnelTunneler02REF.SetGhost 0; ; We make it vulnerable, in case players want to target it (this may count as a bPlayerInterference 1, and trigger a large attack). Set nCount to 3; Return; Elseif (nCount == 3) ; If the distance to the burrow point is less than 45, and the tunneler is not in combat, or 5 seconds pass, make it play the burrow idle. If ((NVDLC04TunnelTunneler02REF.GetDistance NVDLC04TunnelTunneler02Point01REF <= 45 && NVDLC04TunnelTunneler02REF.IsInCombat != 1) || (fTimer >= 3)) ;NVDLC04TunnelTunneler02REF.PlayIdle Burrow; Set fTimer to 0; Set nCount to 4; Return; Endif Elseif (nCount == 4) ; We then disable the tunneler, waiting 2 seconds for the idle to play. If (fTimer >= 1) ;NVDLC04TunnelTunneler02REF.Disable; Set nCount to 0; Set fTimer to 0; Set nState to 0; Set nScene to 2; ; We've reset operational vars, and move to next scene (2). Return; Endif Endif Endif Else ; This else will be used for re-organizing the scene in the event of player interference, or if our Tunneler here is dead. If (nCount <= 4) ; We simply bypass scene 2, and prepare the ground to jump to 3, as if players were about to face the first wave of tunnelers. Set fTimer to 0; Set nState to 0; Set nCount to 5; Return; Elseif (nCount == 5) If (NVDLC04TunnelTunneler02REF.GetDead == 0) ;NVDLC04TunnelTunneler02REF.SetGhost 0; ;NVDLC04TunnelTunneler02REF.SetAV Aggression 2; ;NVDLC04TunnelTunneler02REF.StartCombat Player; Endif Set nCount to 6; Return; Elseif (nCount == 6) ;NVDLC04TunnelTunnelerWave01VenREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave01VenREF.SetAV Aggression 0; ;NVDLC04TunnelTunnelerWave01AmbREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave01AmbREF.SetAV Aggression 0; ;NVDLC04TunnelTunnelerWave01BruteREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave01BruteREF.SetAV Aggression 0; Set nCount to 0; Set fTimer to 0; Set nState to 0; Set bPlayerInterference to 0; ; We reset this important var back to 0, even if players interfered above, we take each scene individually. Set nScene to 3; ; We reset all vars, and move to scene 3. This next scene is a regular attack scene, where three tunnelers join in an ambush. Endif Endif Elseif (nScene == 2) ; If the scene 2 is ready to be played (in this case, triggered below by player crossing a trigger, a tunneler appears out of a hole). If (bPlayerInterference == 0 && NVDLC04TunnelTunneler02REF.GetDead == 0) ; If players haven't interfered with this scene, we let it play out normally. If (nState == 0) ; In state 0 of this scene, we're going to move the scene 1 tunneler to a new spot (if it's attacked on scene 1, we've jumped to scene 3). If (nCount == 0) ; We set aggression to 0, turn Ghost on, move, and turn the tunneler around, before going to the next step. ;NVDLC04TunnelTunneler02REF.SetAV Aggression 0; ;NVDLC04TunnelTunneler02REF.SetGhost 1; ;NVDLC04TunnelTunneler02REF.MoveTo NVDLC04TunnelTunneler02Point01REF; ;NVDLC04TunnelTunneler02REF.SetAngle Z 35; Set nCount to 1; Return; Elseif (nCount == 1) If (bPopScare == 1) ; If bPopScare == 1, that means players just crossed the trigger in front of the hole from where the tunneler will rise. If (fTimer >= 1 || Player.GetDistance NVDLC04TunnelTunneler02REF <= 340) ; We run a short timer, and distance check, to enable the tunneler (timer, so that the creep out sounds from the trigger have a chance to sink in). ;NVDLC04TunnelTunneler02REF.Enable; Set nCount to 0; Set fTimer to 0; Set nState to 1; ; We reset operational vars, and move to state 1 of this scene. Return; Else Set fTimer to (fTimer + GetSecondsPassed); Endif Endif Endif Elseif (nState == 1) ; In this state, we're going to reveal the tunneler, and make it play its emerge anim. We then set it to vulnerable, and make it intimidate players. Set fTimer to (fTimer + GetSecondsPassed); If (nCount == 0) If (NVDLC04TunnelTunneler02REF.GetAV Confidence < 4) ;NVDLC04TunnelTunneler02REF.SetAV Confidence 4; Endif StopCombat; ;NVDLC04TunnelTunneler02REF.PlayIdle EmergeReveal; ;NVDLC04TunnelTunneler02REF.SAA 0; Set nCount to 1; Return; Elseif (nCount == 1) If (NVDLC04TunnelTunneler02REF.GetAnimAction == 13) ;NVDLC04TunnelTunneler02REF.SAA 1; ;NVDLC04TunnelTunneler02REF.SetGhost 0; Set fTimer to 0; Set nCount to 2; Return; Else Set nCount to 0; Return; Endif Elseif (nCount == 2) ; If the tunneler is no longer playing an idle (just finished its emerge anim), and it's not in combat, we make it play an intimidate idle. If ((NVDLC04TunnelTunneler02REF.IsIdlePlaying != 1 && NVDLC04TunnelTunneler02REF.IsInCombat != 1) || (fTimer >= 5.0) || (bEmergeScare == 1)) ;NVDLC04TunnelTunneler02REF.PlayIdle STIntimidate; Set nCount to 3; Set fTimer to 0; Return; Endif Elseif (nCount == 3 ) ; We run a quick timer, and distance check, to prepare the ground for the next scene (3, where a tunneler wave follows the tunneler just risen). If (fTimer >= 2.5 || Player.GetDistance NVDLC04TunnelTunneler02REF <= 256 || NVDLC04TunnelTunneler02REF.GetDead == 1 || bEmergeScare == 1); If the timer runs out, or if players rush ahead to the tunneler, or if this tunneler is killed quickly. ;NVDLC04TunnelTunneler02REF.SetAV Aggression 2; ; We prepare the behavioral conditions for successful rising on the other tunnelers. ;NVDLC04TunnelTunnelerWave01VenREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave01VenREF.SetAV Aggression 0; ;NVDLC04TunnelTunnelerWave01AmbREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave01AmbREF.SetAV Aggression 0; ;NVDLC04TunnelTunnelerWave01BruteREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave01BruteREF.SetAV Aggression 0; Set nCount to 0; Set fTimer to 0; Set nState to 0; Set bPlayerInterference to 0; ; We reset this important var back to 0, even if players interfered above, we take each scene individually. Set nScene to 3; ; We reset all vars, and move to scene 3. This next scene is a regular attack scene, where three tunnelers join in an ambush. Return; Endif Endif Endif Else If (nCount <= 3) ; We simply bypass scene 2, and prepare the ground to jump to 3, as if players were about to face the first wave of tunnelers. Set nCount to 4; Return; Elseif (nCount == 4) If (NVDLC04TunnelTunneler02REF.GetDead == 0) ;NVDLC04TunnelTunneler02REF.SetGhost 0; ;NVDLC04TunnelTunneler02REF.SetAV Aggression 2; ;NVDLC04TunnelTunneler02REF.StartCombat Player; Endif Set nCount to 5; Return; Elseif (nCount == 5) ;NVDLC04TunnelTunnelerWave01VenREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave01VenREF.SetAV Aggression 0; ;NVDLC04TunnelTunnelerWave01AmbREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave01AmbREF.SetAV Aggression 0; ;NVDLC04TunnelTunnelerWave01BruteREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave01BruteREF.SetAV Aggression 0; Set nCount to 0; Set fTimer to 0; Set nState to 0; Set bPlayerInterference to 0; ; We reset this important var back to 0, even if players interfered above, we take each scene individually. Set nScene to 3; ; We reset all vars, and move to scene 3. This next scene is a regular attack scene, where three tunnelers join in an ambush. Endif Endif Elseif (nScene == 3) ; Here, we'll spawn three tunnelers, and have them play their emerge idles, and sometimes screams, at time intervals. If (nState == 0) Set fTimer to (fTimer + GetSecondsPassed); If (nCount == 0) ; Generally, whenever we enable a tunneler, we'll wait one frame to make them play out their emerge idles. If (bEmergeScare == 1) ; If bEmergeScare == 1, that means players just crossed the trigger in front of the hole from where the new tunnelers will rise. ;NVDLC04TunnelTunneler02REF.PlaySound NPCSporeCarrierScream; ;NVDLC04TunnelTunnelerWave01VenREF.Enable; Set nCount to 1; Set fTimer to 0; Return; Endif Elseif (nCount == 1) ; The emerge idle plays, and we move to the next step, where we run a timer. ;NVDLC04TunnelTunnelerWave01VenREF.PlayIdle Emerge; ;NVDLC04TunnelTunnelerWave01VenREF.SAA 0; Set nCount to 2; Return; Elseif (nCount == 2) If (NVDLC04TunnelTunnelerWave01VenREF.GetAnimAction == 13) ;NVDLC04TunnelTunnelerWave01VenREF.SAA 1; ;NVDLC04TunnelTunnelerWave01VenREF.SetGhost 0; Set nCount to 3; Return; Else Set nCount to 1; Return; Endif Elseif (nCount == 3) ; After one second since telling the tunneler to play emerge idle, we set it to vulnerable, and make its aggression normal (very aggressive). If (fTimer >= 3) ; Also, we take this chance to spawn the next tunneler in queue, so that not all appear at once, clustered in odd forms. ;NVDLC04TunnelTunnelerWave01BruteREF.Enable; ;NVDLC04TunnelTunnelerWave01VenREF.PlayIdle STIntimidate; ;NVDLC04TunnelTunnelerWave01VenREF.SetAV Aggression 2; ;NVDLC04TunnelTunneler02REF.SetAV Aggression 2; ; In this particular case, we turn the first tunneler to rise (the one that played the intimidate idle) to aggressive. ;NVDLC04TunnelTunneler02REF.StartCombat Player; ; The first tunneler is ready to attack, but we force it anyway - the others will join by themselves. Set fTimer to 0; Set nCount to 4; Return; Endif Elseif (nCount == 4) ; Here, we repeat the same process as above, but with the remaining two spawns. We enable, skip frame, play idle, skip frame, run timer, ;NVDLC04TunnelTunnelerWave01BruteREF.PlayIdle Emerge; ;NVDLC04TunnelTunnelerWave01BruteREF.SAA 0; Set nCount to 5; Return; Elseif (nCount == 5) If (NVDLC04TunnelTunnelerWave01BruteREF.GetAnimAction == 13) ;NVDLC04TunnelTunnelerWave01BruteREF.SAA 1; ;NVDLC04TunnelTunnelerWave01BruteREF.SetGhost 0; Set nCount to 6; Return; Else Set nCount to 4; Return; Endif Elseif (nCount == 6) If (fTimer >= 2.5) ;NVDLC04TunnelTunnelerWave01VenREF.SetAV Aggression 2; ;NVDLC04TunnelTunnelerWave01BruteREF.SetAV Aggression 2; ;NVDLC04TunnelTunnelerWave01BruteREF.Playsound NPCSporeCarrierAimVox; ; In this particular case, we use some of these steps to add creepy sounds to the tunnelers' appearance. ;NVDLC04TunnelTunnelerWave01AmbREF.Enable; Set nCount to 7; Return; Endif Elseif (nCount == 7) ;NVDLC04TunnelTunnelerWave01AmbREF.PlayIdle Emerge; ;NVDLC04TunnelTunnelerWave01AmbREF.SAA 0; Set nCount to 8; Return; Elseif (nCount == 8) If (NVDLC04TunnelTunnelerWave01AmbREF.GetAnimAction == 13) ;NVDLC04TunnelTunnelerWave01AmbREF.SAA 1; ;NVDLC04TunnelTunnelerWave01AmbREF.SetGhost 0; Set fTimer to 0; Set nCount to 9; Return; Else Set nCount to 7; Return; Endif Elseif (nCount == 9) If (fTimer >= 1) ;NVDLC04TunnelTunnelerWave01AmbREF.SetAV Aggression 2; Set nCount to 0; Set fTimer to 0; Set nState to 1; ; All enabling, and emerging, is done. We move to nState 1, where we simply prepare the ground for nScene 4 (next wave of tunnelers). Return; Endif Endif Elseif (nState == 1) ; Here, we prepare the next wave of tunnelers, which are 1/4 of the level ahead from where nScene 2/3 take place. ;NVDLC04TunnelTunnelerWave02VenREF.SetGhost 1; ; As before, even if they are disabled, we turn their invulnerability on, and make them non-aggressive. ;NVDLC04TunnelTunnelerWave02VenREF.SetAV Aggression 0; ;NVDLC04TunnelTunnelerWave02AmbREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave02AmbREF.SetAV Aggression 0; ;NVDLC04TunnelTunnelerWave02BruteREF.SetGhost 1; ;NVDLC04TunnelTunnelerWave02BruteREF.SetAV Aggression 0; Set nState to 0; Set nScene to 4; ; We reset vars, and move to nScene 4. Note that scene 3, 4, and 5, do not have bPlayerInterference variants, the outcome is always the same. Set NVDLC04TunnelSupportBox.nScene to 4; Return; Endif Elseif (nScene == 4) ; Scene's 4, and 5, are now handled at a different codebox, to free up scripting space (NVDLC04TunnelSupportBox). Elseif (nScene == 5) ; That codebox's script updates this one to nScene 6 when the spawning of tunnelers is done. Elseif (nScene == 6) If (bRespawn == 1) If (fRespawnTime <= GameDaysPassed) ;NVDLC04TunnelTunnelerWave01VenREF.Enable; ;NVDLC04TunnelTunnelerWave01VenREF.Resurrect; ;NVDLC04TunnelTunnelerWave01AmbREF.Enable; ;NVDLC04TunnelTunnelerWave01AmbREF.Resurrect; ;NVDLC04TunnelTunnelerWave01BruteREF.Enable; ;NVDLC04TunnelTunnelerWave01BruteREF.Resurrect; ;NVDLC04TunnelTunnelerWave02VenREF.Enable; ;NVDLC04TunnelTunnelerWave02VenREF.Resurrect; ;NVDLC04TunnelTunnelerWave02AmbREF.Enable; ;NVDLC04TunnelTunnelerWave02AmbREF.Resurrect; ;NVDLC04TunnelTunnelerWave02BruteREF.Enable; ;NVDLC04TunnelTunnelerWave02BruteREF.Resurrect; Set bRespawn to 0; Endif Else Set fRespawnTime to (GameDaysPassed + 3) Set bRespawn to 1; Endif Endif Endif Endif END Edited July 28, 2019 by francksteel Link to comment Share on other sites More sharing options...
dubiousintent Posted July 28, 2019 Share Posted July 28, 2019 @francksteel: That is very helpful. As you are the only one who can edit your post, suggest you place the script within your "spoiler" tags within "code" tags as well to preserve the indentations and prevent it getting interpreted as "emoticons". I suggest your mod as a possible solution in new "Issue - DLC Lonesome Road - Freeze in Collapsed Overpass Tunnel" entry in the "Misc" section of the wiki "Fallout NV Mod Conflict Troubleshooting" guide. -Dubious- Link to comment Share on other sites More sharing options...
francksteel Posted July 28, 2019 Share Posted July 28, 2019 Thanks Dubiousintent.I edited the post as you suggested.I hope someone will be able to find a better solution than mine. Link to comment Share on other sites More sharing options...
dubiousintent Posted July 28, 2019 Share Posted July 28, 2019 Thanks for the edit. Much easier to read that script now. Makes it more likely someone will look into it. NOTE to others: he just commented out (prefixed with ";") lines. My initial thought is the "PlayIdle" lines are suspects. But as I didn't encounter the problem, it needs someone who is having the problem to test. -Dubious- Link to comment Share on other sites More sharing options...
francksteel Posted July 28, 2019 Share Posted July 28, 2019 (edited) I've made some more tests.One of the culprit is clearly playIdle IntimidateWhen I comment only the two lines which contain .PlayIdle STIntimidate I'm sometimes able to kill most of the tunnelers (they correctly emerge, stop moving instead of I suppose take a intimidating pose, and then attack).But sometimes the game freezes again, I suspect when the tunneler takes too much damage (more than 50% and less than 100%) and tries to flee or maybe when it tries to explode ? IdleEmerge seems OK. --> Edit : not so sure after more tries. Sometimes it freezes, less often than with Idle STIntimidate, but still happens. I tried to also comment the lines with setGhost 1 (makes the tunnelers invulnerable). Maybe it helps a bit, but not sure too. It could be only lucky runs. For now, the only 100% no freeze I had was with the mod as published (i.e. no tunnelers except the 1st one). Edited July 28, 2019 by francksteel Link to comment Share on other sites More sharing options...
dubiousintent Posted July 29, 2019 Share Posted July 29, 2019 The intermittent nature of the freeze with "IdleEmerge" suggests a possible memory issue (to me at least). * The game has "memory leaks", primarily linked to the audio system due to the version of the Ogg Vorbis Libraries used by Bethesda. Getting 2-3 hours before a CTD is pretty good. The audio problem is fixed by using the updated [http://www.nexusmods.com/newvegas/mods/61265 Ogg Vorbis Libraries] posted by Kane Wright. You might also want to try using the tool "CleanMem", which periodically (you can set the interval; default is every 15 minutes) tells the OS to perform it's built-in "clean up" of memory. It has a "mini-monitor" that displays memory usage. Doesn't seem to hurt and might help. You might try to "<Alt+Tab>" out of the game and run "CleanMem" before the point where either Idle would run to see if it makes any difference. -Dubious- Link to comment Share on other sites More sharing options...
Recommended Posts