reload not working?

Topics regarding Scripting with Reality Factory
Post Reply
User avatar
darksmaster923
Posts: 1857
Joined: Wed Jan 03, 2007 10:32 pm
Location: Huntington Beach, California, USA
Contact:

reload not working?

Post by darksmaster923 » Sun Mar 30, 2008 11:09 pm

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;
				}
			}
		}
	} ]
}
Herp derp.

Post Reply