Something wrong with if else conditions...

Hi ! in my code i am creating a shield power up … what i want when i collide(collect) RollerShoes powerup, then in my script OnCollitionEnter with Hardle my first block turns false if (rollerShoes== false); and second turns true if (rollerShoes==true), but whats happening OnCollition it executes both of the block… i don’t where is the problim :confused:
here is the code
#pragma strict

	var powerUpSound: AudioClip; 
	var rollerShoes: boolean= false; //this is for the rollerShoes power up,when true power up is on
	
	GetComponent(forwardmove);
	GetComponent(Timer);
	GetComponent(MagnetPwup);
	GetComponent(PowerRun);
	GetComponent(TouchJump);
	 
	function OnCollisionEnter(player: Collision)
	{
	//////////////Hardle////////////////
			if(player.gameObject.tag=="Hardle")
		{
			if (rollerShoes== false); // for roller shoes power up
			{
			print("rollerShoes is On");
			Application.LoadLevel(0);
//			Timer.timer=false;
//			forwardmove.flag1= false;
//			MagnetPwup.magnet= false;
//			PowerRun.shield=false;
//			TouchJump.flag=false;
//			TouchMovement.flag=false;
			}
//		}
			 if (rollerShoes==true)
			{
			Destroy(player.gameObject);
			print("destroy");
			yield WaitForSeconds(2);
			rollerShoes=false;
			}
		}
		else if(player.gameObject.tag=="Magnet")
		{
			audio.PlayOneShot(powerUpSound);
			Destroy(player.gameObject);
			MagnetPwup.magnet= true;
			yield WaitForSeconds(12);
			MagnetPwup.magnet= false;
		
		}
		
		else if(player.gameObject.tag=="PowerShield")
		{
			audio.PlayOneShot(powerUpSound);
			Destroy(player.gameObject);
			PowerRun.shield= true;
	//		Time.timeScale=2.0;
			yield WaitForSeconds(12);
			Time.timeScale=1.0;		
			PowerRun.shield= false;
		}	
		else if (player.gameObject.tag=="RollerShoes")
		{
			Destroy(player.gameObject);
			rollerShoes=true;
			print("its true");
		}
	}

if (rollerShoes== false);

Drop the semi colon ; at the end of this line. The scope after this is not covered by your if statement because the semi colon terminates it, so it will execute regardless if the condition is true or false.