Editing
MoveTo - ObjectReference
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
[[Category:Scripting]] [[Category:Papyrus]] [[Category:Latent Functions]] '''Member of:''' [[ObjectReference Script]] Moves this reference to the location of the target reference, with the specified offset. == Syntax == <syntaxhighlight lang="papyrus"> Function MoveTo(ObjectReference akTarget, float afXOffset = 0.0, float afYOffset = 0.0, float afZOffset = 0.0, bool abMatchRotation = true) native </syntaxhighlight> == Parameters == *akTarget: The target reference to move this one to. *afXOffset: How much to offset the move in the X direction. **'''Default:''' 0.0 *afYOffset: How much to offset the move in the Y direction. **'''Default:''' 0.0 *afZOffset: How much to offset the move in the Z direction. **'''Default:''' 0.0 *abMatchRotation: Whether the moved object should match the rotation of the target object or not **'''Default:''' True == Return Value == None. == Examples == <syntaxhighlight lang="papyrus"> ; Move Bob to his house, designated by a marker Bob.MoveTo(BobsHouseMarker) </syntaxhighlight> <br/> <syntaxhighlight lang="papyrus"> ; Move Bob to his house, but don't match the rotation of the marker Bob.MoveTo(BobsHouseMarker, abMatchRotation = false) </syntaxhighlight> <br/> <syntaxhighlight lang="papyrus"> ; Moves a portal 120 units in front of the player, 35 units under their height Actor PlayerRef = Game.GetPlayer() Portal.MoveTo(PlayerRef, 120.0 * Math.Sin(PlayerRef.GetAngleZ()), 120.0 * Math.Cos(PlayerRef.GetAngleZ()), PlayerRef.GetHeight() - 35.0) </syntaxhighlight> == Notes == * MoveTo() should be avoided for placing other actors in sight of the player, as they will suddenly appear in an unrealistic way. Instead, consider placing them nearby but out of sight, and making them approach the player themselves, using [[PathToReference - Actor|PathToReference]] or [[ForceGreet (Procedure)|ForceGreet]]. * Flora objects cannot be moved using MoveTo. * Making an actor MoveTo() a furniture reference will make the actor immediately assume the position of "using" that furniture, without playing the furniture entrance animation. Example: PlayerRef.MoveTo(BedReference) will make the player lie down on the bed reference (without playing the bed entrance animation). * MoveTo can cause undesirable results when moving an object to another actor, whose X and Y rotation angles are relative to that actor's looking angle, not their rotation relative to the world. Furthermore, as with [[SetPosition - ObjectReference|SetPosition]], MoveTo doesn't take uneven terrain into account. **In order to "straighten" or flatten an object's rotation, set the abMatchRotation parameter to False, or call [[SetAngle - ObjectReference|SetAngle]] similar to the following: <syntaxhighlight lang="papyrus"> myObject.MoveTo(Game.GetPlayer()) ;Or, whatever the target of the MoveTo() is myObject.SetAngle(0.0, 0.0, 0.0) </syntaxhighlight> * Actors moved with this function are always rotated correctly relative to the world. == Bugs == * If an actor is already in the cell, and the player is also in the cell, leaving the cell, or arriving in the cell, MoveTo() does not function. As cells can be quite large in cities and multi-level buildings, ensuing dialogue can occur with the actor out-of-sight and/or out-of-hearing. Try [[DisableNoWait - ObjectReference|DisableNoWait]](), MoveTo(), [[EnableNoWait - ObjectReference|EnableNoWait]](), [[EvaluatePackage - Actor|EvaluatePackage]]() sequence. Take care that the sequence happens out-of-sight of the player, such as during passage through a loading [[Door|door]]. * As of 1.9, calling Game.GetPlayer().MoveTo(AnyBedReference) will cause the Player's eyes to become stuck shut. They can only be opened again by using the showracemenu console command, or by reloading the game. ** New workaround: The player's eyes/facial expression can be quickly and easily reset by using [[Say - ObjectReference|Actor.Say()]] to make the player "say" a topic that the player character has voice lines for. A good example of a topic like this is the DialogueGenericPoisonCoughBranchTopic from the DialogueGeneric quest. You can also make your own custom, silent topic so long as it has sound (can be a silent .wav file) and lip sync. Note: [[Say - ObjectReference|Actor.Say()]] must be called <u>after</u> the player is completely out of the bed and not performing any bed animations, including the "bed get up" animation or else it will not correctly reset the player's face. * All movement functions can cause [[SetMotionType - ObjectReference#Bugs|major issues]] when used on a reference that has had a [[SetMotionType - ObjectReference|motion type override]] applied. * If you are moving a reference to an unloaded cell, its rotation will not be changed. This is an issue that is expected to affect all movement functions, and it was discovered via disassembly of Skyrim's 2011 release. (SKSE DLL authors will want to know that the problem occurs within the ''MoveRefrToPosition'' subroutine.) == See Also == *[[ForceGreet (Procedure)]] *[[MoveToInteractionLocation - ObjectReference]] *[[MoveToMyEditorLocation - ObjectReference]] *[[ObjectReference Script]] *[[PathToReference - Actor]] *[[SetPosition - ObjectReference]] *[[Unit]] {{Languages}}
Summary:
Please note that all contributions to the CreationKit Wiki are considered to be released under the Creative Commons Attribution-ShareAlike (see
CreationKit:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Languages
(
edit
)
Template:LanguagesBox
(
edit
)
Template:LanguagesLang
(
edit
)
Template:LanguagesTitle
(
edit
)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Search
Navigation
Landing page
Tutorials
Game Systems
Editor Reference
Scripting Reference
Recent changes
Help
Tools
What links here
Related changes
Special pages
Page information
Page values