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 <= Time.time)
          {
              Shoot();
              nextShotTime = Time.time + timeBetweenShots;
          }
     }

}

function Shoot()
{
     var hit : RaycastHit;
     var fwd = transform.TransformDirection (Vector3.forward);
    if (Physics.Raycast (transform.position,transform.forward,hit, 500)) {
      script = hit.collider.GetComponent("playerhealth");
		 script.curHealth = -damage;
		 
		 }
}

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 <= 0)
    {
        Destroy(gameObject);
		  
		
		healthBarLength = (Screen.width / 2) * (curHealth / (float)maxHealth);
	}
			
   }

 }		

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;

You’ve written:

script.curHealth = -damage;

when you presumably mean:

script.curHealth -= damage;

(thank @SisterKy for improving the formatting)