Jump to content

RefID and changing actor location


Carreau

Recommended Posts

I have a companion mod I built and placed the actor location in a temporary interior cell. Now, Iâm looking at moving her to her final location, which will be a different cell. Is there a way to move her without resetting her refID? A refID reset would take a while to track down every instance I called the reference to update, and it would break/reset anyone using my mod in mid-playthrough.
Link to comment
Share on other sites

RefIDs are unique, and can't be changed, just like their FormID counterparts.

 

If were you to delete the reference and recreate it, it would have a new reference ID.

 

Having said that, moving the actor to another cell wont change their reference ID.

Link to comment
Share on other sites

How would I do that? Iâm fairly proficient when it comes to creating items, actors, and scripts, but once it comes to placing something in the world, Iâm a total noob. When I was running tests on my companion, I had placed her in sanctuary to make her easily accessible for me, but for release, I moved her to a more remote area while I worked on learning cell creation. I never could figure out how to move the locator, and ended up having to delete her old locator and plop the new one. Obviously it ruined my test save with regards to her, but now that the mod is in the wild, Iâd like to limit the impact.
Link to comment
Share on other sites

Papyrus: Assigning the actor to a property and using calling MoveTo on it, with an xmarker passed into the function as the thing to move the actor to. The xmarker being in the destination/new cell.

 

Example: (quick and dirty)

Scriptname dummyScript extends Quest
{ attached an empty quest with sole purpose of having this script }
 
Actor property myActor auto
ObjectReference property markerInNewCell auto
 
Event OnQuestInit()
    ; move my actor to a new cell.
    myActor.MoveTo(markerInNewCell)
EndEvent
 

And you can also move things with console commands if you want a less complex way to do it.

 

Run to your cell(this works only in exterior cells I think), and get the x,y,z position of the player.

 

getpos x

getpos y

getpos z

 

write down the values

now go back to your actor, select the reference

 

setpos x

setpos y

setpos z

 

Can look here if there are even easier ways to do it: http://fallout.wikia.com/wiki/Fallout_4_console_commands

Edited by Rasikko
Link to comment
Share on other sites

Uhm... you can't "break" the RefID.. I would not be telling you any of this, if there was some hairbrain way it can happen. I don't even know how someone can do that by accident.

 

You've being overly cautious about something that doesn't warrant caution, and I think you are confusing RefID with FormID(RefID is basically an address that points to the base object) which also can't be changed unless you physically delete it from the CK and make it from scratch all over again. Console commands don't change RefIDs, there is just no way.

 

So I'm going to say this again, and go a bit further: There is no native function in papyrus, of F4SE that can change Form IDs or RefIDs, and no method to do so otherwise. To that end, you can only change the editor ID in the CK, you can't change it in game at all, heck, SKSE team exposed it, but then realised editor IDs revert back upon game load.

 

You could CLONE objects and they would have their own unique RefIDs, while the original object's RefID is intact.

 

You can DELETE objects and they would lose their original RefIDs(but the base object in the CK, it's FormID is untouched) only to get a new one when they are recreated.

 

All in all, this is a non-issue.

Edited by Rasikko
Link to comment
Share on other sites

I wasn't clear when I made my initial inquiry.

Â

Is there a method in the Creation Kit to move an actor's spawn location from one interior cell to another? I should have just plainly asked that before we started chasing rabbits.

 

Unless thereâs some hidden command, it looks like if I want to move her spawn marker to the new cell, Iâd have to delete the old one and replop her (which is what Iâm trying to avoid). Iâm leaning towards the script solution.

Edited by Carreau
Link to comment
Share on other sites

  • Recently Browsing   0 members

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