Teleport Script Problem (Please help)
I need some help with this script. It should check if you're a relative location and if yes it teleports to you a new one. Then does that again. The problem is that after the second if, it teleports to (8, 1, 10) and not to (35, 1, 149).
void Start () {
}
void Update () {
if((transform.position.z > 128)&&(transform.position.x < 36)&&(transform.position.x > 31)){
transform.position = new Vector3(8, 1, 10);
}
if((transform.position.x < -22)&&(transform.position.z < 18)&&(transform.position.z > 9)){
transform.position = new Vector3(35, 1, 149);
}
}
}
Answer by vittu1994 · May 29, 2016 at 12:51 PM
I would recommend not to have the position values hardcoded and instead just assign objects and use their transform to set positions which you can then move around without having to change numbers in the code.
Its as simple as having empty gameobjects laying around in your scene and having your script reference these positions where you can call them stuff to keep track of them.
For your problem your operators are a bit weird in your if statements. Are you sure you dont want to use = or even just == where it will calculate the exact Vector3 position where your player will teleport. I think whats happening is that you want your player to reach and go through the second if-statement and get to its assigned position but it will fulfill the criteria for your first if-statement instead.
I would recommond to just have set transforms which you can move around in the scene where you can access them through script
I'm new to Unity, so can you please give me a link to something that will give me the needed commands and all. I don't know what I should do :D, code wise.
code wise its simpler than your example. Just create a bunch of gameobjects (empty or whatever) and throw them around in the scene. In the code, create a transform variable or two
public Transform teleportPosition1;
In the inspector u can drag the empty gameobject inside this variable.
if(transform.position == teleportPosition1.transform)
{
//your code
}
Your answer
Follow this Question
Related Questions
How do I fix my UnityEngine Reference? 1 Answer
It seems that Unity 5.4.1 has bug !!! 0 Answers
Can someone help me fix this bug? 1 Answer
Potential bug in unity or am I misunderstanding something? 1 Answer
Attaching sound to ImageTarget issues 0 Answers