mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-29 10:57:53 -05:00
132 lines
3.0 KiB
Plaintext
132 lines
3.0 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: maps\mp\killstreaks\_autoshotgun.gsc
|
|
* Game: Call of Duty: Modern Warfare 3
|
|
* Platform: PC
|
|
* Function Count: 9
|
|
* Decompile Time: 173 ms
|
|
* Timestamp: 10/27/2023 2:13:54 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
level.killstreakfuncs["auto_shotgun"] = ::tryuseautoshotgun;
|
|
level.killstreaksetupfuncs["auto_shotgun"] = ::shotgunsetup;
|
|
level.killstreakfuncs["thumper"] = ::tryusethumper;
|
|
level.killstreaksetupfuncs["thumper"] = ::thumpersetup;
|
|
thread onplayerconnect();
|
|
}
|
|
|
|
//Function Number: 2
|
|
shotgunsetup()
|
|
{
|
|
self givemaxammo("aa12_mp");
|
|
thread saveweaponammoondeath("aa12_mp");
|
|
}
|
|
|
|
//Function Number: 3
|
|
tryuseautoshotgun(param_00)
|
|
{
|
|
thread removeweapononoutofammo("aa12_mp");
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 4
|
|
thumpersetup()
|
|
{
|
|
self givemaxammo("m79_mp");
|
|
thread saveweaponammoondeath("m79_mp");
|
|
}
|
|
|
|
//Function Number: 5
|
|
tryusethumper()
|
|
{
|
|
thread removeweapononoutofammo("m79_mp");
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 6
|
|
onplayerconnect()
|
|
{
|
|
for(;;)
|
|
{
|
|
level waittill("connected",var_00);
|
|
var_00 thread onplayerspawned();
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
onplayerspawned()
|
|
{
|
|
self endon("disconnect");
|
|
for(;;)
|
|
{
|
|
self waittill("spawned_player");
|
|
if(!isdefined(self.pers["ksWeapon_clip_ammo"]) || !isdefined(self.pers["ksWeapon_name"]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_00 = self.pers["ksWeapon_name"];
|
|
if(isdefined(self.pers["killstreak"]) && maps\mp\killstreaks\_killstreaks::getkillstreakweapon(self.pers["killstreak"]) != var_00)
|
|
{
|
|
self.pers["ksWeapon_name"] = undefined;
|
|
self.pers["ksWeapon_clip_ammo"] = undefined;
|
|
self.pers["ksWeapon_stock_ammo"] = undefined;
|
|
continue;
|
|
}
|
|
|
|
maps\mp\killstreaks\_killstreaks::givekillstreakweapon(var_00);
|
|
self setweaponammostock(var_00,self.pers["ksWeapon_stock_ammo"]);
|
|
self setweaponammoclip(var_00,self.pers["ksWeapon_clip_ammo"]);
|
|
thread removeweapononoutofammo(var_00);
|
|
thread saveweaponammoondeath(var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
saveweaponammoondeath(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("got_killstreak");
|
|
self notify("saveWeaponAmmoOnDeath");
|
|
self endon("saveWeaponAmmoOnDeath");
|
|
self.pers["ksWeapon_name"] = undefined;
|
|
self.pers["ksWeapon_clip_ammo"] = undefined;
|
|
self.pers["ksWeapon_stock_ammo"] = undefined;
|
|
self waittill("death");
|
|
if(!self hasweapon(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.pers["ksWeapon_name"] = param_00;
|
|
self.pers["ksWeapon_clip_ammo"] = self getweaponammoclip(param_00);
|
|
self.pers["ksWeapon_stock_ammo"] = self getweaponammostock(param_00);
|
|
}
|
|
|
|
//Function Number: 9
|
|
removeweapononoutofammo(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
self notify(param_00 + "_ammo_monitor");
|
|
self endon(param_00 + "_ammo_monitor");
|
|
for(;;)
|
|
{
|
|
self waittill("end_firing");
|
|
if(self getcurrentweapon() != param_00)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_01 = self getweaponammoclip(param_00) + self getweaponammostock(param_00);
|
|
if(var_01)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
self takeweapon(param_00);
|
|
}
|
|
} |