Issue Data
|
Issue #31746: Incorrect usage of Activators in UFO4PRetroactive213Script
Brief explanation:
It is possible that an array in a script will not be properly initialized due an error with inactive world object. Long explanation: 3rd party scripts (everything that is not attached to an object) should not directly access objects which have the inactive or disabled state. The game does not load every object in RAM. That's why inactive/disabled objects automatically disabling their own scripts. Log: [12/14/2021 - 05:43:13AM] error: Element of array in property BoSTriggers on script ufo4p:ufo4pretroactive213script attached to UFO4PRetroactive213 (072B1553) cannot be bound because <nullptr form> (000FB230) is not the right type Possible fix: Use FormList instead of Array. There are seven BHExtBOSEnable Activators, all have one parent BHCombatTriggerEnableMarker [REFR:000FB251], which is disabled by default. The fix assumes that a FormList contains all 7 Activators. I have included the patch (full source with all necessary changes). Key moments are: group Bug_26704 FormList Property BoSTriggers Auto Const quest Property Inst302 auto const endGroup [...] ;Bug #26704: If Inst302 is completed, let the BoS triggers at Bunker Hill run their cleanup: if Inst302.IsCompleted() i = 0 while i < BoSTriggers.GetSize() BHExtBOSEnable t = BoSTriggers.GetAt(i) as BHExtBOSEnable t.UFO4P_CleanUp() i += 1 endWhile endif The problem of the fix above due the fact of redefining a type of the property BoSTriggers, which leads to the incorrect work of the script. After update it is already will be loaded and need to be restarted by hand or via external scripting (restart the UFO4PRetroactive213 quest. It would be better to rename the property to exclude a property name collision. Also, I did not test this script well, yet. So, probably there will be need to use Is3DLoaded() function to proper cleanup. Attached Files: UFO4PRetroactive213Script.psc |
Related Issues: 26704
Not sure ultimately what difference it should make - script properties are just as persistent as formlist entries. If not moreso.
But we'll give it a shot and see if it makes a difference. I've not seen any actual reports of this in the wild anywhere.
But we'll give it a shot and see if it makes a difference. I've not seen any actual reports of this in the wild anywhere.
Showing Comments 1 - 1 of 1