There is something going on with my player or enemy script code. After I die, many functions are not useable. The first I noticed was a powerup that works when the player comes in contact with an enemy. It will work until the player dies. Then it and other functions stop working.
Now that I’m working on my GUI, I’m noticing that it isn’t counting the number of times the player is dying. (side note, not sure if I want to count the number of times the player dies, or count it down from a set amount until getting a game over.) Note: it counts the first death, but then nothing afterwards, no matter how many different ways I try to kill the player.
I have a counter used for counting coins, and regardless of whether or not the player dies, the tally for that works as expected because it has nothing to do with my enemy and playerscript. Clearly something is wrong with how the player dies, right?
My skype is: Tekksin
The part of my enemy script involving this issue reads:
private var done = false;
function OnTriggerEnter(other : Collider){
if(!stomp){
if(other.tag == "Player"){
if(player.Diamond == true){
coin = Instantiate(thePrefab, transform.position, Quaternion.identity);
Destroy(gameObject);
}
else if(player.Pick == true && player.Diamond == false){
player.Pick = false;
return;
}
else {
var Player : GameObject = Instantiate(Player, spawnPoint.position, Quaternion.identity);
Destroy(other.gameObject);
if(!done){
Lives.lifeTotal =- 1;
done = true;
}
}
}
}
}
There isn’t a relevant part of my “player script” that I see could interfere with this. The respawning function isn’t on it, so here is my respawn script:
private var done = false;
var Player : GameObject;
var spawnPoint : Transform;
function OnTriggerEnter(other : Collider) {
if(other.tag == "Player"){
Destroy(other.gameObject);
var Player : GameObject = Instantiate(Player, spawnPoint.position, Quaternion.identity);
if(!done){
Lives.lifeTotal =- 1;
done = true;
}
}
}
here is my GUI script:
static var lifeTotal = 0;
function OnGUI (){
guiText.text = "Lives: " + lifeTotal;
}
I hope I’m not missing some info. What the hell am I doing wrong??
Thanks so much for the reply. Player refers to the character being controlled. I don't do code with commenting because it makes me feel like I'm cluttering things up. I changed the name, but I'm unsure why you asked me to.. edit: I changed the variable to read: var Player : GameObject = Instantiate(newPlayer, spawnPoint.position, Quaternion.identity); and the same problem occurs. I subsequently edited the variable at the top of that (enemy) script: var newPlayer : GameObject; to get the new codeword "newPlayer" to work in that variable statement.
– Tekksinthat is exactly what is happening. The player is being instantiated new and the old one is destroyed. What from my code tells you different? And the second option you propose is interesting and is something I'm currently looking into. I just don't know how to translate the character. Any ideas? like I said, I'm researching it now. If I find out, I'll post my new code and the effects of it.
– Tekksinit's because my script reads "lives.lifeTotal =-1;" which essentially reads "lives = -1" =_= lol. It was updating, it was just restating that the lives value was -1 over and over again lol. SUCH A STUPID MISTAKE I can't believe nobody said anything about it lol. it's supposed to be "-=" not "=-" lol. damn. All the waste hours. Oh well.
– Tekksin