Difference between revisions of "KeepOffsetFromActor - Actor"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Terra Nova2
imported>Haravikk
(Moved example from bethsoft forum as they are closing down soon)
 
(2 intermediate revisions by 2 users not shown)
Line 22: Line 22:
*afOffsetAngleZ: the offset angle from the target actor, Z (degrees - most commonly used)
*afOffsetAngleZ: the offset angle from the target actor, Z (degrees - most commonly used)
**'''Default:''' 0.0
**'''Default:''' 0.0
*afCatchUpRadius: the radius at which the actor would run to catch up (anyone in a radius of 20 will run to catchup)
*afCatchUpRadius: the radius at which the actor would run to catch up (anyone outside a radius of 20 will run to catchup)
**'''Default:''' 20.0
**'''Default:''' 20.0
*afFollowRadius: the radius at which the actor won't move (anyone in a radius of 5 will not move)
*afFollowRadius: the radius at which the actor won't move (anyone within a radius of 5 will not move)
**'''Default:''' 5.0
**'''Default:''' 5.0


Line 39: Line 39:
; Have the stalker keep close to the player with a larger follow radius
; Have the stalker keep close to the player with a larger follow radius
Stalker.KeepOffsetFromActor(Game.GetPlayer(), 0.0, 0.0, 20.0, afFollowRadius = 10.0)
Stalker.KeepOffsetFromActor(Game.GetPlayer(), 0.0, 0.0, 20.0, afFollowRadius = 10.0)
</source>
<br>
<source lang="papyrus">
; Cause Runner to run forwards (lower offset magnitude will reduce speed)
Runner.KeepOffsetFromActor(Runner, 0.0, 0.0, -100.0, afFollowRadius = 0.0)
</source>
</source>


== Notes ==
== Notes ==
*The default values will cause the follower to continually run into the target, use larger values instead.  
*The default values will cause the follower to continually run into the target, use larger values instead.  
*This nifty if you want an NPC to walk next to another.
*This is nifty if you want an NPC to walk next to another.
*This function can be used as a way to force actors to walk in a direction, similar to Obscript's PlayGroup function. See [http://forums.bethsoft.com/topic/1585680-tutorial-make-an-npc-walk-forward-without-heavy-math/ Here.]


== See Also ==
== See Also ==
*[[Actor Script]]
*[[Actor Script]]
*[[ClearKeepOffsetFromActor - Actor]]
*[[ClearKeepOffsetFromActor - Actor]]

Latest revision as of 07:45, 27 February 2020

Member of: Actor Script

Forces the specified actor into a state where it will attempt to keep a given offset from another actor

Syntax[edit | edit source]

Function KeepOffsetFromActor(Actor arTarget, float afOffsetX, float afOffsetY, float afOffsetZ, float afOffsetAngleX = 0.0, \
    float afOffsetAngleY = 0.0,  float afOffsetAngleZ = 0.0, float afCatchUpRadius = 20.0, float afFollowRadius = 5.0) native

Parameters[edit | edit source]

  • arTarget: the target actor
  • afOffsetX: the offset from the target actor, in the actor's body space (so positive X is right of the actor), X
  • afOffsetY: the offset from the target actor, in the actor's body space, Y
  • afOffsetZ: the offset from the target actor, in the actor's body space, Z
  • afOffsetAngleX: the offset angle from the target actor, X (degrees - rarely used)
    • Default: 0.0
  • afOffsetAngleY: the offset angle from the target actor, Y (degrees - rarely used)
    • Default: 0.0
  • afOffsetAngleZ: the offset angle from the target actor, Z (degrees - most commonly used)
    • Default: 0.0
  • afCatchUpRadius: the radius at which the actor would run to catch up (anyone outside a radius of 20 will run to catchup)
    • Default: 20.0
  • afFollowRadius: the radius at which the actor won't move (anyone within a radius of 5 will not move)
    • Default: 5.0

Return Value[edit | edit source]

None.

Examples[edit | edit source]

; Have the stalker keep close to the player
Stalker.KeepOffsetFromActor(Game.GetPlayer(), 0.0, 0.0, 20.0)


; Have the stalker keep close to the player with a larger follow radius
Stalker.KeepOffsetFromActor(Game.GetPlayer(), 0.0, 0.0, 20.0, afFollowRadius = 10.0)


; Cause Runner to run forwards (lower offset magnitude will reduce speed)
Runner.KeepOffsetFromActor(Runner, 0.0, 0.0, -100.0, afFollowRadius = 0.0)

Notes[edit | edit source]

  • The default values will cause the follower to continually run into the target, use larger values instead.
  • This is nifty if you want an NPC to walk next to another.
  • This function can be used as a way to force actors to walk in a direction, similar to Obscript's PlayGroup function. See Here.

See Also[edit | edit source]