UI Ammo Counter Help

I was Wondering how i would add a delay to this script when i minus 1 from the ammo count
as they time it takes to take 1 away from ammo is to fast

 public var AmmoInMag : int = 30;
 var UiTextAmmo : UI.Text;
     
 function Start (){
     UiTextAmmo = GetComponent(UI.Text);
 }
 function update ()
 {
 if(UiTextAmmo != null) {
 UiTextAmmo.text = AmmoInMag.ToString ();
if(Input.GetButton("Fire1"))
		{
		AmmoInMag -= 1;
		}
	}
}

You can do:

if(Input.GetButton("Fire1")){
   Shoot();
}

and then declare the Shoot() function:

function Shoot(){
   yield WaitForSeconds(0.5f); //wait 1/2 seconds
   AmmoInMag--;
}

Pay attention to another thing: your code cannot actually work, because Update has the lowercased u.