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;
}
}
}
} ]
}