Hello, We are trying to make a random pickup appear in a random place. i think i have the sort of right lines but it keeps giving us an error message so it's definatly not right lol. This is what we have so far.
var prefabOnLevel : boolean = false;
var nextSpawnTime : float = 2.0;
var timeBetweenSpawns : float = 30.0;
function Awake()
{
var SpawnWhat : GameObject[] = GameObject.FindGameObjectsWithTag ("PickUp");
var SpawnThis : GameObject = SpawnWhat[Random.Range(0,SpawnWhat.length)];
var PickUpSpawn : GameObject[] = GameObject.FindGameObjectsWithTag ("PickUpSpawn");
var SpawnHere : Transform = PickUpSpawn[Random.Range(0, PickUpSpawn.length)].transform;
}
function Update ()
{
if (!GameObject.FindWithTag ("PickUp"))
{
prefabOnLevel = false;
}
if (nextSpawnTime < Time.time)
{
nextSpawnTime = Time.time + timeBetweenSpawns;
if (prefabOnLevel == false)
{
Instantiate (SpawnThis, SpawnHere.position, SpawnHere.rotation);
Debug.Log ("should be a pick up in level");
}
}
}
This particular format gives us the error of Unknown variable on the Instantiate line.
function Update ()
{
if (!GameObject.FindWithTag ("PickUp"))
{
prefabOnLevel = false;
}
if (nextSpawnTime < Time.time)
{
nextSpawnTime = Time.time + timeBetweenSpawns;
if (prefabOnLevel == false)
{
var SpawnWhat : GameObject[] = GameObject.FindGameObjectsWithTag ("PickUp");
var SpawnThis : GameObject = SpawnWhat[Random.Range(0,SpawnWhat.length)];
var PickUpSpawn : GameObject[] = GameObject.FindGameObjectsWithTag ("PickUpSpawn");
var SpawnHere : Transform = PickUpSpawn[Random.Range(0, PickUpSpawn.length)].transform;
Instantiate (SpawnThis, SpawnHere.position, SpawnHere.rotation);
Debug.Log ("should be a pick up in level");
}
}
}
this format gives us the error of "Array index is out of range" at runtime, in the line var SpawnThis. What are we doing wrong?