How to deplete health every second

Im trying to deplete the health of the player by 1 for every second they are in the gassed environment. However with what i have at the moment the health keeps jumping up and down randomly and has left me puzzled as to whats going on.

the code i have so far is as follows:

public var exposure = 802;

function Update () 
{
if(exposure > -260)
		{
			exposure =  Time.time  - exposure;
			//print("bar length " + transform.localScale.x); //check players health.
			transform.localScale = new Vector3(exposure / 3000f,0,transform.localScale.z);	//change scale of healthbar
			
		}

if(exposure <= 799)
		{
			//print("your in shelter, now your exposure will reganerate"); //check players health.
			exposure++;
			transform.localScale.x += (exposure / 1275000f);	//change scale of healthbar
			
		}
}

Anyone know how I might go around fixing this?

Really not sure what your code above is doing . . .But, try this:

var Health : float = 100 ;

function Update ( ){

   Health -= 1 * Time.deltaTime ;
}

You can add in your if statements to determine when this happens .
Also, change the '1 * ’ to 'x * ’ whatever amount per second you want to deduct health.

That will deplete health by 1 every second . That’s all it takes :smiley: Hope this helps .

just create a function that yields every 1 second.
this will remove health every 1 second

bool IsRemovingHealth=false;

function Update () 
{
if(exposure > -260)
       {
if(!IsRemovingHealth)
{

StartCoroutine(REmoveHealth());

}
       }

if(exposure <= 799)
       {
         //print("your in shelter, now your exposure will reganerate"); //check players health.
         exposure++;
         transform.localScale.x += (exposure / 1275000f); //change scale of healthbar

       }
}

    IEnumerator REmoveHealth()
    {
IsRemovingHealth=true;
        while(exposure > -260 && isRemovingHealth)
        {

         exposure =  Time.time  - exposure;
         //print("bar length " + transform.localScale.x); //check players health.
         transform.localScale = new Vector3(exposure / 3000f,0,transform.localScale.z);   //change scale of healthbar
           yield return new WaitForSeconds(1f);
        }

IsRemovingHealth=false;
    }

i wrote it in the web so there maybe some typos.

Sfc