Difference between revisions of "GetActorOwner - Cell"
Jump to navigation
Jump to search
imported>Rhavlovick m (1 revision: Clobber re-import by Henning) |
imported>Terra Nova2 (add note with a function to take in account for inherited cell ownership.) |
||
Line 20: | Line 20: | ||
; Does the emperor's base actor own the non-life star? | ; Does the emperor's base actor own the non-life star? | ||
bool ownsNonLifeStar = (NonLifeStarProperty.GetActorOwner() == Emperor.GetActorBase()) | bool ownsNonLifeStar = (NonLifeStarProperty.GetActorOwner() == Emperor.GetActorBase()) | ||
</source> | |||
== Notes == | |||
As this function doesn't return ownership for items in containers that also inherit ownership from the cell, you have to use the following function: [http://forums.bethsoft.com/topic/1530780-wipz-skyrim-script-extender-skse/page-4#entry24300488 Source] | |||
<source lang="papyrus"> | |||
Actor Function GetInheritedOwner(ObjectReference aObj, ObjectReference aContainer) | |||
Actor owner = aObj.GetActorOwner() | |||
if !owner | |||
if aContainer | |||
owner = aContainer.GetActorOwner() | |||
endIf | |||
if !owner | |||
if aContainer | |||
owner = aContainer.GetParentCell().GetActorOwner() | |||
else | |||
owner = aObj.GetParentCell().GetActorOwner() | |||
endIf | |||
endIf | |||
endIf | |||
return owner | |||
EndFunction | |||
</source> | </source> | ||
Latest revision as of 01:56, 7 September 2015
Member of: Cell Script
Gets the ActorBase that owns this cell. Will return None if the cell isn't owned by an actor.
Syntax[edit | edit source]
ActorBase Function GetActorOwner() native
Parameters[edit | edit source]
None.
Return Value[edit | edit source]
The ActorBase that owns this cell.
Examples[edit | edit source]
; Does the emperor's base actor own the non-life star?
bool ownsNonLifeStar = (NonLifeStarProperty.GetActorOwner() == Emperor.GetActorBase())
Notes[edit | edit source]
As this function doesn't return ownership for items in containers that also inherit ownership from the cell, you have to use the following function: Source
Actor Function GetInheritedOwner(ObjectReference aObj, ObjectReference aContainer)
Actor owner = aObj.GetActorOwner()
if !owner
if aContainer
owner = aContainer.GetActorOwner()
endIf
if !owner
if aContainer
owner = aContainer.GetParentCell().GetActorOwner()
else
owner = aObj.GetParentCell().GetActorOwner()
endIf
endIf
endIf
return owner
EndFunction