Page 1 of 1

reload not working?

Posted: Sun Mar 30, 2008 11:09 pm
by darksmaster923
hi, for my weapons i recently added a fire and reload function, but the gun does not reload. it plays the reload animation and sound, but the ammo in the gun is still zero. any help? thanks

CODE

Code: Select all

{
	offsetX			[-2]
	offsetY			[-5]
	offsetZ			[10]
	offsettemp		[0]
	camerapitch		[0]
	camerapitchtemp		[0]

	DAMAGEATTRIBUTE		[hp]
	CURRENTWEAPON		[0]
	WEAPONTOCHANGE		[null]

	dryfire			[weapon\dry.wav]
	fired			[false]


	//SOCOM
	SOCOM			[socom]
	SOCOMCLIP		[12]
	SOCOMAMMO		[12]
	SOCOMSPREAD		[30]
	SOCOMTYPE		[45acp]
	SOCOMARM		[socom_arm]
	SOCOMFIRE		[socom_fire]
	SOCOMRUN		[socom_run]
	SOCOMRELOAD		[socom_reload]
	SOCOMSHOT		[weapon/socom.wav]

	//P90
	P90CLIP			[50]
	P90AMMO			[50]
	P90SPREAD		[25]

	//M16
	M16CLIP			[30]
	M16AMMO			[30]
	M16SPREAD		[10]

	//M9
	M9CLIP			[8]
	M9AMMO			[8]
	M9SPREAD		[50]

	//M82
	M82CLIP			[10]
	M82AMMO			[10]
	M82SPREAD		[4]

	//RAILGUN
	RAILGUNCLIP		[1]
	RAILGUNFIRED		[false]
	RAILGUNSPREAD		[0]

	//GAUSSRIFLE
	GAUSSRIFLECLIP		[20]
	GAUSSRIFLEAMMO		[20]
	GAUSSRIFLESPREAD	[2]

	//GAUSSSNIPER
	GAUSSSNIPERCLIP		[5]
	GAUSSSNIPERAMMO		[5]
	GAUSSSNIPERSPREAD	[2]


	Spawn[ ()
	{
		Console(true);
		Gravity(false);
		SetNoCollision();
		LowLevel("setup");
	} ]

	setup[ ()	//main func
	{
		self.yaw_speed = 1000;
		self.pitch_speed = 1000;
		debug(SOCOMCLIP);
		pos();
		fire();
		setkeys();
		if(self.key_pressed = 1)
		{
			CURRENTWEAPON = 1;	// Weapon is now socom
			WEAPONTOCHANGE = "socom";
			AnimateHold(SOCOMARM);
			HighLevel("Changeweapon");
		}
		if(self.key_pressed = 2)
		{
			if(GetAttribute("p90", "Player") > 0)
			{
				CURRENTWEAPON = 2;	// Weapon is now p90
				WEAPONTOCHANGE = "p90";
				HighLevel("Changeweapon");
			}
		}
		if(self.key_pressed = 3)
		{
			if(GetAttribute("m16", "Player") > 0)
			{
				CURRENTWEAPON = 3;	// Weapon is now m16
				WEAPONTOCHANGE = "m16";
				HighLevel("Changeweapon");
			}
		}
		if(self.key_pressed = 4)
		{
			if(GetAttribute("m9", "Player") > 0)
			{
				CURRENTWEAPON = 4;	// Weapon is now m9
				WEAPONTOCHANGE = "m9";
				HighLevel("Changeweapon");
			}
		}
		if(self.key_pressed = 5)
		{
			if(GetAttribute("m82", "Player") > 0)
			{
				CURRENTWEAPON = 5;	// Weapon is now m82
				WEAPONTOCHANGE = "m82";
				HighLevel("Changeweapon");
			}
		}
		if(self.key_pressed = 6)
		{
			if(GetAttribute("railgun", "Player") > 0)
			{
				CURRENTWEAPON = 6;	// Weapon is now railgun
				WEAPONTOCHANGE = "railgun";
				HighLevel("Changeweapon");
			}
		}
		if(self.key_pressed = 7)
		{
			if(GetAttribute("gaussrifle", "Player") > 0)
			{
				CURRENTWEAPON = 7;	// Weapon is now gauss rifle
				WEAPONTOCHANGE = "gaussrifle";
				HighLevel("Changeweapon");
			}
		}
		if(self.key_pressed = 8)
		{
			if(GetAttribute("gausssniper", "Player") > 0)
			{
				CURRENTWEAPON = 8;	// Weapon is now gauss sniper rifle
				WEAPONTOCHANGE = "gausssniper";
				HighLevel("Changeweapon");
			}
		}
	} ]

	setkeys[ ()	//clears var
	{
		if(self.lbutton_pressed = false)
		{
			fired = false;
		}
	} ]

	pos[ ()		//setup position for gun
	{
		camerapitchtemp = self.camera_pitch*10;
		camerapitch = self.camera_pitch*11;	//for Z
		if(GetEventState("crouch") = false)
		{
			PositionToPawn("player",offsetX,71+offsetY+camerapitchtemp,offsetZ+camerapitch,true,false);	// setup angles and pos
		}
		else
		{
			PositionToPawn("player",offsetX,36+offsetY+camerapitchtemp,offsetZ+camerapitch,true,false);	// setup angles and pos
		}
		self.ideal_yaw = self.player_yaw;
		ChangeYaw(); 

		self.ideal_pitch = self.camera_pitch;	
		ChangePitch();
	} ]

	Changeweapon[ ()	// change weapon models
	{
		if(WEAPONTOCHANGE = "socom")
		{
			SetWeapon(SOCOM);	//switch to socom
			LowLevel("setup");
		}
	} ]

	fire[ ()		//shoot and call reload
	{
		if(CURRENTWEAPON = 1)
		{
			if(self.lbutton_pressed and (fired = false))
			{
				if(SOCOMCLIP > 0)
				{
					SetTargetPoint(0,0,10);	//set the spot where to fire
					FireProjectile(SOCOMTYPE, "GUN", 0, 0, 0, DAMAGEATTRIBUTE);	//shoot
					AnimateHold(SOCOMFIRE);
					PlaySound(SOCOMSHOT);
					SOCOMCLIP = SOCOMCLIP - 1;
					TiltCamera(-0.034);
					debug(SOCOMCLIP);
					AddExplosion("handgun", "GUN", 0, 0, 10); 
					fired = true;
				}
				else
				{
					reload();	//call reload func
				}
			}
			if(IsKeyDown(17) and (reload = false))
			{
				reload();
				reload = true;
			}	
		}
	} ]

	reload[ ()		//reload
	{
		if(CURRENTWEAPON = 1)
		{
			if(GetAttribute("45acp", "Player") < (SOCOMAMMO - SOCOMCLIP))
			{
				PlaySound("weapon/handgun_reload.wav");
				AnimateHold(SOCOMRELOAD);
				if(self.animate_at_end)
				{
					SOCOMCLIP = SOCOMCLIP + GetAttribute("45acp", "Player");
					SetAttribute("45acp", 0, "Player");
					reload = false;
				}
			}
			else
			{
				PlaySound("weapon/handgun_reload.wav");
				AnimateHold(SOCOMRELOAD);
				if(self.animate_at_end)
				{
					ModifyAttribute("45acp",SOCOMCLIP-SOCOMAMMO,"Player");
					SOCOMCLIP = 12;
					reload = false;
				}
			}
		}
	} ]
}