Jump to content

Finding unloaded nonpersistent LinkedRef objects


SKKmods

Recommended Posts

I came across a claim that it is possible to resolve LinkedReferences to objects that are nonpersistent and unloaded outside of the player uGridsToLoad or cell buffers.
Being able to do so would make a lot of my search and replace or random spawning solutions a lot easier (and I would have wasted hundreds of hours of R&D datalogging and validating workaround solutions). But, the claim conflicts with the fundamental definition of "nonpersistent".
Here is the senario: Imagine a turret has been built in each corner of the Sanctuary build area, which can be up to 8000 game units from the workshop. A handy scale diagram:

47317-1600593594-1042489944.png

As the player apporaches from the North West the workshop loads at 9042 range triggered by the standard 5 uGridsToLoad radius.
When the workshop is queried for its standard WorkshipItemKeyword linkedreferences and filtered for Turrets (is WorkshopObjectActorScript) it returns the two nearest as they are also in the 5 uGridsToLoad area (see picture). The further two, which are 17,000 units from the player clearly are not.
When the player is 4096 units from the workshop a third turret appears in the uGridsToLoad area so its linked reference resolves.
When the player is 2048 units from the workshop the fourth turret is in the uGridsToLoad area so its linked reference resolves.
A debug data log of the path loading activity:

SKK_OL.OnLoad [workshopscript < (000250FE)>] 3DLoaded True Distance 9042
SKK_OL.Found WorkshopItemKeyword Turret B Player/Workshop 8948 Player/Object 12090 Workshop/Object 7905 Bearing 354
SKK_OL.Found WorkshopItemKeyword Turret C Player/Workshop 8912 Player/Object 2973 Workshop/Object 6784 Bearing 67

SKK_OL.OnDistanceLessThan [ObjectReference < (00000014)>] [workshopscript < (000250FE)>] 3DLoaded True Distance 4096
SKK_OL.Found WorkshopItemKeyword Turret B Player/Workshop 4441 Player/Object 9282 Workshop/Object 7905 Bearing 354
SKK_OL.Found WorkshopItemKeyword Turret C Player/Workshop 4406 Player/Object 2887 Workshop/Object 6784 Bearing 67
SKK_OL.Found WorkshopItemKeyword Turret D Player/Workshop 4371 Player/Object 8808 Workshop/Object 5318 Bearing 217

SKK_OL.OnDistanceLessThan [ObjectReference < (00000014)>] [workshopscript < (000250FE)>] 3DLoaded True Distance 2048 
SKK_OL.Found WorkshopItemKeyword Turret B Player/Workshop 2162 Player/Object 8075 Workshop/Object 7905 Bearing 354
SKK_OL.Found WorkshopItemKeyword Turret C Player/Workshop 2124 Player/Object 4717 Workshop/Object 6784 Bearing 67
SKK_OL.Found WorkshopItemKeyword Turret D Player/Workshop 2088 Player/Object 6988 Workshop/Object 5318 Bearing 217
SKK_OL.Found WorkshopItemKeyword Turret A Player/Workshop 2067 Player/Object 9827 Workshop/Object 8022 Bearing 294

 

 

I have tried using the extremly dodgy PreloadExteriorCell() function but as that apparently only loads the 4096 box around Sanctuary (again see picture) and none of the turrret linked references are found as they are not actually in that preloaded cell/
SKK_OL.PreloadSanctuary [workshopscript < (000250FE)>] 3DLoaded False Distance 30739 
SKK_OL.PreloadSanctuary No WorkshopItemKeyword LinkedRef Turrets Found
So, anyone got any idea on how LinkedReferences to non persistent objects (that have no ObjectReference ID until actually loaded) that are unloaded can be resolved ?
This could fix a LOT of problems in the game, like WorkshopReset & etc, but I don't want to waste time chasing BS.
Link to comment
Share on other sites

This could fix a LOT of problems in the game, like WorkshopReset & etc, but I don't want to waste time chasing BS.

 

 

I know you are talking about me, and I can prove it by posting our conversation. All I said is that I can get the references of an unloaded settlement using preload after you asked for my opinion on your mod, and you blocked me. So if you're chasing BS is because you understand what you want to understand. I've been very polite to you, but this behavior is completely out of place.

Link to comment
Share on other sites

So actually resolving the 4 turrets* is not so much a "a trivial problem to solve" as you extremly rudely told me then ?

 

(*) or any non persistent linkedref in any unloaded workshop build area which is the general challenge.

 

You do you.

Link to comment
Share on other sites

You maybe need to re-read our conversation, "a trivial problem to solve" you are quoting something I didn't said. I said that this mod seems something simple to achieve for your skills, which was meant to be compliment.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...