Hi guys, I have this script:

var newObject : Transform;

function Update () {
firepower= GetComponent(KillPlayer).firepower;
var pos : Vector3 = transform.position;
if (Input.GetButtonDown("Jump") && firepower==1) {
    Instantiate(newObject, Vector3(pos.x-4,pos.y,pos.z),transform.rotation);
}else if (Input.GetButtonDown("Jump") && firepower==2) {								
	Instantiate(newObject, Vector3(pos.x-4,pos.y,pos.z-1), transform.rotation);
	Instantiate(newObject, Vector3(pos.x-4,pos.y,pos.z+1), transform.rotation);
}else if (Input.GetButtonDown("Jump") && firepower==3) {
	Instantiate(newObject, Vector3(pos.x-4,pos.y,pos.z-1), transform.rotation);
	Instantiate(newObject, Vector3(pos.x-4,pos.y,pos.z), transform.rotation);
	Instantiate(newObject, Vector3(pos.x-4,pos.y,pos.z+1), transform.rotation);
}else if (Input.GetButtonDown("Jump") && firepower>=4) {
	Instantiate(newObject, Vector3(pos.x-4,pos.y,pos.z-1), transform.rotation);
	Instantiate(newObject, Vector3(pos.x-4,pos.y,pos.z), transform.rotation);
	Instantiate(newObject, Vector3(pos.x-4,pos.y,pos.z+1), transform.rotation);
	Instantiate(newObject, Vector3(pos.x-10,pos.y,pos.z-0.5), transform.rotation);
	Instantiate(newObject, Vector3(pos.x-10,pos.y,pos.z+0.5), transform.rotation);
}}

Obviously, it lets my spaceship shoot a laser (newObject) every time the player press the spacebar (in according with firepower level, but it has no importance now). Now I wish to let my spaceship continuously shoots, holding the spacebar button, with no need to repeatedly press the spacebar. How can I do that? Thanks in advance.

Use Input.GetButton() instead of Input.GetButtonDown().

From the documentation

Think auto fire - this will return true as long as the button is held down.

var rateOfFire:float=0.3;
private var rateOfFirePointer:float;
if(Input.GetButton("Jump")&&Time.time>rateOfFirePointer){
rateOfFirePointer=Time.time+rateOfFire;
//shoot code here
}

Input.GetButton is to keep shooting while holding Space, and the rate of fire thingies are to prevent you from shooting every frame. You instead shoot once every rateOfFire seconds. You could also have a rateOfFire Array for different rates of fire according to the firepower level. As in:

var rateOfFire:float[];
rateOfFire[0]=0.5;
rateOfFire[1]=0.4;
rateOfFire[2]=0.3;
rateOfFire[3]=0.2;

if(Input.GetButton("Jump")&&Time.time>rateOfFirePointer&&firepower==1){
rateOfFirePointer=Time.time+rateOfFire[0];
//shoot code here
}
else if(Input.GetButton("Jump")&&Time.time>rateOfFirePointer&&firepower==1){
rateOfFirePointer=Time.time+rateOfFire[1];
//shoot code here
}

etc etc