x


I die instantely

I know this is probably a Stupid question BUT I was wondering why my script is working this way. this is my script for enemy shooting


var LookAtTarget : Transform;
var damp : float = 6.0;
var nextShotTime : float = 0.0;
var timeBetweenShots : float = 2.0;
var damage = 50;

function Update()
{
     if(LookAtTarget)
     {
          var rotate = Quaternion.LookRotation(LookAtTarget.position - transform.position); 
          transform.rotation = Quaternion.Slerp(transform.rotation, rotate, Time.deltaTime * damp);

          if (nextShotTime 

When I start playing it works to an extent but when I do get hit I die instantly, no delay or health loss, just instant. Also the other script is C#. I am not sure on the the limits of contacting other languages.

this is my health script:


using UnityEngine;
using System.Collections;

public class playerhealth : MonoBehaviour {
	public int maxHealth = 100;
	public int curHealth = 100;
	
	public float healthBarLength;

	// Use this for initialization
	void Start () {
		healthBarLength = Screen.width / 2;
	
	}
	
	// Update is called once per frame
	void Update () {
		adjustcurHealth(0);

		
	}
		
		void OnGUI() {
			GUI.Box(new Rect(10, 10, healthBarLength,  20),  curHealth + "/" + maxHealth);
		
	}



	public void adjustcurHealth(int adj) {
		curHealth += adj;
		
		if(curHealth < 0)
		    curHealth = 0;
		if(curHealth > maxHealth)
			curHealth = maxHealth;
		
		if(maxHealth < 1)
			maxHealth = 1;
		if(curHealth 
more ▼

asked Jul 24 '11 at 04:22 PM

user-7337 (google) gravatar image

user-7337 (google)
46 5 6 10

please format your code.

Jul 24 '11 at 09:34 PM Chris D
(comments are locked)
10|3000 characters needed characters left

2 answers: sort newest

You've written:

script.curHealth = -damage;

when you presumably mean:

script.curHealth -= damage;

(thank @SisterKy for improving the formatting)

more ▼

answered Jul 24 '11 at 11:30 PM

Waz gravatar image

Waz
6.4k 22 33 71

(comments are locked)
10|3000 characters needed characters left
if(maxHealth < 1)
    maxHealth = 1;
if(curHealth <= 0)

I believe the problem is that you have an unfinished part of your script here. after you put if(curHealth <= 0) you have to put what happens if that statement is true. for instance:

if(curHealth <= 0)
        curHealth = 0;
more ▼

answered Jul 24 '11 at 10:29 PM

PaulBrasfield gravatar image

PaulBrasfield
41 5 7 8

The code does, but it's very poorly formatted.

Jul 24 '11 at 11:17 PM Waz
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x383
x329
x275
x179
x71

asked: Jul 24 '11 at 04:22 PM

Seen: 548 times

Last Updated: Jul 24 '11 at 11:30 PM