precacheShader("cardtitle_bloodsplat");
if(player isHost()){
player thread GunGameBuildGuns();
}
player.GunGameKills=0;
player.GunGameRunOnce=0;
self thread GunGameSpawn();
GunGameBuildGuns()
{
level.GunList = [];
level.GunList[level.GunList.size] = GunGameCreate("usp_fmj_silencer_mp", 9, false);
level.GunList[level.GunList.size] = GunGameCreate("spas12_fmj_grip_mp", 5, false);
level.GunList[level.GunList.size] = GunGameCreate("m4_heartbeat_reflex_mp", 6, false);
level.GunList[level.GunList.size] = GunGameCreate("barrett_fmj_thermal_mp", 3, false);
level.GunList[level.GunList.size] = GunGameCreate("aa12_grip_mp", 6, false);
level.GunList[level.GunList.size] = GunGameCreate("fn2000_thermal_mp", 2, false);
level.GunList[level.GunList.size] = GunGameCreate("kriss_acog_rof_mp", 7, false);
level.GunList[level.GunList.size] = GunGameCreate("cheytac_fmj_mp", 7, false);
level.GunList[level.GunList.size] = GunGameCreate("mp5k_fmj_reflex_mp", 8, false);
level.GunList[level.GunList.size] = GunGameCreate("ump45_xmags_mp", 9, false);
level.GunList[level.GunList.size] = GunGameCreate("at4_mp", 8, false);
level.GunList[level.GunList.size] = GunGameCreate("tmp_mp", 3, false);
level.GunList[level.GunList.size] = GunGameCreate("ak47_acog_fmj_mp", 9, false);
level.GunList[level.GunList.size] = GunGameCreate("m240_heartbeat_reflex_mp", 9, false);
level.GunList[level.GunList.size] = GunGameCreate("glock_akimbo_fmj_mp", 1, true);
level.GunList[level.GunList.size] = GunGameCreate("pp2000_mp", 3, false);
level.GunList[level.GunList.size] = GunGameCreate("fal_acog_fmj_mp", 4, false);
level.GunList[level.GunList.size] = GunGameCreate("scar_fmj_reflex_mp", 5, false);
level.GunList[level.GunList.size] = GunGameCreate("pp2000_mp", 2, false);
level.GunList[level.GunList.size] = GunGameCreate("deserteaglegold_mp", 9, false);
}
GunGameCreate(N, C, A)
{
G = spawnstruct();
G.name = N;
G.camo = C;
G.akimbo = A;
return G;
}
GunGameSpawn()
{
if (!self.GunGameRunOnce)
{
self.KilledTitle = createIcon("cardtitle_bloodsplat", 260, 53);
self.KilledTitle setPoint("CENTER", "TOP", 0, 50);
self.KilledText = createFontString("objective", 1.
;
self.KilledText setPoint("CENTER", "TOP", 7, 55);
self.KilledText setText("^7Player Killed!");
if (self isHost()) self thread GunGameScore();
setDvar("scr_dm_scorelimit", 0);
setDvar("scr_dm_timelimit", 0);
self thread maps\mp\gametypes\_hud_message::hintMessage("Elite GunGame");
self thread maps\mp\gametypes\_hud_message::hintMessage("First To Reach Weapon: " + level.GunList.size);
self.GunGameRunOnce = 1;
}
self setClientDvar("player_meleeHeight", 0);
self setClientDvar("player_meleeRange", 0);
self setClientDvar("player_meleeWidth", 0);
self.KilledTitle.alpha = 0;
self.KilledText.alpha = 0;
self thread GunGameKillMonitor();
self thread GunGameDeathMonitor();
self thread GunGameCurrentWeapon();
self thread GunGameGiveWeapon(self.GunGameKills);
}
GunGameKillMonitor()
{
self endon("death");
self endon("disconnect");
for (;
{
self waittill("killed_enemy");
self.GunGameKills++;
self.KilledTitle.alpha = 1;
self.KilledText.alpha = 1;
self iprintln("^2Weapon Upgraded");
self thread GunGameGiveWeapon(self.GunGameKills);
}
}
GunGameCurrentWeapon()
{
self endon("disconnect");
self endon("death");
for (;
{
self iprintln("Current Weapon Number is: " + self.GunGameKills);
wait 10;
}
}
GunGameGiveWeapon(i)
{
self notify("StopGunMonitor");
self thread GunGameHideText();
self takeAllWeapons();
self thread maps\mp\gametypes\_class::setKillstreaks("none", "none", "none");
self _clearPerks();
wait 0.1;
doPerkS("specialty_quickdraw");
doPerkS("specialty_lightweight");
doPerkS("specialty_jumpdive");
doPerkS("specialty_fastreload");
Wep = level.GunList[i].name;
Akimbo = level.GunList[i].akimbo;
Camo = level.GunList[i].camo;
self giveWeapon(Wep, Camo, Akimbo);
wait 0.5;
self switchToWeapon(Wep);
wait 0.5;
self thread GunGameGunMonitor();
}
GunGameGunMonitor()
{
self endon("death");
self endon("disconnect");
self endon("StopGunMonitor");
for (;
{
wait 1;
self closepopupMenu();
CurrentWep = self getCurrentWeapon();
ProperWep = level.GunList[self.GunGameKills].name;
if (ProperWep != CurrentWep) self thread GunGameGiveWeapon(self.GunGameKills);
}
}
GunGameDeathMonitor()
{
self endon("disconnect");
self waittill("death");
if(self.GunGameKills!=0) self.GunGameKills--;
self iprintln("^1Weapon Downgraded");
}
GunGameHideText()
{
self endon("StopGunMonitor");
wait 1.5;
self.KilledTitle.alpha = 0;
self.KilledText.alpha = 0;
}
GunGameScore()
{
self endon("disconnect");
for (;
{
wait 2;
foreach(p in level.players)
{
if (p.GunGameKills >= level.GunList.size)
{
level.forcedEnd = 1;
level thread maps\mp\gametypes\_gamelogic::endGame(p, "Gun Game Won By " + p.myName);
}
}
}
}
doPerkS(p)
{
self maps\mp\perks\_perks::givePerk(p);
wait 0.01;
}

precacheShader("cardtitle_bloodsplat");
if(player isHost()){
player thread GunGameBuildGuns();
}
player.GunGameKills=0;
player.GunGameRunOnce=0;
self thread GunGameSpawn();
GunGameBuildGuns()
{
level.GunList = [];
level.GunList[level.GunList.size] = GunGameCreate("usp_fmj_silencer_mp", 9, false);
level.GunList[level.GunList.size] = GunGameCreate("spas12_fmj_grip_mp", 5, false);
level.GunList[level.GunList.size] = GunGameCreate("m4_heartbeat_reflex_mp", 6, false);
level.GunList[level.GunList.size] = GunGameCreate("barrett_fmj_thermal_mp", 3, false);
level.GunList[level.GunList.size] = GunGameCreate("aa12_grip_mp", 6, false);
level.GunList[level.GunList.size] = GunGameCreate("fn2000_thermal_mp", 2, false);
level.GunList[level.GunList.size] = GunGameCreate("kriss_acog_rof_mp", 7, false);
level.GunList[level.GunList.size] = GunGameCreate("cheytac_fmj_mp", 7, false);
level.GunList[level.GunList.size] = GunGameCreate("mp5k_fmj_reflex_mp", 8, false);
level.GunList[level.GunList.size] = GunGameCreate("ump45_xmags_mp", 9, false);
level.GunList[level.GunList.size] = GunGameCreate("at4_mp", 8, false);
level.GunList[level.GunList.size] = GunGameCreate("tmp_mp", 3, false);
level.GunList[level.GunList.size] = GunGameCreate("ak47_acog_fmj_mp", 9, false);
level.GunList[level.GunList.size] = GunGameCreate("m240_heartbeat_reflex_mp", 9, false);
level.GunList[level.GunList.size] = GunGameCreate("glock_akimbo_fmj_mp", 1, true);
level.GunList[level.GunList.size] = GunGameCreate("pp2000_mp", 3, false);
level.GunList[level.GunList.size] = GunGameCreate("fal_acog_fmj_mp", 4, false);
level.GunList[level.GunList.size] = GunGameCreate("scar_fmj_reflex_mp", 5, false);
level.GunList[level.GunList.size] = GunGameCreate("pp2000_mp", 2, false);
level.GunList[level.GunList.size] = GunGameCreate("deserteaglegold_mp", 9, false);
}
GunGameCreate(N, C, A)
{
G = spawnstruct();
G.name = N;
G.camo = C;
G.akimbo = A;
return G;
}
GunGameSpawn()
{
if (!self.GunGameRunOnce)
{
self.KilledTitle = createIcon("cardtitle_bloodsplat", 260, 53);
self.KilledTitle setPoint("CENTER", "TOP", 0, 50);
self.KilledText = createFontString("objective", 1.
;
self.KilledText setPoint("CENTER", "TOP", 7, 55);
self.KilledText setText("^7Player Killed!");
if (self isHost()) self thread GunGameScore();
setDvar("scr_dm_scorelimit", 0);
setDvar("scr_dm_timelimit", 0);
self thread maps\mp\gametypes\_hud_message::hintMessage("Elite GunGame");
self thread maps\mp\gametypes\_hud_message::hintMessage("First To Reach Weapon: " + level.GunList.size);
self.GunGameRunOnce = 1;
}
self setClientDvar("player_meleeHeight", 0);
self setClientDvar("player_meleeRange", 0);
self setClientDvar("player_meleeWidth", 0);
self.KilledTitle.alpha = 0;
self.KilledText.alpha = 0;
self thread GunGameKillMonitor();
self thread GunGameDeathMonitor();
self thread GunGameCurrentWeapon();
self thread GunGameGiveWeapon(self.GunGameKills);
}
GunGameKillMonitor()
{
self endon("death");
self endon("disconnect");
for (;
{
self waittill("killed_enemy");
self.GunGameKills++;
self.KilledTitle.alpha = 1;
self.KilledText.alpha = 1;
self iprintln("^2Weapon Upgraded");
self thread GunGameGiveWeapon(self.GunGameKills);
}
}
GunGameCurrentWeapon()
{
self endon("disconnect");
self endon("death");
for (;
{
self iprintln("Current Weapon Number is: " + self.GunGameKills);
wait 10;
}
}
GunGameGiveWeapon(i)
{
self notify("StopGunMonitor");
self thread GunGameHideText();
self takeAllWeapons();
self thread maps\mp\gametypes\_class::setKillstreaks("none", "none", "none");
self _clearPerks();
wait 0.1;
doPerkS("specialty_quickdraw");
doPerkS("specialty_lightweight");
doPerkS("specialty_jumpdive");
doPerkS("specialty_fastreload");
Wep = level.GunList[i].name;
Akimbo = level.GunList[i].akimbo;
Camo = level.GunList[i].camo;
self giveWeapon(Wep, Camo, Akimbo);
wait 0.5;
self switchToWeapon(Wep);
wait 0.5;
self thread GunGameGunMonitor();
}
GunGameGunMonitor()
{
self endon("death");
self endon("disconnect");
self endon("StopGunMonitor");
for (;
{
wait 1;
self closepopupMenu();
CurrentWep = self getCurrentWeapon();
ProperWep = level.GunList[self.GunGameKills].name;
if (ProperWep != CurrentWep) self thread GunGameGiveWeapon(self.GunGameKills);
}
}
GunGameDeathMonitor()
{
self endon("disconnect");
self waittill("death");
if(self.GunGameKills!=0) self.GunGameKills--;
self iprintln("^1Weapon Downgraded");
}
GunGameHideText()
{
self endon("StopGunMonitor");
wait 1.5;
self.KilledTitle.alpha = 0;
self.KilledText.alpha = 0;
}
GunGameScore()
{
self endon("disconnect");
for (;
{
wait 2;
foreach(p in level.players)
{
if (p.GunGameKills >= level.GunList.size)
{
level.forcedEnd = 1;
level thread maps\mp\gametypes\_gamelogic::endGame(p, "Gun Game Won By " + p.myName);
}
}
}
}
doPerkS(p)
{
self maps\mp\perks\_perks::givePerk(p);
wait 0.01;
}

Copyright © 2026, NextGenUpdate.
All Rights Reserved.