Jump to content

setAngle has no effect on placeAtMe'd objectreference


pra

Recommended Posts

What I want to do is place an objectreference at another one, but facing away from it.

 

Sounds easy enough:

ObjectReference target = to.placeAtMe(targetActivatorType)
    float angZ = target.GetAngleZ()
    Debug.trace("PRA: target zAngle="+angZ)
    Debug.trace("PRA: teleporter zAngle="+to.getAngleZ())
    angZ += 180
    if(angZ > 360)
        angZ -= 360
    endif
    Debug.trace("PRA: fixed zAngle="+angZ)
    target.setAngle(target.GetAngleX(), target.GetAngleY(), angZ)
    utility.wait(0.1)
    Debug.trace("PRA: target zAngle="+target.getAngleZ())

The output, however, is:

[10/19/2017 - 12:27:56PM] PRA: target zAngle=125.263725
[10/19/2017 - 12:27:56PM] PRA: teleporter zAngle=125.263725
[10/19/2017 - 12:27:56PM] PRA: fixed zAngle=305.263733
[10/19/2017 - 12:27:56PM] PRA: target zAngle=125.263725

together with the fact that the player is still facing the wrong way after I moveTo him to target later.

 

How do I fix this? Is this a script issue? do I have to do something to the activator I'm placing?

 

"to" in the above example is a terminal, meaning it has an interaction marker. I know that if you moveTo an actor or the player into it, he will "enter" the interaction marker. Does this happen to activators as well? If yes, how can I force it to get out?

 

 

edit:

 

 

If called on an object whose 3D is not currently loaded (even if the reference is persistent -- which of course it would be if you have an ObjectReference variable pointing at it with which to call this function), this will fail. There will be no error in the script log, but the angles will not actually be changed.

is it this reason?

Edited by pra
Link to comment
Share on other sites

  • Recently Browsing   0 members

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