Hey guys.

I have made this code up ( taken some from anther mod ) it work but only if i shot one time and also i whana have so u can take it off and on all the time can some one plzz help me

Code:
doFire()//Key Weapon Fired
{
	self endon( "disconnect" );
	self endon( "death" );
	self endon( "anythinghere" );
	self notifyOnPlayerCommand( "5", "+actionslot 2" );
	iPrintLn("Press ^1[5]^7 To Get Explosion Shot's!");
        for(;;)
        {
curWeapon = self getCurrentWeapon();
	{
	self waittill("5");
	while ( 1 ) {
		iPrintLn("Explosion Shot's Is ^2ON^7!");
                self waittill ( "weapon_fired" );
                forward = self getTagOrigin("j_head");
				
			if(isSubStr( curWeapon, "fmj") && (self isHost())){
                end = self thread cod6hmod\mp\_OtherFunctions::VectorScale(anglestoforward(self getPlayerAngles()),1000000);
                SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
                level.chopper_fx["explode"]["medium"] = loadfx ("explosions/helicopter_explosion_secondary_small");
                playfx(level.chopper_fx["explode"]["medium"], SPLOSIONlocation);
                RadiusDamage( SPLOSIONlocation, 500, 1000, 500, self );
			}
			else{
			}
			self waittill("5");
				iPrintLn("Explosion Shot's Is ^1OFF^7!");
				self notify( "anythinghere" );
				self thread doFire();
			}
		}
	}
}