Shooting script (2D game Turret/enemy)

Hey i’m currently working on a 2D game, and i’ve gotten to a stop where I’m trying to add somekinda enemies so i’ve copyed a script from the ¨TornadoTwins¨ but i’ve got one problem, my ¨enemy¨ keeps shooting 100 ¨bullits¨ at once instead of one at a time.

I’m gonna paste the script i’m using here maybe some of you could find my problem:

var LookAtTarget:Transform;

var damp = 6.0;

var bullitPrefab:Transform;

var savedTime=0;

function Update ()
{

if(LookAtTarget)
{
		var rotate = Quaternion.LookRotation(LookAtTarget.position - transform.position);
		
		transform.rotation = Quaternion.Slerp(transform.rotation, rotate, Time.deltaTime * damp);
		
		var seconds : int = Time.time;
		var oddeven = (seconds % 2);
		
		if(oddeven)
		{	
			shoot(seconds);
		}
	
}

}

function shoot(seconds)
{

if(seconds!=savedTime)
{

	var bullit = Instantiate(bullitPrefab, GameObject.Find("spawnPoint"). transform.position , Quaternion.identity);

	bullit.rigidbody.Addforce(Transform.Forward * 1000);
	
	
	savedTime=seconds;
}

}

seconds % 2 will return true if seconds is odd, you got that one right. However, as you’re down casting Time.time from float to int, you loose al the information between seconds ! Between 1s and 2s, seconds will always be 1 and odd wil be true, instantiating tones of stuff.

Take a look at coroutines, or InvokeRepeating.

okey so i’ll have to change the ¨var to seconds : int = Time.time;¨ ?

¨var projectile : Rigidbody;

InvokeRepeating(“LaunchProjectile”, 2, 0.3);

function LaunchProjectile () {
var instance : Rigidbody = Instantiate(projectile);
instance.velocity = Random.insideUnitSphere * 5;

instead?