unity freezes when i click play

ok so when i click the play button it freezes.
i know what is making it freeze one of my script called look
so here is what i have on it.

var theplayer : GameObject;
var range : int;
var laser : GameObject;
var launcherL : GameObject;
var launcherR : GameObject;
var laserspeed : int=150;

function Update () {
//checks the range
range=Vector3.Distance(theplayer.transform.position,
transform.position);
//looks at the player 
if(range<40);
transform.LookAt(theplayer.transform.position);
//shoots at the player (everything under this is what i think is making it freezes)
if(range<30&&range>0){
while(true)
fire();
}
}






function fire (){

Instantiate(laser,launcherL.transform.position,transform.rotation);}
Instantiate(laser,launcherR.transform.position,transform.rotation);

COULD SOMEONE FIX THE CODE THAT GET IT TO SHOOT WHEN IS IN RANGE OF THE PLAYER. YOU CAN CHANGE THE WHOLE WAY I DID THE SHOOT BIT.
THZ FOR ANYONE WHO HELPS

This bit:

while(true)

That’s an infinite loop, which means Unity will become “stuck” executing it indefinitely.

What are you trying to do, with that loop?