Wrong CoinCount, what should I do?

Hi there, my script has a weird behaviour. I’m making a mario like platformer.I settle up for the character to collect cois and display them in a GUIText, the case is, it is set up to add 1 to the display every time I collect one, but every now and then it adds more than one. Could anybody help me, PLEASE!!
HERE ARE MY TWO SCRIPTS:

THE FIRST ONE:

static var ruppees :int;
var coinSound : AudioClip;
var coinManager:CoinManager;

function Awake(){
 coinManager = GameObject.FindWithTag("CoinsDisplay").GetComponent(CoinManager);
}

function OnControllerColliderHit(col: ControllerColliderHit){

   if(col.gameObject.tag == "ruppees"){
   
      coinManager.ruppees ++;
	   //Debug.Log(coins);
		audio.PlayOneShot(coinSound);
		Destroy(col.gameObject);

	
}
   }

THE SECOND:

var coinDisplay : GUIText;
static var ruppees : int;
var playerCollision:PlayerCollision;
function Awake() {
playerCollision = GameObject.FindWithTag("Player").GetComponent(PlayerCollision);


}

function Update () {
guiText.text="Coins : "+ruppees.ToString();

}

Have you placed a debug in your OnControllerColliderHit() Method to see if it is the method being called twice when you don’t want it to? Then you could determine if it is an adding issue or a method call issue.

Something is wrong in your code (well, he would not be here otherwise mister obvious…). ruppees is a static variable from the CoinManager class. Still, in the first script you access ruppees via the coinManager reference to the instance of CoinManager (still with me?).

Try with:

function OnControllerColliderHit(col: ControllerColliderHit){
   if(col.gameObject.tag == "ruppees"){
      // See the cap C on the front.
      // It means the CoinManager class and no the reference from your GetComponent
      CoinManager.ruppees ++;
      //Debug.Log(coins);
      audio.PlayOneShot(coinSound);
      Destroy(col.gameObject);  
      col.collider.enabled = false;
    } 
}

Your GetCOmponent is useless here since it is a static variable.

Edit: As for your double count (since it was the main issue), you could try to disable the collider of the coin to avoid any other call.