Jump to content


Unofficial Patch Project
  • Content Count

  • Joined

  • Last visited

Everything posted by Sclerocephalus

  1. The original beta had German mod description texts on the muffled mods because I forgot to replace them after I did alter the keywords. It's up to you to decide whether that's important.
  2. 3D game objects generally consist of two meshes, one for the visuals (i.e. what you see) and an invisible one for the physics (the so-called collision mesh). The mesh for the visuals has pretty high detail.. The collision mesh however has low detail because the performance that needs to be invested in collision detection increases with the number of faces. A good collision mesh preserves the shape of the visuals mesh as accurately as possible despite having a much lower face count. To accomplish this, tiny wrinkles that may exist in the visuals mesh get flattened out in the collision mesh. Also, accuracy may get reduced on purpose in places that are out of reach to colliding objects. The water tower, for example, does actually not need any elaborate collision at the top because that's out of reach to the player, and there are no high-flying actors around. If collision is noticeably inaccurate (the "thin transparent layer" phenomenon you were referring to) in places that can be directly interacted with, this is plain simply a mesh error and by no means a limitation of contemporary computer games. In fact, you can realize "perfect contact" quite easily; that only depends on the skills of the 3D artist. Now if you look at the tower mesh in the CK and toggle the collision geometry (by pressing F4 while the render window is active, note that you will have to wait a few seconds for the collsion meshes to be displayed), you'll see that the collision at the tower's base is pretty accurate, and also that the first aid box is the object with the bad collision (note the completely unnecessary details on the edges). That box was also not floating but clipping into the tower base instead, in addition to being placed in a position that blatantly derides real-world physics. That's a crystal clear placed reference issue (see screenshot).
  3. The skeletons are static objects, not actors. That is, they will behave just like any other pre-placed rubble piece in the game. They were never intended to clean up.
  4. Package records, conditions sub-records: there's a "parameter #3" listed by xEdit in each package of condition data (CTDA): It appears that this parameter may have different meanings - or may be totally unused - depending on what target the condition has been specified to run. If that target is a quest alias (i.e. the "RunOn" line will display "QuestAlias"), parameter #3 is always the ID of that alias on the quest that owns the package (I confirmed this myself by playing around with the aliases).
  5. Which ghouls ? The pre-placed DEAD ones or those that you killed (i.e. the bodies of the pre-placed LIVE actors) We only handle pre-placed DEAD ones because they are never cleaned up otherwise. Pre-placed LIVE actors are clened up by the engine eventually after they have been killed. Though, in a very fresh game with few actors loaded so far, this may take a while. Side note: altering the time scale won't change anything because scripts need real time to process their tasks. This time won't change, so the only thing gained by altering the time scale is a longer game time span for scripts to finish running.
  6. Since we cannot disable refs when there is a risk that this could happen in plain sight of the player, we have to wait until the area unloads. More specifically, until all refs that need to be disabled have unloaded. This process doesn't start running until the player owns the respective workshop. Therefore, it usually takes place the first time the area unloads after the player gained control of the workshop. The Sunshine Tidings cleanup missed two ghoul bodies because they are in cells that do not form part of the workshop location, although they're still within the buildable area (Bug #23763). This has been fixed for UFO4P 2.0.4 but that fix was not retroactive (i.e. they won't be disabled unless you start a new game).
  7. It doesn't but that's not the point. A faulty mesh will corrupt the engine code that handles the mesh and you get a crash. Whether everything else in the loaded area is fine or not doesn't matter.
  8. Once the problem occurs, disable the mole rats, then try to leave the cell.
  9. I'm currently using NifSkope 2.0 Dev 7. Used this to change the user version numbers from Skyrim to FO3 (?), 12/83 -> 11/34., then saved (Note: the file had previously been stripped of the collision, the BSShaderProperty blocks and the BSX flags). Upon trying to reload it, I got this warning: [0] Array Properties invalid Pos 376: failed to load block number 0 (BSFadeNode) previous block was NiHeader Failed to load F:/Skyrim Mod Projects/Nifs for Blender Import/dwermsmcolumnfixed01_raw_01.nif Loaded the stripped file in old NifSkope, changed the user version numbers there and saved. This file loads fine (i.e. without that error) in both old NifSkope and NifSkope 2.0.
  10. For as yet unknown reasons, this car falls from the highway after every cell reset.
  11. And then it turned out that this bollard is in a pre-comb .... sigh
  12. Someobody placed a traffic pole inside of this pod - with the result that the protectron never stayed in, even if it was unconscious.
  13. Well, you could make an Open Ciities mod.
  14. (1) There is no function to toggle persistence from a script. If an object is unexpectedly persistent, this might be because it is still linked to other objects (or other objects being linked to it). Workshop objects that require an actor are linked from that actor (this link is deleted on unload and restored on load). All crops are linked from their damage helpers but this link is permanent; it is not cleared until the crop is deleted. It also could be that the offending object is in a script property. All crops, for example, keep the reference of their damage helper in a script property and they also have an array on WorkshopObjectScript to keep the references of their furniture markers. (2) Deleted objects are not actually removed until their parent cell unloads. Up to that point, they're only "marked for deletion" (that's why scripts should disable them before they delete them, so they are at least invisible until they are actually deleted). Thus, in order to make sure that you don't look at bogus objects, you should allow the workshop to unload and reload before you start inspecting objects. Better though if you allow it to unload and reload twice because the householding functions that start running when a workshop loads do a lot of cleanup stuff that may result in even more objects being removed when it unloads subsequently.
  15. Update: I'm pretty much convinced now that this iis not an F4SE issue. You might want to have a look at this ticket which we fixed almost two yeras ago: https://afktrack.afkmods.com/index.php?a=issues&i=20640 In this case, an actor array that should actually have been initialized by the OnLoad() event was mysteriously 'none'. At that time, I had no F4SE running (and it did probably not even exist). I also did not spend any time to investigate why the array was none Just added a sanity check and a line to re-initialize the array if necessary, and that did fix it.

Support us on Patreon!

  • Create New...