I have encountered a disturbing issue, which I hope someone may have some answers.
I have a script that when run, jumps an NPC from one location to another (across areas). That all appears to work fine, as the NPC does indeed appear at the new location in the new area. But here is the problem …
I save the game, after the NPC has been relocated using the jump function, and reload it for further testing … The NPC is no longer at the new jump position, but debug informs me they have returned to their original position in their old area!
Yes it has happened to me when I jumped all the party into separate cells and the PC had to rescue them. I saved before the sneaking part, got spotted, reloaded and they were all with me again. I’ve messed about with this making them totally stuck but I think the party system and the way the game reloads overrides it.
If this npc isn’t in the party maybe you could just destroy them and create another where you want them to be that way they wont move ! Another annoying save issue that I came across was that the waterfall placeable freezes when you reload.
Actually, what you describe is a slightly different issue, but now that you mention it, it is certainly one to bear in mind for any PC separations a builder has in mind to do.
In my case, I believe I have tracked it down to some of my own code that relocates certain NPCs at certain times. And I did not bear this in mind, so on a reload I had not updated their new location with respect to where to find them on a time change - and so the NPC was simply relocating to where they thought they should be at the current time.
Confirmed! So, consider resolved. And just my bad!
In my newly released module I think we fiddled with this. I have a duel between a companion and an NPC, which kevL_s did a script for, and when reloading, we have a script on the OnEnter or OnClientEnter, don’t remember which, that sees to it that the companion that is in the duel teleports to a waypoint and the others to other waypoints. So when you reload, this script always does this, to make sure the party isn’t gathered together.
So, just as you say, I think the game overrides if you have moved companions.
Yes, this would be the workaround. It would work not unlike my “timed” NPC scripts, which is why I “lost” them upon a reload. i.e. They were jumping to WPs I had scripted, much like PCs would jump to any others scripted on a reload. The same caution about always jumping back to them would have to be kept in mind. Otherwise, the PCs would keep jumping to the WPs on a reload if not marked as" done".