reload not working?
Posted: 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
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;
}
}
}
} ]
}