Jump to content

Anyone seen papyrus error log error: (ObjectRef): cannot be moved ?


Recommended Posts

I have a function that finds and removes local CK placed beds in a workshop area to a remote holding cell.

Because they are generally unassignable in workshop mode and just disabling them does not actually do the full job as the workshop scripts keep finding and assigning them.

Works for all placed beds (Abernathy, Tenpines & etc) but gets that error on 0013B35A which is a bed in Homeplate.

That reference can be moved around in workshop mode and console [ 0013B35A.MoveTo 22050d77 ] the HoldingMarkerRef works fine.

What would cause Papyrus MoveTo to fail with "cannot be moved " on valid source and destination ObjectReferences ?

Link to comment
Share on other sites

The native code short-circuits ObjectReference.MoveTo() if called on an editor placed Furniture reference that doesn't have FurnitureTypePowerArmor [KYWD:0003430B]. A workaround could be calling AddKeyword() before and RemoveKeyword() after MoveTo().

As for why the restriction, I'm not sure but maybe it's related to save game reloading or furniture markers.

It appears moving is blocked in MoveToEditorLocation(), SetAngle(), SetPosition(), MoveToNode() and MoveToNearestNavmeshLocation() too.

  • Like 1
Link to comment
Share on other sites

I wish I had bothered to learn C so I could poke the exe with IDA ๐Ÿ˜ž

Memo to me in 1990: read that "Learn C Now" book you bought and will still have on the damn "to read" shelf in 2025.

Link to comment
Share on other sites

Learning C is one thing, and it isn't particularly difficult for an experienced programmer. But unless someone else has reverse engineered what you're looking into, reading native functions also involves reading assembly, which is several steps beyond that.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
ร—
ร—
  • Create New...