Jump to content

"linked" means exactly what?


Recommended Posts

The wiki actually doesn't *explain* the concept of "linked", neither as it pertains to CK editor work nor papyrus coding, it just refers to it a whole lot. A rather huge blind spot.

 

There are tons of ObjectReference functions that use this reference type, but given above fact I have no idea how to use them.

What counts as "linked", how and at what point in the process CK editing ---> Gameplay do you perform this "linking". Are there native "Links" already in place that I can make use of, for instance will weapon mods automatically link to weapons once you apply them (just a hypothetical example, not a specific question)?

 

 

Link to comment
Share on other sites

As i know, only applicable to REFR, i.e. object instances. Either assigned in editor or by SetLinkedRef(). Does what says, links one object to another by an optional keyword for easy and structured programmatic or hardcoded access from side of link keeper. Also tags an object as belonging to a family with a particular root instance, in some way of understanding. That's how actors are assigned their power armor, work objects, how chained patrol markers work, workshop structures and settlers are all linked to home (WorkshopItemKeyword) etc., well everything in game. Pretty flexible and convenient once you get the concept, and very interesting for dynamic quest alias interlinking. Basically, the same concept child-parent is used for anything in game - animations tree, dialogue infos and what's there else.

Useful Conditions are HasLinkedRef, IsLinkedTo.

 

Though not great for Parent-Child direction, it looks a lot of random processing to fetch every object linked to a particular anchor, e.g. buildable objects are all linked to workshop for instant access, but workshop isn't aware about their presence untill starts to search intentionally. Or let's say EnableParent, needs to check every object in world and determine if that has a link to it (IsLinkedTo), doesn't look very efficient, unless there is a dynamic list maintained for each parent in background. It's curious how coded internally. Would be curious to know how coded internally, must be something efficient.

Edited by hereami
Link to comment
Share on other sites

Yes, normally they're all belongings of a Workshop (WorkhsopItems), like a wall or table.

 

Also have other properties like WorkshopID (which makes it problematic for companions to return back in original location, for example), but i don't remember all details. It might be curious to look into WorkshopParentScript in general, AddActorToWorkshop in particular.

Edited by hereami
Link to comment
Share on other sites

Yes, normally they're all belongings of a Workshop (WorkhsopItems), like a wall or table.

 

Also have other properties like WorkshopID (which makes it problematic for companions to return back in original location, for example), but i don't remember all details. It might be curious to look into WorkshopParentScript in general, AddActorToWorkshop in particular.

to clarify...

We dont link objects like walls etc...to the workshop... We link resources to it like beds,jobs,water etc...and ofc certain markers ,triggers etc.. (but those with other key works)

Edited by greekrage
Link to comment
Share on other sites

Awesome. The scope of what can be done is growing a little bit in my eyes.

 

With functions like GetWorkshopOwnedObjects() one can put keywords on stuff, then use SetLinkedRef() and thus link them, yes? Although the problem of 128-limit arrays will rear its ugly head at that point... Well, it's something.

Link to comment
Share on other sites

 

Yes, normally they're all belongings of a Workshop (WorkhsopItems), like a wall or table.

 

Also have other properties like WorkshopID (which makes it problematic for companions to return back in original location, for example), but i don't remember all details. It might be curious to look into WorkshopParentScript in general, AddActorToWorkshop in particular.

to clarify...

We dont link objects like walls etc...to the workshop... We link resources to it like beds,jobs,water etc...and ofc certain markers ,triggers etc.. (but those with other key works)

 

We don't, but workshop mode does. Every thing built or affiliated to a workshop has the WorkshopItem link, even actors (hm, and workshop itself somehow..). That's according to my observations at least.

 

Though speaking of that, it becomes very curious how a workshop handles stored items. When you store a built object it loses the link and gets disabled, but not deleted immediately (because can be reenabled), then a new item instance is created in place of "stored", even if that was one of a kind in this workshop. Very unclear what happens to "stored" or scrapped objects then, deleted later on some cleanup? But then a to-do list should be maintained since the link was lost. Kinda offtopic, i've recently seen a related discussion in mod requests.

Edited by hereami
Link to comment
Share on other sites

  • Recently Browsing   0 members

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