hi I know that this script is seen often but I have an another problem with a damage and health scripts. I think it's the GetComponent part, well anyway if you could help that would be great.

/PlayerHealth/

using UnityEngine;
using System.Collections;

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


	void Start () {
	healthBarLength = Screen.width / 2;
	}
	

	void Update () {
	AddjustCurrentHealth(0);
		
	}
	
	
	void OnGUI(){
	GUI.Box(new Rect(10, 10, healthBarLength, 20), curHealth + "/" + maxHealth);	
	}
	
   
	public void AddjustCurrentHealth(int damage) {
	  curHealth -= damage;	
		
		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);
	}
}

/bullet/

using UnityEngine;
using System.Collections;

public class bullet : MonoBehaviour
{
public int Damage = 10;
public float Speed = 1500f;
public float lifetime = 5f;

void Start()
{
            
	rigidbody.AddRelativeForce(new Vector3(0,0,Speed), ForceMode.Impulse);
	Destroy(gameObject, lifetime);
}
void Update()
{
	
}
void OnTriggerEnter (Collider col)
{  
	print("y1");
	if(col.tag == "Player")
	{
	col.gameObject.SendMessageUpwards("AddjustCurrentHealth", Damage, SendMessageOptions.DontRequireReceiver);
	print("y2");
	}	
} 

}

You are passing a negative value as damage and then subtracting it on the other side as well. Pass a positive damage value to your health script.

hi everyone I figured out the problem, I put my bullet speed to fast for the game engine to compute it. the script above works perfectly fine in C#. thank you to everyone that help and those who even attempts.