niston Posted July 6, 2019 Share Posted July 6, 2019 I have: - activator X in an outdoor cell- activator Y in an indoor cell with script A attached- script A has an ObjectReference property Z that I filled in CK (pick reference in render window) with a reference to activator X The problem: - When going to the indoor cell, doing anything to activator X through property Z will fail because property Z is NONE! So I can't even enable/disable activator X from script A :sad: This is really quite unexpected by me, as from the wiki I gathered (exact quote): When a script property is pointed at a reference in the editor, the target reference will be flagged as "permanently persistent". In other words, nothing you do during runtime will unload the object So I suppose my questions are: - Why does activator X clearly unload, even tho it is supposedly "permanently persistent"?- What else do I need to do to access (enable/disable) outdoor activator X from script A the indoor cell? Link to comment Share on other sites More sharing options...
DieFeM Posted July 6, 2019 Share Posted July 6, 2019 Do it in a quest script, you will always have access to a quest script, and perform the action on X in the OnLoad/OnCellLoad event. Link to comment Share on other sites More sharing options...
niston Posted July 6, 2019 Author Share Posted July 6, 2019 Yeah, I could also use a global for this purpose and check the global OnLoad. But why do I have to do this ??? How come I cannot access a reference that's supposedly persistent? Is the wiki full of dirty little lies ?? The reason I ask is, while I could go with the suggested solution for the case of the recruitment beacon, I do have the same problem with the lock controller. And I would really prefer the lock controller to NOT unload, ever. Why? Because player should be able to interact with it by remote control, no matter where they are. Furthermore, the lock controller should be able to continue a running sequence even if player goes to the Operations room or otherwise leaves the cell with the water lock. I will try adding a quest script with a property that holds a reference to X and see if that makes any difference. Link to comment Share on other sites More sharing options...
DieFeM Posted July 6, 2019 Share Posted July 6, 2019 Link to comment Share on other sites More sharing options...
niston Posted July 6, 2019 Author Share Posted July 6, 2019 You're suggesting I edit the wiki? I would, if I were confident enough that the missing persistence in this case is not a mistake on my part :smile: Link to comment Share on other sites More sharing options...
DieFeM Posted July 6, 2019 Share Posted July 6, 2019 I was trying to point that you should take with a grain of salt whatever you read in the wiki, because the information you read is subject to inaccuracies. Some of the information is copied from the wiki of Skyrim and it may not be always accurate and sometimes incomplete. Some functionalities can simply not work in Fallout 4 or have a different behavior. Is up to users to improve it, so I don't think that is a "crazy" idea that you add a note about this particular case if you will. Link to comment Share on other sites More sharing options...
niston Posted July 6, 2019 Author Share Posted July 6, 2019 Back from testing a bit. The information in the wiki in this case seems to be wildly inaccurate at a first glance. In fact, it appears that no references whatsoever are persisted just because a script property points to them. Not even if it's an ObjectReference property on a quest script! I was however able to get persistence by adding the beacon and the lock controller to a reference alias on a quest. Works as expected now, the outdoor settlement recruitment beacon can now be turned on/off from within the interior cell. An oddity is that turning on the beacon for the very first time, the pipboy won't pick up the signal before leaving the interior cell. I will continue my tests on the now persistent lock controller :smile: If I can validate my observation, I will leave a note in the wiki! But I've got a feeling that the whole matter might be more complicated than my initial observation revealed. Not sure if it might have to do with the interior being separate from the worldspace that has the beacon in it. Link to comment Share on other sites More sharing options...
hereami Posted July 6, 2019 Share Posted July 6, 2019 doing anything to activator X through property Z will fail because property Z is NONE!Not sure, but is there a direct relation between a property being equal to NONE and persistence of an object, which is not referenced by this property at the given moment (for whatever reason)? Also does the object Unloaded state mean that all hard-linked references to it are cleared and get refilled when it loads? Curious. Maybe Activator Y should be made persistent? I was trying to point that you should take with a grain of salt whatever you read in the wiki, because the information you read is subject to inaccuracies. Some of the information is copied from the wiki of Skyrim and it may not be always accurate and sometimes incomplete. Some functionalities can simply not work in Fallout 4 or have a different behavior. Is up to users to improve itAlways wanted to ask. Is there/was there ever normal documentation, provided along with CK? I hardly believe, developers do consult wikis or do keep everything in their heads, there must be docs for internal use. Can anyone imagine a sophisticated tool like AutoCad etc. been shipped without FULL documentaion. And basically, CK is such tool, although provided for free, which fact doesn't excuse absence of docs. Link to comment Share on other sites More sharing options...
DieFeM Posted July 7, 2019 Share Posted July 7, 2019 (edited) Not sure, but is there a direct relation between a property being equal to NONE and persistence of an object, which is not referenced by this property at the given moment (for whatever reason)? If a script property points to a reference, and this reference is loaded, you can call a function on it without problem, but when you call this same function, and the reference is unloaded, the papyrus log says something like "can not call (function name here) on a None object". As is stated in the wiki, a reference that fills a property on a script should become persistent, and also says that a persistent reference should not unload under any circumstances, which seems to be wrong. Always wanted to ask. Is there/was there ever normal documentation, provided along with CK? This wiki is the official documentation. I can not say it for a fact, but what I think that happens here is that, since anyone can edit it, this statement was introduced in the wiki by someone who though that it was right after noticing it under a certain circumstance but, as you can see, the information is right but inaccurate, it is true if the script is attached to an alias, and go guess if it is also true under other circumstances. Edited July 7, 2019 by DieFeM Link to comment Share on other sites More sharing options...
Evangela Posted July 7, 2019 Share Posted July 7, 2019 You're suggesting I edit the wiki? I would, if I were confident enough that the missing persistence in this case is not a mistake on my part :smile:You can always put information you are unsure of but want it to be known as a kind of 'heads up' on the talk pages. This is what I do/have done in the past. Link to comment Share on other sites More sharing options...
Recommended Posts