I'm making a mulitiplayer game and I want to make my character teleport to
a different place by pressing a button. The character uses the
FPSWalker script and character controller for moving.
So far I've made a button which has this code, but the character doesn't move.
var position : Vector3 ;
private var player : Transform;
function Start ()
{
var player=gameObject.FindWithTag("Player").transform;}
function OnGUI () {
if (GUI.Button (Rect (10,10,150,100), "my place")) {
print(transform.position.x);
}
if (GUI.Button (Rect (200,10,150,100), "start")) {
transform.position.x=0;
}
}
The script works with simple objects but not with my character.
Any ideas of what is my mistake? Any help would be very appreciated :-).
private var player : Transform;
function Start ()
{
var player = GameObject.FindWithTag("Player").transform;
}
function OnGUI ()
{
if (GUI.Button (Rect (10,10,150,100), "my place"))
{
Debug.Log("My place " + player.position);
}
if (GUI.Button (Rect (200,10,150,100), "start"))
{
player.position = new Vector3(0, player.position.y, player.position.z);
}
}
actually I solved this problem with this script tha I've found
using UnityEngine;
using System.Collections;
public class Teleport : MonoBehaviour {
public Transform Teleport1;
// Update is called once per frame
void Update () {
}
void OnGUI() {
if(GUI.Button(new Rect(10, 50, 75, 25), "Teleport1")) {
transform.position = Teleport1.position;
}
}
}
you assign this script to your character, and you also assign to this script an object which you put to the place, where you want your character to teleport