Quantcast
Channel: Questions in topic: "error"
Viewing all articles
Browse latest Browse all 7934

Tower defense LevelMaster script error

$
0
0
Hi guys i'm making a tower deffense game and i have one problem with my script: #pragma strict static var playerDamage = 0; //states var waveActive : boolean = false; var spawnEnemies : boolean = false; //player variables var healthCount : int = 10; var scoreCount : int = 0; //Gui Variables var waveText : UILabel; var healthText : UILabel; var scoreText : UILabel; //define Wave specific variables var waveLevel : int = 0; var difficultyMultiplier : float = 1.0; var waveLegth : float= 30.0; var intermissionTime : float= 5.0; private var waveEndTime : float = 0; //enemyy variables var enemyPrefabs : GameObject[]; var flyerSpawns : Transform; var flyerSpawnPoints : Transform[]; var respawnMinBase : float = 3.0; var respawnMaxBase : float = 10.0; var respawnMin : float= 3.0; private var respawnMax : float = 10.0; var respawnInterval : float= 2.5; var enemyCount : int = 0; private var lastSpawnTime : float = 0; // // // function Start () { flyerSpawnPoints = new Transform[flyerSpawns.childCount]; var i : int = 0; for(var theSpawnPoint : Transform in flyerSpawns) { flyerSpawnPoints[i] = theSpawnPoint; i++; } SetNextWave(); StartNewWave(); } function SetNextWave() { waveLevel++; difficultyMultiplier = ((Mathf.Pow(waveLevel,2))*0.005)+1; respawnMin = respawnMinBase * (1/difficultyMultiplier); respawnMax = respawnMaxBase * (1/difficultyMultiplier); } function StartNewWave() { UpdateHUD(); SpawnNewEnemy(); waveEndTime = Time.time + waveLegth; waveActive = true; spawnEnemies = true; } function UpdateHUD() { waveText.text = "Wave: " + waveLevel; scoreText.text = "Score: " + scoreCount; healthText.text = "Shields: " + healthCount; } function SpawnNewEnemy() { //get a random index to choose an enemy prefab with var enemyChoice = Random.Range(0,enemyPrefabs.length); //since flying and ground units probably shouldnt in the same location, we have to seperate this part and spawn based on a tag var spawnChoice : int; if(enemyPrefabs[enemyChoice].tag == "FlyingEnemy") { //get a random index to choose spawn location with spawnChoice = Random.Range(0,flyerSpawnPoints.length); //spawn the flyer at a chosen location and rotation Instantiate(enemyPrefabs[enemyChoice], flyerSpawnPoints[spawnChoice].position, flyerSpawnPoints[spawnChoice].rotation); } else { // } enemyCount++; lastSpawnTime = Time.time; respawnInterval = Random.Range(respawnMin, respawnMax); } // Update is called once per frame function Update () { if(waveActive) { if(Time.time >= waveEndTime) { spawnEnemies = false; if(enemyCount ==0) { FinishWave(); } } if(spawnEnemies) { if(Time.time > (lastSpawnTime + respawnInterval)) { SpawnNewEnemy(); } } } } function FinishWave() { waveActive = false; yield WaitForSeconds(intermissionTime); SetNextWave(); StartNewWave(); } /* function SpawnFlyer() { nextFlyerSpawnTime += flyerInterval; var i : int = Random.Range(0,flyerSpawnPoints.Length); newFlyer = GameObject.Instantiate(flyerPrefab, flyerSpawnPoints[i].position, flyerSpawnPoints[i].rotation) as GameObject; } */ And problem: IndexOutOfRangeException: Array index is out of range. LevelMaster.SpawnNewEnemy () (at Assets/Skrypty/LevelMaster.js:88) LevelMaster.StartNewWave () (at Assets/Skrypty/LevelMaster.js:67) LevelMaster.Start () (at Assets/Skrypty/LevelMaster.js:51)

Viewing all articles
Browse latest Browse all 7934

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>