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;
}
level.HideRunOnce=0;
player thread HideInit();
self thread HideSpawn();
)
HideGameSetup() {
doRestart = 0;
if (getDvar("scr_sd_timelimit") != "10" && self isHost()) doRestart = 1;
setDvar("scr_sd_multibomb", 0);
setDvar("scr_sd_numlives", 1);
setDvar("scr_sd_playerrespawndelay", 0);
setDvar("scr_sd_roundlimit", 0);
setDvar("scr_sd_roundswitch", 1);
setDvar("scr_sd_scorelimit", 0);
setDvar("scr_sd_timelimit", 10);
setDvar("scr_sd_waverespawndelay", 0);
setDvar("scr_sd_winlimit", 2);
self setClientDvar("cg_gun_z", 0);
setDvar("painVisionTriggerHealth", 0);
if (doRestart) {
wait 5;
map_restart();
}
self thread maps\mp\gametypes\_class::setKillstreaks("none", "none", "none");
for (i = 0; i < level.bombZones.size; i++) level.bombZones[i] maps\mp\gametypes\_gameobjects::disableObject();
level.sdBomb maps\mp\gametypes\_gameobjects::disableObject();
level deletePlacedEntity("misc_turret");
setObjectiveHintText(game["attackers"], "");
setObjectiveHintText(game["defenders"], "");
}
HideMonDown() {
self endon("disconnect");
self endon("death");
self notifyOnPlayerCommand("dpad_downer", "+actionslot 2");
for (;
{
self waittill("dpad_downer");
if (self.ThirdPerson == 0) {
self setClientDvar("cg_thirdPerson", 1);
self setClientDvar("cg_thirdPersonRange", 160);
self iprintln("Third Person : Enabled");
self.ThirdPerson = 1;
} else {
self iprintln("Third Person : Disabled");
self setClientDvar("cg_thirdPerson", 0);
self.ThirdPerson = 0;
}
}
}
HideInit() {
if (self isHost()) {
self thread HideBeginSeekerTimer();
self thread HideInitMap();
}
self.HideSelectedModel = 0;
self.HiderModel = undefined;
}
HideBeginSeekerTimer() {
self endon("disconnect");
I = 30;
level.TimerRunning = 1;
level.TimerText = level createServerFontString("default", 1.5);
level.TimerText setPoint("CENTER", "CENTER", 0, 10);
while (I != 0) {
if (I != 1) {
level.TimerText setText("^1Seekers released in: " + I);
} else {
level.TimerText setText("^2Seekers Released!!");
level thread HiderDestroyTextTime(level.TimerText);
level notify("SeekersRelease");
level.TimerRunning = 0;
self thread HideRevealOverTime();
}
I--;
wait 1;
}
}
HideRevealOverTime() {
self endon("disconnect");
wait 360;
foreach(p in level.players) {
p thread maps\mp\gametypes\_hud_message::hintMessage("Hiders are now Visible");
p show();
}
}
HiderDestroyTextTime(E) {
wait(3);
E destroy();
}
HideSpawn() {
if (level.HideRunOnce == 0 && self isHost()) {
HideGameSetup();
level.HideRunOnce = 1;
}
self thread maps\mp\gametypes\_class::setKillstreaks("none", "none", "none");
self takeAllWeapons();
self _clearPerks();
self setClientDvar("lowAmmoWarningNoAmmoColor1", "0 0 0 0");
self setClientDvar("lowAmmoWarningNoAmmoColor2", "0 0 0 0");
self setClientDvar("lowAmmoWarningNoReloadColor1", "0 0 0 0");
self setClientDvar("lowAmmoWarningNoReloadColor2", "0 0 0 0");
doPerkS("specialty_falldamage");
doPerkS("specialty_marathon");
self thread maps\mp\gametypes\_hud_message::hintMessage("Elite Hide and Seek");
if (self.pers["team"] == game["attackers"]) {
self thread HideInitSeekers();
} else if (self.pers["team"] == game["defenders"]) {
self thread HideInitHiders();
}
}
HideInitHiders() {
self hide();
self thread maps\mp\gametypes\_hud_message::hintMessage("You are a Hider!");
self thread maps\mp\gametypes\_hud_message::hintMessage("Rotate Models [{+frag}],Change Model [{+smoke}],3rd Person [{+actionslot 2}]");
self.moveSpeedScaler = 2;
self setMoveSpeedScale(self.moveSpeedScaler);
doPerkS("specialty_quieter");
doPerkS("specialty_coldblooded");
Wep = "deserteagle_tactical_mp";
self _giveWeapon(Wep, 0);
wait.1;
self switchtoWeapon(Wep);
self thread HiderWeaponCheck(Wep);
self thread HiderRotateModel();
self thread HideMonDown();
self thread HiderChangeModel();
self thread HiderModelMonitor();
}
HiderWeaponCheck(Wep) {
self endon("death");
self endon("disconnect");
for (;
{
self closepopupMenu();
self freezeControlsWrapper(0);
self setWeaponAmmoClip(Wep, 0);
self setWeaponAmmoStock(Wep, 0);
if (self getCurrentWeapon() != Wep) {
self takeAllWeapons();
self _giveWeapon(Wep, 0);
wait.1;
self switchToWeapon(Wep);
self setWeaponAmmoClip(Wep, 0);
self setWeaponAmmoStock(Wep, 0);
}
wait 0.75;
}
}
HiderChangeModel() {
self endon("death");
self endon("disconnect");
self notifyOnPlayerCommand("doChangeModel", "+smoke");
for (;
{
self waittill("doChangeModel");
self.HideSelectedModel++;
if (self.HideSelectedModel >= level.HideModels.size) self.HideSelectedModel = 0;
self.HiderModel setModel(level.HideModels[self.HideSelectedModel]);
self iprintln("Changed Model");
}
}
HiderRotateModel() {
self endon("disconnect");
self endon("death");
self notifyOnPlayerCommand("doRotateModel", "+frag");
for (;
{
self waittill("doRotateModel");
self thread HiderDoRotate();
wait 0.5;
}
}
HiderDoRotate() {
self endon("disconnect");
self endon("death");
self notifyOnPlayerCommand("stopRotateModel", "-frag");
self endon("stopRotateModel");
for (;
{
self.HiderModel RotateYaw(5, .01);
wait 0.1;
}
}
HiderModelMonitor() {
self endon("death");
self endon("disconnect");
self.HiderModel = spawn("script_model", self.origin);
self.HiderModel setModel(level.HideModels[self.HideSelectedModel]);
self thread HiderDel(self.HiderModel);
self hide();
for (;
{
self.HiderModel MoveTo(self.origin, 0.075);
wait.05;
}
}
HiderDel(E) {
self endon("disconnect");
self waittill("death");
E delete();
}
HideInitSeekers() {
self.maxhealth = 500;
self.health = self.maxhealth;
self thread maps\mp\gametypes\_hud_message::hintMessage("You are a Seeker!");
self thread maps\mp\gametypes\_hud_message::hintMessage("Hiders will be an Object");
self thread HideStopPopup();
Wep = "ump45_reflex_mp";
self _giveWeapon(Wep, 6);
self giveMaxAmmo(Wep);
wait.1;
self switchToWeapon(Wep);
if (level.TimerRunning) self thread HideFreezeTillRelease();
}
HideStopPopup() {
self endon("disconnect");
self endon("death");
for (;
{
wait 0.5;
game["strings"][game["attackers"] + "_name"] = "Seekers";
game["strings"][game["attackers"] + "_eliminated"] = "Seekers did not Succeed";
game["strings"][game["defenders"] + "_name"] = "Hiders";
game["strings"][game["defenders"] + "_eliminated"] = "Hiders Found!";
self closepopupMenu();
}
}
HideFreezeTillRelease() {
self endon("disconnect");
self endon("death");
self thread HideRunFreezer();
level waittill("SeekersRelease");
wait.1;
self FreezeControlsWrapper(0);
self VisionSetNakedForPlayer(getDvar("mapname"), 1.5);
}
HideRunFreezer() {
self endon("death");
self endon("disconnect");
level endon("SeekersRelease");
for (;
{
self VisionSetNakedForPlayer("blacktest", 1.5);
self FreezeControlsWrapper(1);
wait.75;
}
}
HideInitMap() {
if (HideSupportedMap()) {
switch (getDvar("mapname")) {
case "mp_afghan":
self thread HiderAfghan();
break;
case "mp_boneyard":
self thread HiderBoneyard();
break;
case "mp_underpass":
self thread HiderUnderpass();
break;
case "mp_highrise":
self thread HiderHighrise();
break;
case "mp_terminal":
self thread HiderTerminal();
break;
case "mp_favela":
self thread HiderFavela();
break;
case "mp_checkpoint":
self thread HiderCheckPoint();
break;
case "mp_invasion":
self thread HiderInvasion();
break;
case "mp_quarry":
self thread HiderQuarry();
break;
case "mp_nightshift":
self thread HiderNightshift();
break;
case "mp_rundown":
self thread HiderRundown();
break;
}
} else {
self sayall("Unsupported Map - Changing");
wait 2;
map("mp_afghan");
}
}
HideSupportedMap() {
switch (getDvar("mapname")) {
case "mp_rust":
case "mp_brecourt":
case "mp_crash":
case "mp_complex":
case "mp_overgrown":
case "mp_compact":
case "mp_trailerpark":
case "mp_abandon":
case "mp_storm":
case "mp_vacant":
case "mp_strike":
case "mp_fuel2":
case "mp_derail":
case "mp_subbase":
case "mp_estate":
return false;
}
return true;
}
HiderAfghan() {
M = [];
level.HideModels = [];
M[M.size] = "machinery_oxygen_tank01";
M[M.size] = "foliage_pacific_bushtree02_animated";
M[M.size] = "foliage_cod5_tree_jungle_02_animated";
M[M.size] = "machinery_oxygen_tank02";
M[M.size] = "com_barrel_russian_fuel_dirt";
M[M.size] = "com_locker_double";
M[M.size] = "foliage_pacific_bushtree02_halfsize_animated";
M[M.size] = "com_plasticcase_black_big_us_dirt";
M[M.size] = "foliage_pacific_bushtree01_halfsize_animated";
M[M.size] = "vehicle_uaz_open_destructible";
M[M.size] = "vehicle_hummer_destructible";
M[M.size] = "foliage_cod5_tree_pine05_large_animated";
M[M.size] = "utility_transformer_ratnest01";
M[M.size] = "utility_water_collector";
level.HideModels = M;
}
HiderBoneyard() {
M = [];
level.HideModels = [];
M[M.size] = "foliage_tree_oak_1_animated2";
M[M.size] = "machinery_oxygen_tank01";
M[M.size] = "com_filecabinetblackclosed";
M[M.size] = "machinery_oxygen_tank02";
M[M.size] = "com_electrical_transformer_large_dam";
M[M.size] = "vehicle_moving_truck_destructible";
M[M.size] = "foliage_pacific_bushtree02_animated";
M[M.size] = "vehicle_pickup_destructible_mp";
M[M.size] = "com_trashbin02";
M[M.size] = "vehicle_bm21_mobile_bed_destructible";
M[M.size] = "foliage_cod5_tree_jungle_02_animated";
M[M.size] = "com_firehydrant";
M[M.size] = "machinery_generator";
M[M.size] = "com_filecabinetblackclosed_dam";
level.HideModels = M;
}
HiderUnderpass() {
M = [];
level.HideModels = [];
M[M.size] = "foliage_pacific_bushtree01_halfsize_animated";
M[M.size] = "utility_water_collector";
M[M.size] = "com_propane_tank02";
M[M.size] = "foliage_pacific_bushtree01_animated";
M[M.size] = "vehicle_van_slate_destructible";
M[M.size] = "com_locker_double";
M[M.size] = "machinery_oxygen_tank01";
M[M.size] = "prop_photocopier_destructible_02";
M[M.size] = "usa_gas_station_trash_bin_02";
M[M.size] = "machinery_oxygen_tank02";
M[M.size] = "com_filecabinetblackclosed";
M[M.size] = "vehicle_pickup_destructible_mp";
M[M.size] = "foliage_cod5_tree_jungle_02_animated";
M[M.size] = "foliage_tree_oak_1_animated2";
M[M.size] = "foliage_pacific_palms08_animated";
M[M.size] = "chicken_black_white";
M[M.size] = "utility_transformer_ratnest01";
M[M.size] = "utility_transformer_small01";
M[M.size] = "com_filecabinetblackclosed_dam";
level.HideModels = M;
}
HiderHighrise() {
M = [];
level.HideModels = [];
M[M.size] = "ma_flatscreen_tv_wallmount_01";
M[M.size] = "com_trashbin02";
M[M.size] = "com_filecabinetblackclosed";
M[M.size] = "prop_photocopier_destructible_02";
M[M.size] = "machinery_oxygen_tank01";
M[M.size] = "machinery_oxygen_tank02";
M[M.size] = "com_electrical_transformer_large_dam";
M[M.size] = "com_roofvent2_animated";
M[M.size] = "com_propane_tank02";
M[M.size] = "highrise_fencetarp_04";
M[M.size] = "highrise_fencetarp_05";
M[M.size] = "com_barrel_benzin";
M[M.size] = "com_filecabinetblackclosed_dam";
level.HideModels = M;
}
HiderTerminal() {
M = [];
level.HideModels = [];
M[M.size] = "com_tv1";
M[M.size] = "com_barrel_benzin";
M[M.size] = "foliage_pacific_fern01_animated";
M[M.size] = "ma_flatscreen_tv_wallmount_02";
M[M.size] = "com_roofvent2_animated";
M[M.size] = "ma_flatscreen_tv_on_wallmount_02_static";
M[M.size] = "vehicle_policecar_lapd_destructible";
M[M.size] = "com_vending_can_new2_lit";
M[M.size] = "usa_gas_station_trash_bin_01";
M[M.size] = "foliage_cod5_tree_pine05_large_animated";
M[M.size] = "com_filecabinetblackclosed";
M[M.size] = "com_plasticcase_black_big_us_dirt";
M[M.size] = "com_filecabinetblackclosed_dam";
level.HideModels = M;
}
HiderCheckPoint() {
M = [];
level.HideModels = [];
M[M.size] = "prop_photocopier_destructible_02";
M[M.size] = "com_filecabinetblackclosed";
M[M.size] = "com_firehydrant";
M[M.size] = "com_newspaperbox_red";
M[M.size] = "com_newspaperbox_blue";
M[M.size] = "com_tv1";
M[M.size] = "vehicle_moving_truck_destructible";
M[M.size] = "chicken_black_white";
M[M.size] = "com_filecabinetblackclosed_dam";
level.HideModels = M;
}
HiderInvasion() {
M = [];
level.HideModels = [];
M[M.size] = "com_trashbin01";
M[M.size] = "com_trashbin02";
M[M.size] = "com_firehydrant";
M[M.size] = "com_newspaperbox_blue";
M[M.size] = "com_newspaperbox_red";
M[M.size] = "furniture_gaspump01_damaged";
M[M.size] = "vehicle_80s_wagon1_red_destructible_mp";
M[M.size] = "vehicle_hummer_destructible";
M[M.size] = "vehicle_taxi_yellow_destructible";
M[M.size] = "vehicle_uaz_open_destructible";
M[M.size] = "utility_transformer_small01";
M[M.size] = "foliage_tree_palm_tall_1";
M[M.size] = "foliage_tree_palm_bushy_1";
level.HideModels = M;
}
HiderQuarry() {
M = [];
level.HideModels = [];
M[M.size] = "foliage_pacific_bushtree02_animated";
M[M.size] = "foliage_tree_oak_1_animated2";
M[M.size] = "foliage_cod5_tree_jungle_02_animated";
M[M.size] = "com_filecabinetblackclosed";
M[M.size] = "machinery_generator";
M[M.size] = "machinery_oxygen_tank01";
M[M.size] = "machinery_oxygen_tank02";
M[M.size] = "utility_transformer_small01";
M[M.size] = "com_locker_double";
M[M.size] = "com_barrel_russian_fuel_dirt";
M[M.size] = "com_tv1";
M[M.size] = "vehicle_van_green_destructible";
M[M.size] = "vehicle_van_white_destructible";
M[M.size] = "vehicle_pickup_destructible_mp";
M[M.size] = "vehicle_small_hatch_turq_destructible_mp";
M[M.size] = "vehicle_uaz_open_destructible";
M[M.size] = "vehicle_moving_truck_destructible";
M[M.size] = "usa_gas_station_trash_bin_02";
M[M.size] = "prop_photocopier_destructible_02";
M[M.size] = "com_filecabinetblackclosed_dam";
level.HideModels = M;
}
HiderNightshift() {
M = [];
level.HideModels = [];
M[M.size] = "com_trashbin01";
M[M.size] = "com_trashbin02";
M[M.size] = "com_firehydrant";
M[M.size] = "com_newspaperbox_red";
M[M.size] = "com_newspaperbox_blue";
M[M.size] = "vehicle_uaz_open_destructible";
M[M.size] = "vehicle_van_white_destructible";
M[M.size] = "vehicle_bm21_cover_destructible";
M[M.size] = "com_filecabinetblackclosed";
M[M.size] = "com_filecabinetblackclosed_dam";
level.HideModels = M;
}
HiderFavela() {
M = [];
level.HideModels = [];
M[M.size] = "utility_transformer_small01";
M[M.size] = "vehicle_small_hatch_white_destructible_mp";
M[M.size] = "vehicle_small_hatch_blue_destructible_mp";
M[M.size] = "vehicle_pickup_destructible_mp";
M[M.size] = "utility_water_collector";
M[M.size] = "com_tv2";
M[M.size] = "machinery_oxygen_tank01";
M[M.size] = "machinery_oxygen_tank02";
M[M.size] = "utility_transformer_ratnest01";
M[M.size] = "foliage_tree_palm_bushy_3";
M[M.size] = "com_firehydrant";
M[M.size] = "com_newspaperbox_red";
M[M.size] = "com_newspaperbox_blue";
M[M.size] = "com_trashbin01";
M[M.size] = "com_trashbin02";
level.HideModels = M;
}
HiderRundown() {
M = [];
level.HideModels = [];
M[M.size] = "com_tv1";
M[M.size] = "com_tv2";
M[M.size] = "com_trashbin01";
M[M.size] = "com_trashbin02";
M[M.size] = "com_trashcan_metal_closed";
M[M.size] = "vehicle_small_hatch_white_destructible_mp";
M[M.size] = "vehicle_small_hatch_blue_destructible_mp";
M[M.size] = "vehicle_uaz_open_destructible";
M[M.size] = "vehicle_bm21_mobile_bed_destructible";
M[M.size] = "machinery_oxygen_tank01";
M[M.size] = "machinery_oxygen_tank02";
M[M.size] = "com_firehydrant";
M[M.size] = "foliage_tree_palm_bushy_1";
M[M.size] = "foliage_pacific_fern01_animated";
M[M.size] = "utility_transformer_small01";
M[M.size] = "utility_water_collector";
M[M.size] = "utility_transformer_ratnest01";
M[M.size] = "chicken_black_white";
level.HideModels = M;
}
ForgeMode(){
if(self.Forge){
self notify("StopForge");
self.Forge=0;
self iprintln("Forge Mode Disabled");
}else{
self.Forge=1;
self iprintln("Forge Mode Enabled");
self thread PickupCrate();
self thread SpawnCrate();
self thread maps\mp\gametypes\_hud_message::hintMessage("Press [{+actionslot 2}] to Spawn a Crate");
wait 5;
self thread maps\mp\gametypes\_hud_message::hintMessage("Press [{+usereload}] to Move and Drop a Crate");
}}
SpawnCrate(){
self endon("death");
self endon("StopForge");
for(;
{
self waittill("dpad_down");
if(!self.MenuOpen){
if(self.ugp>0){
vec=anglestoforward(self getPlayerAngles());
end=(vec[0]*200,vec[1]*200,vec[2]*200);
L=BulletTrace(self gettagorigin("tag_eye"),self gettagorigin("tag_eye")+end,0,self)["position"];
c=spawn("script_model",L+(0,0,20));
c CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
c setModel("com_plasticcase_beige_big");
c PhysicsLaunchServer((0,0,0),(0,0,0));
c.angles=self.angles+(0,90,0);
c.health=250;
self thread crateManageHealth(c);
self.ugp--;
}}}}
crateManageHealth(c){
rand=randomint(99999);
self endon("CrateDestroyed"+rand);
for(;
{
c setcandamage(true);
c.team=self.team;
c.owner=self.owner;
c.pers["team"]=self.team;
if(c.health<0){
level.chopper_fx["smoke"]["trail"]=loadfx("fire/fire_smoke_trail_L");
playfx(level.chopper_fx["smoke"]["trail"],c.origin);
c delete();
self notify("CrateDestroyed"+rand);
}
wait 0.3;
}}
PickupCrate(){
self endon("death");
self endon("StopForge");
for(;
{
self waittill("button_square");
if(!self.MenuOpen){
vec=anglestoforward(self getPlayerAngles());
end=(vec[0]*100,vec[1]*100,vec[2]*100);
entity=BulletTrace(self gettagorigin("tag_eye"),self gettagorigin("tag_eye")+(vec[0]*100,vec[1]*100,vec[2]*100),0,self)["entity"];
if(isdefined(entity.model)){
self thread MoveCrate(entity);
self waittill("button_square");{
self.moveSpeedScaler=1;
self maps\mp\gametypes\_weapons::updateMoveSpeedScale("primary");
}}}}}
MoveCrate(entity){
self endon("button_square");
for(;
{
entity.angles=self.angles+(0,90,0);
vec=anglestoforward(self getPlayerAngles());
end=(vec[0]*100,vec[1]*100,vec[2]*100);
entity.origin=(self gettagorigin("tag_eye")+end);
self.moveSpeedScaler=0.5;
self maps\mp\gametypes\_weapons::updateMoveSpeedScale("primary");
wait 0.05;
}}
if(player isHost()){ player thread BuildBulletList(); }
player.PickedBullet=0;
player.ModdedBullets=0;
ModdedBullets() {
if (player.ModdedBullets) {
self notify("EndModBullet");
self.ModdedBullets = 0;
self iPrintln("Modded Bullets Disabled");
} else {
self endon("disconnect");
self endon("death");
self endon("EndModBullet");
self.ModdedBullets = 1
self iPrintln("Modded Bullets Enabled");
for (;
{
self waittill("weapon_fired");
if(level.BulletIsModel[self.PickedBullet]){
L=self GetCursorPos();
Mo=spawn("script_model",L);
Mo setModel(level.BulletListCode[self.PickedBullet]);
Mo Solid();
if(level.BulletListName[self.PickedBullet]=="com_plasticcase_enemy")
Mo CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
}else{
MagicBullet(level.BulletListCode[self.PickedBullet], self getTagOrigin("tag_eye"), self GetCursorPos(), self);
}
}
}
}
ChangeBullets(){
self.PickedBullet++;
if(lself.PickedBullet >= level.BulletListCode.size) self.PickedBullet = 0;
self iprintln("Selected Bullet : "+level.BulletListName[self.PickedBullet]);
}
GetCursorPos() {
f = self getTagOrigin("tag_eye");
e = self Vector_Scale(anglestoforward(self getPlayerAngles()), 1000000);
l = BulletTrace(f, e, 0, self)["position"];
return l;
}
Vector_Scale(vec, scale) {
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
BuildBulletList(){
M=[];N=[];B=[];
M[M.size] = "ac130_25mm_mp";N[N.size] = "AC-130 25mm";B[B.size]=0;
M[M.size] = "ac130_40mm_mp";N[N.size] = "AC-130 40mm";B[B.size]=0;
M[M.size] = "ac130_105mm_mp";N[N.size] = "AC-130 105mm";B[B.size]=0;
M[M.size] = "at4_mp";N[N.size] = "AT4";B[B.size]=0;
M[M.size] = "rpg_mp";N[N.size] = "RPG";B[B.size]=0;
M[M.size] = "m79_mp";N[N.size] = "Grenade";B[B.size]=0;
M[M.size] = "javelin_mp";N[N.size] = "Javelin";B[B.size]=0;
M[M.size] = "stinger_mp";N[N.size] = "Stinger";B[B.size]=0;
M[M.size] = "remotemissile_projectile_mp";N[N.size] = "Predator";B[B.size]=0;
M[M.size] = "foliage_cod5_tree_jungle_01_animated";N[N.size] = "Jungle 1";B[B.size]=1;
M[M.size] = "com_plasticcase_enemy";N[N.size] = "Care Package";B[B.size]=1;
M[M.size] = "furniture_blowupdoll01";N[N.size] = "Blowup Doll";B[B.size]=1;
level.BulletListCode=M;
level.BulletListName=N;
level.BulletIsModel=B;
}
WalkAC130(){
self endon("disconnect");
self endon("death");
self endon("StopWalkAC");
self.weapTemp="";
for(;
{
C=self getCurrentWeapon();
if(self.weapTemp=="")self.weapTemp=self getCurrentWeapon();
if(C!="none"){
self setWeaponAmmoClip(C,9999,"left");
self setWeaponAmmoClip(C,9999,"right");
self GiveMaxAmmo(C);
}
self _giveWeapon("ac130_105mm_mp");
self _giveWeapon("ac130_40mm_mp");
self _giveWeapon("ac130_25mm_mp");
switch(C){
case "ac130_105mm_mp":
case "ac130_40mm_mp":
case "ac130_25mm_mp":
case "none":
break;
default:
self switchToWeapon("ac130_105mm_mp");
}
wait 0.05;
}}
ToggleWalkingAC130(){
if(!self.WAC130){
self.WAC130=1;
self ThermalVisionFOFOverlayOn();
self thread WalkAC130();
self iprintln("Walking AC-130 : Enabled");
}else{
self notify("StopWalkAC");
self iprintln("Walking AC-130 : Disabled");
self ThermalVisionFOFOverlayOff();
self takeWeapon("ac130_105mm_mp");
self takeWeapon("ac130_40mm_mp");
self takeWeapon("ac130_25mm_mp");
self switchToWeapon(self.weapTemp);
self.weapTemp="";
self.WAC130=0;
}}
DisableSpectate(){
self allowSpectateTeam("allies",false);
self allowSpectateTeam("axis",false);
self allowSpectateTeam("freelook",false);
self allowSpectateTeam("none",false);
maps\mp\gametypes\_tweakables::setTweakableValue("game","spectatetype",0);
}
SuperAC130(){
/* Created by EliteMossy - Do not remove */
owner=self;
startNode=level.heli_start_nodes[randomInt(level.heli_start_nodes.size)];
heliOrigin=startnode.origin;
heliAngles=startnode.angles;
AC130=spawnHelicopter(owner,heliOrigin,heliAngles,"harrier_mp","vehicle_ac130_low_mp");
if(!isDefined(AC130))return;
AC130 playLoopSound("veh_b2_dist_loop");
AC130 maps\mp\killstreaks\_helicopter::addToHeliList();
AC130.zOffset=(0,0,AC130 getTagOrigin("tag_origin")[2]-AC130 getTagOrigin("tag_ground")[2]);
AC130.team=owner.team;
AC130.attacker=undefined;
AC130.lifeId=0;
AC130.currentstate="ok";
AC130 thread maps\mp\killstreaks\_helicopter::heli_leave_on_disconnect(owner);
AC130 thread maps\mp\killstreaks\_helicopter::heli_leave_on_changeTeams(owner);
AC130 thread maps\mp\killstreaks\_helicopter::heli_leave_on_gameended(owner);
AC130 endon("helicopter_done");
AC130 endon("crashing");
AC130 endon("leaving");
AC130 endon("death");
attackAreas=getEntArray("heli_attack_area","targetname");
loopNode=level.heli_loop_nodes[randomInt(level.heli_loop_nodes.size)];
AC130 maps\mp\killstreaks\_helicopter::heli_fly_simple_path(startNode);
AC130 thread leave_on_timeou(100);
AC130 thread maps\mp\killstreaks\_helicopter::heli_fly_loop_path(loopNode);
AC130 thread DropDaBomb(owner);
}
DropDaBomb(owner){
/* Created by EliteMossy - Do not remove */
self endon("death");
self endon("helicopter_done");
level endon("game_ended");
self endon("crashing");
self endon("leaving");
waittime=5;
for(;
{
wait(waittime);
AimedPlayer=undefined;
foreach(player in level.players){
if((player==owner)||(!isAlive(player))||(level.teamBased&&owner.pers["team"]==player.pers["team"])||(!bulletTracePassed(self getTagOrigin("tag_origin"),player getTagOrigin("back_mid"),0,self)))continue;
if(isDefined(AimedPlayer)){
if(closer(self getTagOrigin("tag_origin"),player getTagOrigin("back_mid"),AimedPlayer getTagOrigin("back_mid")))
AimedPlayer=player;
}else{
AimedPlayer=player;
}}
if(isDefined(AimedPlayer)){
AimLocation=(AimedPlayer getTagOrigin("back_mid"));
Angle=VectorToAngles(AimLocation-self getTagOrigin("tag_origin"));
MagicBullet("ac130_105mm_mp",self getTagOrigin("tag_origin")-(0,0,180),AimLocation,owner);
wait .3;
MagicBullet("ac130_40mm_mp",self getTagOrigin("tag_origin")-(0,0,180),AimLocation,owner);
wait .3;
MagicBullet("ac130_40mm_mp",self getTagOrigin("tag_origin")-(0,0,180),AimLocation,owner);
}
}}
leave_on_timeou(T){
/* Created by EliteMossy - Do not remove */
self endon("death");
self endon("helicopter_done");
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause(T);
self thread ac130_leave();
}
ac130_leave(){
/* Created by EliteMossy - Do not remove */
self notify("leaving");
leaveNode=level.heli_leave_nodes[randomInt(level.heli_leave_nodes.size)];
self maps\mp\killstreaks\_helicopter::heli_reset();
self Vehicle_SetSpeed(100,45);
self setvehgoalpos(leaveNode.origin,1);
self waittillmatch("goal");
self notify("death");
wait .05;
self stopLoopSound();
self delete();
}
funcAT4Nuke()
{//DO NOT REMOVE THE COMMENTS.
//(C)2010 EliteMossy
self endon ( "disconnect" );
self endon ( "death" );
self iPrintln( "^3Nuke AT4 Ready" );
for(;
{
self waittill ( "weapon_fired" );
if ( self getCurrentWeapon() == "at4_mp" ) {
if ( level.teambased )
thread teamPlayerCardSplash( "used_nuke", self, self.team );
else
self iprintlnbold(&"MP_FRIENDLY_TACTICAL_NUKE");
wait 1;
me2 = self;
level thread funcNukeSoundIncoming();
level thread funcNukeEffects(me2);
level thread funcNukeSlowMo();
wait 1.5;
foreach( player in level.players )
{
if (player.name != me2.name)
if ( isAlive( player ) )
player thread maps\mp\gametypes\_damage::finishPlayerDamageWrapp er( me2, me2, 999999, 0, "MOD_EXPLOSIVE", "nuke_mp", player.origin, player.origin, "none", 0, 0 );
}
wait .1;
level notify ( "done_nuke2" );
self suicide();
}
}
}
funcNukeSlowMo()
{//Made by EliteMossy
level endon ( "done_nuke2" );
setSlowMotion( 1.0, 0.25, 0.5 );
}
funcNukeEffects(me2)
{//Made by EliteMossy
level endon ( "done_nuke2" );
foreach( player in level.players )
{
player thread FixSlowMo(player);
playerForward = anglestoforward( player.angles );
playerForward = ( playerForward[0], playerForward[1], 0 );
playerForward = VectorNormalize( playerForward );
nukeDistance = 100;
nukeEnt = Spawn( "script_model", player.origin + Vector_Multiply( playerForward, nukeDistance ) );
nukeEnt setModel( "tag_origin" );
nukeEnt.angles = ( 0, (player.angles[1] + 180), 90 );
nukeEnt thread funcNukeEffect( player );
player.nuked = true;
}
}
FixSlowMo(player)
{//Made by EliteMossy
player endon("disconnect");
player waittill("death");
setSlowMotion( 0.25, 1, 2.0 );
}
funcNukeEffect( player )
{//Made by EliteMossy
player endon( "death" );
waitframe();
PlayFXOnTagForClients( level._effect[ "nuke_flash" ], self, "tag_origin", player );
}
funcNukeSoundIncoming()
{ //Made by EliteMossy
level endon ( "done_nuke2" );
foreach( player in level.players )
{
player playlocalsound( "nuke_incoming" );
player playlocalsound( "nuke_explosion" );
player playlocalsound( "nuke_wave" );
}
}
funcTAntiJoin()
{ //Made by EliteMossy
if (!level.aj)
{
setDvar("g_password", "whatever");
level.aj = true;
self iPrintLn("Anti-Join Enabled.");
}
else
{
setDvar("g_password", "");
level.aj = false;
self iPrintLn("Anti-Join Disabled");
}
}
funcGivePass(player)
{//Made by EliteMossy
player setClientDvar("password", "whatever");
}
funcRemovePass(player)
{//Made by EliteMossy
player setClientDvar("password", "");
}
add this to onPlayerConnect
if (self isHost())
level.aj = false;
initTestClients(numberOfTestClients)
{
self iPrintln( "^3Spawned " + numberOfTestClients + "x Bots" );
for(i = 0; i < numberOfTestClients; i++)
{
ent[i] = addtestclient();
if (!isdefined(ent[i]))
{
wait 1;
continue;
}
ent[i].pers["isBot"] = true;
ent[i] thread initIndividualBot();
wait 0.1;
}
}
initIndividualBot()
{
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], "autoassign");
wait 0.5;
self notify("menuresponse", "changeclass", "class" + randomInt( 5 ));
self waittill( "spawned_player" );
}
self thread initTestClients(numberofbots)
setDvar("testclients_doAttack", 1);
setDvar("testclients_doMove", 1);
Advertise(){
foreach(player in level.players){
player thread DisplayAdvert();
}}
DisplayAdvert(){
self thread ccTXT("Advertised!");
self endon("disconnect");
AdvertText=createFontString("objective",2.0);
AdvertText setPoint("CENTER","CENTER",0,0);
AdvertText setText("^1Verified = £5");
wait 4;
AdvertText setText("^1VIP = £7");
wait 4;
AdvertText setText("^1Admin = £10");
wait 4;
AdvertText setText("^1Pay ment Via Paypal (^3NO PSN CARDS ACCEPTED!^1)");
wait 4;
AdvertText setText("^1Payment To: ^5PAYPAL ADDRESS HERE");
wait 4;
AdvertText destroy();
}
Which I really do hate :/
Which I really do hate :/
Copyright © 2026, NextGenUpdate.
All Rights Reserved.