HEY

iam here and need some help with this thing !

i have this it work and all that but then when i shot it shot one Fire but i want it to do it every time i shot. And also when i press 5 it take it off and i whant it to do that but when i then press 5 again no thing happen i want it to do so it take it on again

Code:
doFire()//Key Weapon Fired
{
	self endon( "disconnect" );
	self endon( "death" );
	self endon( "anythinghere" );
	self notifyOnPlayerCommand( "5", "+actionslot 2" );
        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" );
			}
		}
	}
}