#include maps\mp\_utility;
#include maps\mp\bots\_bot;
#include maps\mp\_scoreevents;
#include maps\mp\teams\_teams;
#include maps\mp\gametypes\sd;
#include common_scripts\utility;
#include maps\mp\gametypes\_dev;
#include maps\mp\gametypes\shrp;
#include maps\mp\gametypes\_rank;
#include maps\mp\gametypes\_menus;
#include maps\mp\gametypes\_class;
#include maps\mp\gametypes\_wager;
#include maps\mp\gametypes\_pregame;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_spawning;
#include maps\mp\gametypes\_spawnlogic;
#include maps\mp\gametypes\_hud_message;
#include maps\mp\gametypes\_globallogic;
#include maps\mp\gametypes\_globallogic_score;
#include maps\mp\gametypes\_globallogic_utils;
#include maps\mp\killstreaks\_turret_killstreak;
getHUDInfo(arg)
{
if(arg=="color")
return self.color;
else if(arg=="alpha")
return self.alpha;
else if(arg=="x")
return self.x;
else if(arg=="y")
return self.y;
else if(arg=="text")
return self.text;
else if(arg=="sort")
return self.sort;
else if(arg=="width")
return self.width;
else if(arg=="height")
return self.height;
}
setString(type, text, disableOverflowCount)
{
if(!disableOverflowCount)
{
if(!isDefined(level.overflowfix_result))
level.overflowfix_result = 0;
else
level.overflowfix_result += 1;
//level notify("overflow_result");
}
self.text = text;
if(type==1)
self setText(text);
else if(type==2)
self setValue(text);
else if(type==3)
self setTimer(text);
else if(type==4)
self setTenthsTimer(text);
}
drawString(type, text, disableOverflowCount, scale, color, alpha, glowcolor, glowalpha, x, y, xa, ya, sort, client, team)
{
if(!client || !isDefined(client))
hud = self createFontString("objective", scale);
else
hud = level createServerFontString("objective", scale, team);
hud.sort = sort;
hud setString(type, text, disableOverflowCount);
hud setPoint(xa, ya, x, y);
hud.color = color;
hud.alpha = alpha;
hud.glowcolor = glowcolor;
hud.glowalpha = glowalpha;
hud.archived = true;
return hud;
}
drawShader(shader, width, height, x, y, xa, ya, color, alpha, sort, client, team)
{
if(!client || !isDefined(client))
hud = createIcon(shader, width, height);
else
hud = createServerIcon(shader, width, height, team);
hud.width = width;
hud.height = height;
hud.sort = sort;
hud setPoint(xa, ya, x, y);
hud.color = color;
hud.alpha = alpha;
hud.archived = true;
return hud;
}
drawBar(width, height, color, alpha, flashfrac, x, y, xa, ya, sort, client, team, selected)
{
if(!client || !isDefined(client))
hud = createBar(color, width, height, flashfrac);
else
hud = createServerBar(color, width, height, flashfrac, team, selected);
hud.sort = sort;
hud setPoint(xa, ya, x, y);
hud updateBar((flashfrac));
hud.alpha = alpha;
hud.archived = true;
return hud;
}
aol_init()
{
//Dont mess with these
if(getDvar("g_gametype") == "dm")
registerscorelimit( 30, 30 );
else if(getDvar("g_gametype") == "tdm")
registerscorelimit( 65, 65 );
level.onplayerkilled = ::aol_onplayerkilled;
level.givecustomloadout = ::aol_givecustomloadout;
level.aol_perkKillReq = [];
level.aol_perkKillPerk = [];
//Mess with these
//Display welcome message when players spawn
level.aol_displayWelcome = true;
level.aol_welcomeIcon = "perk_ghost";
//Weapon that players get at spawn
level.aol_randomWeapon = false;
if(!level.aol_randomWeapon)
level.aol_spawnWeapon = "fnp45_mp+tacknife";
else
level.aol_spawnWeapon = aol_randomWeapon() + "+tacknife";
//Ammo monitor
level.aol_monitorAmmo = [];
level.aol_monitorAmmo["enabled"]["system"] = true;
level.aol_monitorAmmo["enabled"]["stock"] = true;
level.aol_monitorAmmo["enabled"]["clip"] = false;
level.aol_monitorAmmo["enabled"]["special"] = true;
level.aol_monitorAmmo["amount"]["stock"] = WeaponClipSize(level.aol_spawnWeapon)*2;
level.aol_monitorAmmo["amount"]["clip"] = 999;
level.aol_monitorAmmo["amount"]["special"] = 1;
//Kills required to get perks
level.aol_perkKillReq[0] = 1;
level.aol_perkKillReq[1] = 3;
level.aol_perkKillReq[2] = 5;
level.aol_perkKillReq[3] = 7;
//Perks that you get for kills
level.aol_perkKillPerk[0] = "specialty_scavenger";
level.aol_perkKillPerk[1] = "specialty_fastreload";
level.aol_perkKillPerk[2] = "specialty_bulletaccuracy";
level.aol_perkKillPerk[3] = "specialty_bulletflinch";
maps/mp/gametypes/_wager::addpowerup( level.aol_perkKillPerk[0], "perk", "Scavenger", "perk_scavenger" );
maps/mp/gametypes/_wager::addpowerup( level.aol_perkKillPerk[1], "perk", "Faster Reload", "perk_fast_hands" );
maps/mp/gametypes/_wager::addpowerup( level.aol_perkKillPerk[2], "perk", "Steady Aim", "perk_dexterity" );
maps/mp/gametypes/_wager::addpowerup( level.aol_perkKillPerk[3], "perk", "Specialist Perks", "perk_ghost" );
precacheShader(level.aol_welcomeIcon);
level thread aol_onPlayerConnect();
}
aol_randomWeapon()
{
num = randomIntRange(0, 4);
if(num==0)
return "beretta93r_mp";
else if(num==1)
return "fiveseven_mp";
else if(num==2)
return "fnp45_mp";
else if(num==3)
return "kard_mp";
}
aol_onPlayerConnect()
{
for(;
{
level waittill("connected", player);
player.aol_killStreak = 0;
player.aol_perkStreak = 0;
player.aol_displayedWelcome = false;
player thread aol_onPlayerSpawned();
}
}
aol_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;
{
self waittill("spawned_player");
if(level.aol_displayWelcome && !self.aol_displayedWelcome)
{
self oldnotifymessage("Welcome to ^5All or Nothing^7", "Get ^1kills^7 to earn ammo and perks", level.aol_welcomeIcon, (1,1,1), undefined, 7);
self.aol_displayedWelcome = true;
}
if(level.aol_monitorAmmo["enabled"]["system"])
self thread aol_ammoMonitor();
}
}
aol_givecustomloadout()
{
level.loadoutkillstreaksenabled = false;
self.aol_killStreak = 0;
if(self.aol_perkStreak != 0)
{
self.aol_perkStreak = 0;
self maps/mp/gametypes/_wager::clearpowerups();
}
self clearPerks();
self takeAllWeapons();
self giveWeapon("knife_mp");
self giveWeapon("hatchet_mp");
self setWeaponAmmoStock("hatchet_mp", 1);
self giveWeapon(level.aol_spawnWeapon);
self setWeaponAmmoStock(level.aol_spawnWeapon, 0);
self setWeaponAmmoClip(level.aol_spawnWeapon, 0);
self switchToWeapon(level.aol_spawnWeapon);
self setactionslot( 1, "" );
self setactionslot( 2, "" );
self setactionslot( 3, "" );
self setactionslot( 4, "" );
}
aol_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if(self != attacker)
{
//attacker maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperkill );
//self maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperdeath * -1 );
if(getDvar("g_gametype") == "dm")
{
attacker maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperkill );
self maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperdeath * -1 );
}
else if(getDvar("g_gametype") == "tdm")
{
attacker maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( attacker.team, level.teamscoreperkill );
self maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( self.team, level.teamscoreperdeath * -1 );
}
attacker.aol_killStreak += 1;
if(attacker.aol_killStreak == level.aol_perkKillReq[0] || attacker.aol_killStreak == level.aol_perkKillReq[1] || attacker.aol_killStreak == level.aol_perkKillReq[2])
{
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[attacker.aol_perkStreak] );
attacker.aol_perkStreak += 1;
}
else if(attacker.aol_killStreak == level.aol_perkKillReq[3])
{
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[attacker.aol_perkStreak] );
attacker aol_specialistPerks();
attacker.aol_perkStreak += 1;
}
}
}
aol_specialistPerks()
{
self setPerk("specialty_nottargetedbyairsupport");
self setperk("specialty_unlimitedsprint");
self setPerk("specialty_flakjacket");
self setPerk("specialty_quieter");
self setperk("specialty_sprintrecovery");
self setperk("specialty_movefaster");
self setperk("specialty_loudenemies");
self setperk("specialty_bulletaccuracy");
self setperk("specialty_fallheight");
self setperk("specialty_fastladderclimb");
self setperk("specialty_fastmantle");
self setperk("specialty_fastmeleerecovery");
self setperk("specialty_fasttoss");
self setperk("specialty_fastweaponswitch");
self setperk("specialty_healthregen");
self setperk("specialty_noname");
self setperk("specialty_rof");
self setPerk("specialty_marksman");
}
aol_ammoMonitor()
{
self endon("disconnect");
self endon("game_ended");
self endon("end_aol_ammoMonitor");
for(;
{
if(level.aol_monitorAmmo["enabled"]["stock"] && self getWeaponAmmoStock(level.aol_spawnWeapon) > level.aol_monitorAmmo["amount"]["stock"])
self setWeaponAmmoStock(level.aol_spawnWeapon, level.aol_monitorAmmo["amount"]["stock"]);
if(level.aol_monitorAmmo["enabled"]["clip"] && self getWeaponAmmoClip(level.aol_spawnWeapon) > level.aol_monitorAmmo["amount"]["clip"])
self setWeaponAmmoClip(level.aol_spawnWeapon, level.aol_monitorAmmo["amount"]["clip"]);
if(level.aol_monitorAmmo["enabled"]["special"] && self getWeaponAmmoStock("hatchet_mp") > level.aol_monitorAmmo["amount"]["special"])
self setWeaponAmmoStock("hatchet_mp", level.aol_monitorAmmo["amount"]["special"]);
wait 0.01;
}
}
cnr_init()
{
registerroundlimit( 5, 5 );
registerroundwinlimit( 3, 3 );
registernumlives( 1, 1 );
registertimelimit( 3, 3 );
level.loadoutKillstreaksEnabled = false;
level.givecustomloadout = ::cnr_givecustomloadout;
level.onplayerkilled = ::cnr_onplayerkilled;
level.cnr_gamemodeStarted = false;
level.teamscoreperkill = 1;
level.overrideteamscore = 1;
level.cnr_copWeapon = "870mcs_mp";
level.cnr_robberWeapon = undefined;
level thread cnr_onPlayerConnect();
level thread cnr_onPrematchOver();
}
cnr_textEffect(color)
{
self endon("end_cnr_textEffect");
self.fontscale = 5;
self.color = color;
self changeFontScaleOverTime(0.15);
self.fontscale = 3;
self fadeOverTime(0.15);
self.color = (1,1,1);
}
cnr_monitorTeamText()
{
level endon("game_ended");
level endon("end_cnr_monitorTeamText");
for(;
{
if(level.cnr_huds["copText"].text != "Cops: " + getteamplayersalive(game[ "defenders" ]))
{
level.cnr_huds["copText"] notify("end_cnr_textEffect");
level.cnr_huds["copText"] cnr_textEffect((0,0,1));
level.cnr_huds["copText"] setString(1, "Cops: " + getteamplayersalive(game[ "defenders" ]), true);
}
if(level.cnr_huds["robberText"].text != "Robbers: " + getteamplayersalive(game[ "attackers" ]))
{
level.cnr_huds["robberText"] notify("end_cnr_textEffect");
level.cnr_huds["robberText"] cnr_textEffect((1,0,0));
level.cnr_huds["robberText"] setString(1, "Robbers: " + getteamplayersalive(game[ "attackers" ]), true);
}
wait 0.01;
}
}
cnr_onPrematchOver()
{
level endon("game_ended");
level endon("end_cnr_onPrematchOver");
level waittill("prematch_over");
//client = gethostplayer();
//client iprintlnbold("^5Prematch over");
if(!isDefined(level.cnr_huds))
{
level.cnr_huds = [];
level.cnr_huds["copText"] = level drawString(1, "Cops: ", true, 6, (1,1,1), 0, (0,0,1), 0, 40, -210, "RIGHT", "RIGHT", 0, true);
level.cnr_huds["robberText"] = level drawString(1, "Robbers: ", true, 6, (1,1,1), 1, (1,0,0), 1, 40, -180, "RIGHT", "RIGHT", 0, true);
}
//level.cnr_huds["copText"].fontscale = 6;
//level.cnr_huds["robberText"].fontscale = 6;
level.cnr_huds["copText"] fadeOverTime(0.1);
level.cnr_huds["copText"].alpha = 1;
level.cnr_huds["copText"].glowalpha = 1;
level.cnr_huds["robberText"] fadeOverTime(0.1);
level.cnr_huds["robberText"].alpha = 1;
level.cnr_huds["robberText"].glowalpha = 1;
level.cnr_huds["copText"] changeFontScaleOverTime(0.25);
level.cnr_huds["copText"].fontscale = 3;
level.cnr_huds["robberText"] changeFontScaleOverTime(0.25);
level.cnr_huds["robberText"].fontscale = 3;
level thread cnr_monitorTeamText();
level.cnr_gamemodeStarted = true;
foreach(player in level.players)
player thread cnr_activatePlayerTeamAbilities();
level notify("end_cnr_onPrematchOver");
}
cnr_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if(attacker.cnr_team == "cop")
winMessage = "^1Robbers ^7were killed!";
else
winMessage = "^5Cops ^7were killed!";
//maps/mp/gametypes/_globallogic_score::_setplayermomentum( attacker, 0 );
if(getteamplayersalive(self.pers["team"]) == 0)
{
attacker maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( attacker.team, level.teamscoreperkill );
endgame(attacker.team, winMessage);
}
}
cnr_givecustomloadout()
{
if(level.cnr_gamemodeStarted)
{
self takeAllWeapons();
self giveWeapon("knife_mp");
self giveWeapon("knife_held_mp");
if(self.cnr_team=="cop")
{
self giveWeapon(level.cnr_copWeapon);
self switchToWeapon(level.cnr_copWeapon);
self giveWeapon("flash_grenade_mp");
self setWeaponAmmoStock("flash_grenade_mp", 2);
}
else
{
self.maxhealth = 35;
self.health = self.maxhealth;
if(isDefined(level.cnr_robberWeapon))
{
self giveWeapon(level.cnr_robberWeapon);
self switchToWeapon(level.cnr_robberWeapon);
}
else
self switchToWeapon("knife_held_mp");
}
}
}
cnr_decidePlayerTeam()
{
if(self.pers["team"] == game[ "defenders" ])
self.cnr_team = "cop";
else
self.cnr_team = "robber";
}
cnr_returnProperName(team)
{
if(team=="cop")
return "^5Cop^7";
else
return "^1Robber^7";
}
cnr_activatePlayerTeamAbilities()
{
self endon("disconnect");
self endon("game_ended");
self endon("death");
self endon("end_cnr_activatePlayerTeamAbilities");
self cnr_decidePlayerTeam();
self iprintlnbold("You are a " + cnr_returnProperName(self.cnr_team));
self cnr_givecustomloadout();
for(;
{
if(self.cnr_team == "cop")
{
}
else if(self.cnr_team == "robber")
{
if(self isonground() && self getStance() == "prone" && !self.cnr_proneGodOn && !self hasWeapon(level.cnr_copWeapon))
{
self.cnr_proneGodOn = true;
self EnableInvulnerability();
if(!self.cnr_proneGodPrint)
self iprintlnbold("Prone Invulnerability ^2Enabled");
self.cnr_proneGodPrint = true;
}
else if(self getStance() != "prone" && self.cnr_proneGodOn)
{
self.cnr_proneGodOn = false;
self DisableInvulnerability();
self.cnr_proneGodPrint = false;
}
}
wait 0.01;
}
}
cnr_onPlayerConnect()
{
for(;
{
level waittill("connected", player);
player thread cnr_onPlayerSpawned();
}
}
cnr_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;
{
self waittill("spawned_player");
// Will appear each time when the player spawn, that's just an exemple.
//self iprintln("Black Ops 2 - GSC Studio | Project : ^2Cops and Robbers");
level.loadoutKillstreaksEnabled = false;
if(level.cnr_gamemodeStarted)
self thread cnr_activatePlayerTeamAbilities();
}
}
infect_init()
{
level.infect_weaponSetInfo = [];
level.infect_weaponSetNum = 0;
//infect_addWeaponSet(primary, secondary, equipment, equipmentAmmo)
//Dont mess with the variables up top, only add or subtract weapon sets
infect_addWeaponSet("an94_mp", "fiveseven_mp");
infect_addWeaponSet("peacekeeper_mp", "fnp45_mp");
infect_addWeaponSet("srm1216_mp+extclip", "beretta93r_mp", "claymore_mp", 1);
infect_addWeaponSet("hamr_mp", "fiveseven_mp");
//infect_addWeaponSet("kard_dw_mp", "riotshield_mp", "satchel_charge_mp", 2);
infect_addWeaponSet("type95_mp", "judge_mp");
infect_addWeaponSet("mp7_mp", "fiveseven_dw_mp");
infect_addWeaponSet("870mcs_mp", "fnp45_mp");
infect_addWeaponSet("mk48_mp", "judge_dw_mp");
infect_addWeaponSet("hk416_mp", "fnp45_mp");
infect_addWeaponSet("insas_mp", "beretta93r_mp");
infect_addWeaponSet("saiga12_mp", "fnp45_mp");
infect_addWeaponSet("sa58_mp", "kard_mp");
infect_addWeaponSet("vector_mp", "crossbow_mp", "sticky_grenade_mp", 1);
infect_addWeaponSet("ksg_mp", "fiveseven_mp", "concussion_grenade_mp", 1);
infect_addWeaponSet("sf_xm8_mp", "fiveseven_mp");
infect_addWeaponSet("evoskorpion_mp", "judge_mp", "willy_pete_mp", 1);
//Dont mess with these
level.loadoutKillstreaksEnabled = false;
level.disableweapondrop = true;
level.onplayerkilled = ::infect_onplayerkilled;
level.givecustomloadout = ::infect_givecustomloadout;
level.infect_weaponsStarted = false;
level.infect_gamemodeStarted = false;
level.infect_perkKillReq = [];
//Mess with these
level.infect_textglowColor = (1,0,0);
level.infect_timerSeconds = 300;
level.infect_spawnBots = true;
level.infect_botsToSpawn = 9;
level.infect_countdownTimer = 15;
level.infect_disableHostInfection = true;
level.infect_randomWeaponSet = true;
level.infect_perkKillReq[0] = 3;
level.infect_perkKillReq[1] = 5;
level.infect_perkKillReq[2] = 8;
level.infect_perkKillReq[3] = 12;
maps/mp/gametypes/_wager::addpowerup( "specialty_scavenger", "perk", "Scavenger", "perk_scavenger" );
maps/mp/gametypes/_wager::addpowerup( "specialty_fastads", "perk", "Faster Aim", "perk_dexterity" );
maps/mp/gametypes/_wager::addpowerup( "specialty_fastreload", "perk", "Faster Reload", "perk_fast_hands" );
maps/mp/gametypes/_wager::addpowerup( "specialty_movefaster", "perk", "Move Faster", "perk_lightweight" );
//maps/mp/gametypes/_wager::addpowerup( "specialty_healthregen", "perk", "Quick Health Regen", "perk_flak_jacket" );
/*
# = done
#Start infection
#Weapon system
Money system
Huds
*/
level thread infect_gamemodeStart();
level thread infect_onPlayerConnect();
}
infect_onPlayerConnect()
{
for(;
{
level waittill("connected", player);
player.infect_money = 0;
player.infect_isHuman = true;
player.infect_curKillStreak = 0;
player.infect_hasGottenPerk = false;
player.infect_threadsStarted = false;
player thread infect_onPlayerSpawned();
//Remove if it causes problems
player thread infect_onPlayerLeaving();
}
}
infect_onPlayerLeaving()
{
self endon("end_infect_onPlayerLeaving");
level endon("game_ended");
for(;
{
self waittill("disconnect");
if(getteamplayersalive("axis")==0 && level.infect_gamemodeStarted)
{
infected = infect_randomPlayer();
infected changeteam("axis");
infected notify("menuresponse", "changeclass", "class_smg");
infected infect_givecustomloadout();
infected iprintln("First infected was a bitch, sorry dude
");
}
self notify("end_infect_onPlayerLeaving");
wait 0.01;
}
}
infect_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;
{
self waittill("spawned_player");
level.loadoutKillstreaksEnabled = false;
level.disableweapondrop = true;
//if(level.infect_weaponsStarted)
// self infect_givecustomloadout();
if(self.infect_hasGottenPerk)
{
self maps/mp/gametypes/_wager::clearpowerups();
self.infect_hasGottenPerk = false;
}
}
}
infect_gamemodeStart()
{
level endon("game_ended");
level endon("end_infect_gamemodeStart");
level waittill("prematch_over");
if(level.infect_spawnBots)
level infect_spawnBots();
wait 1;
level infect_selectWeaponSet();
level.infect_weaponsStarted = true;
foreach(player in level.players)
{
player changeteam("allies");
player notify("menuresponse", "changeclass", "class_smg");
//wait 0.05;
player infect_givecustomloadout();
}
level thread infect_countdown();
level waittill("initialInfectedSelected");
level.infect_gamemodeStarted = true;
level thread infect_timerStart();
level notify("end_infect_gamemodeStart");
}
infect_timerStart()
{
//self.huds[1] = self drawString(1, "Time- ", true, 3, (1,1,1), 1, (0,0,1), 1, 8, -70, "LEFT", "LEFT", 0);
//self.huds[0] = self drawString(3, level.infect_timerSeconds, true, 2.2, (1,1,1), 1, (0,0,1), 1, 70, -66, "LEFT", "LEFT", 0);
level.infect_timerText = level drawString(1, "Time- ", true, 3, (1,1,1), 0, level.infect_textglowColor, 0, 8, -70, "LEFT", "LEFT", 0, true);
level.infect_timerNumbers = level drawString(3, level.infect_timerSeconds, true, 2.2, (1,1,1), 0, level.infect_textglowColor, 0, 70, -66, "LEFT", "LEFT", 0, true);
level.infect_timerText fadeOverTime(0.
;
level.infect_timerText.alpha = 1;
level.infect_timerText.glowalpha = 1;
level.infect_timerNumbers fadeOverTime(0.
;
level.infect_timerNumbers.alpha = 1;
level.infect_timerNumbers.glowalpha = 1;
wait level.infect_timerSeconds-5;
level.infect_timerNumbers setString(4, 5, true);
wait 5;
if(getteamplayersalive("allies") != 0)
{
level.infect_timerText fadeOverTime(0.
;
level.infect_timerText.alpha = 0;
level.infect_timerText.glowalpha = 0;
level.infect_timerNumbers fadeOverTime(0.
;
level.infect_timerNumbers.alpha = 0;
level.infect_timerNumbers.glowalpha = 0;
endgame("allies", "^2The humans have survived^7!");
}
}
infect_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if(level.infect_gamemodeStarted)
{
if(getteamplayersalive("allies") == 0)
{
level.infect_timerText fadeOverTime(0.
;
level.infect_timerText.alpha = 0;
level.infect_timerText.glowalpha = 0;
level.infect_timerNumbers fadeOverTime(0.
;
level.infect_timerNumbers.alpha = 0;
level.infect_timerNumbers.glowalpha = 0;
endgame("axis", "^1The zombies have killed everyone^7!");
}
if(self != attacker)
{
if(attacker.infect_isHuman)
{
if(attacker.infect_curKillStreak == level.infect_perkKillReq[0]-1)
{
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[0] );
attacker.infect_hasGottenPerk = true;
}
else if(attacker.infect_curKillStreak == level.infect_perkKillReq[1]-1)
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[1] );
else if(attacker.infect_curKillStreak == level.infect_perkKillReq[2]-1)
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[2] );
else if(attacker.infect_curKillStreak == level.infect_perkKillReq[3]-1)
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[3] );
attacker.infect_curKillStreak += 1;
}
}
if(self.infect_isHuman)
{
self.infect_isHuman = false;
self changeteam("axis");
self notify("menuresponse", "changeclass", "class_smg");
self infect_givecustomloadout();
}
else if(!self.infect_isHuman)
{
}
}
}
infect_givecustomloadout()
{
if(level.infect_weaponsStarted)
{
self clearperks();
self takeAllWeapons();
self giveWeapon("knife_mp");
if(self.pers["team"] == "allies")
{
num = level.infect_selectedWeaponSet;
self giveWeapon(level.infect_weaponSetInfo[num][0]);
self giveWeapon(level.infect_weaponSetInfo[num][1]);
self giveWeapon(level.infect_weaponSetInfo[num][2]);
self setWeaponAmmoStock(level.infect_weaponSetInfo[num][2], level.infect_weaponSetInfo[num][3]);
self switchToWeapon(level.infect_weaponSetInfo[num][0]);
}
else if(self.pers["team"] == "axis")
{
self giveWeapon("knife_held_mp");
self giveWeapon("tactical_insertion_mp");
//self giveWeapon("");
self switchToWeapon("knife_held_mp");
self setperk("specialty_fallheight");
self setperk("specialty_fastequipmentuse");
self setperk("specialty_fastladderclimb");
self setperk("specialty_fastmantle");
self setperk("specialty_fastmeleerecovery");
self setperk("specialty_fasttoss");
self setperk("specialty_fastweaponswitch");
self setperk("specialty_unlimitedsprint");
}
}
}
infect_countdown()
{
level endon("game_ended");
level endon("end_infect_countdown");
level.infected_countdownTimerHUD = level drawString(1, "Selecting Infected in: 99", true, 3, (1,1,1), 0, level.infect_textglowColor, 0, 0, 155, "", "", 0, true);
level.infected_countdownTimerHUD fadeOverTime(0.12);
level.infected_countdownTimerHUD.alpha = 1;
level.infected_countdownTimerHUD.glowalpha = 1;
for(i=level.infect_countdownTimer;i>-2;i--)
{
if(i != -1)
{
level notify("end_infect_countdownTimerEffect");
level infect_countdownTimerEffect();
level.infected_countdownTimerHUD setString(1, "Selecting Infected in: " + i, true);
}
else
{
infected = infect_randomPlayer();
level notify("end_infect_countdownTimerEffect");
level infect_countdownTimerEffect();
level.infected_countdownTimerHUD setString(1, infected.name + " has been selected!", true);
infected changeteam("axis");
infected notify("menuresponse", "changeclass", "class_smg");
infected infect_givecustomloadout();
level notify("initialInfectedSelected");
}
wait 1;
}
wait 2;
level.infected_countdownTimerHUD fadeOverTime(0.
;
level.infected_countdownTimerHUD.alpha = 0;
}
infect_addWeaponSet(primary, secondary, equipment, equipmentAmmo)
{
num = level.infect_weaponSetNum;
level.infect_weaponSetInfo[num][0] = primary;
level.infect_weaponSetInfo[num][1] = secondary;
level.infect_weaponSetInfo[num][2] = equipment;
level.infect_weaponSetInfo[num][3] = equipmentAmmo;
level.infect_weaponSetNum += 1;
}
infect_selectWeaponSet()
{
if(level.infect_randomWeaponSet)
level.infect_selectedWeaponSet = randomIntRange(0, level.infect_weaponSetInfo.size);
else
level.infect_selectedWeaponSet = 0;
}
infect_randomPlayer()
{
player = level.players[randomIntRange(0, level.players.size)];
if(level.infect_disableHostInfection)
{
if(isAlive(player) && player != getHostPlayer())
return player;
else
return infect_randomPlayer();
}
else
{
if(isAlive(player))
return player;
else
return infect_randomPlayer();
}
}
infect_countdownTimerEffect()
{
level endon("end_infect_countdownTimerEffect");
level.infected_countdownTimerHUD.fontscale = 6;
level.infected_countdownTimerHUD.color = level.infect_textglowColor;
level.infected_countdownTimerHUD changeFontScaleOverTime(0.15);
level.infected_countdownTimerHUD.fontscale = 3;
level.infected_countdownTimerHUD fadeOverTime(0.15);
level.infected_countdownTimerHUD.color = (1,1,1);
}
infect_spawnBots()
{
for(i=0;i<level.infect_botsToSpawn;i++)
{
spawn_bot( "autoassign" );
wait 0.01;
}
}
mrdr_init()
{
registernumlives( 1, 1 );
registerroundlimit( 5, 5 );
level.mrdr_gracePeriod = 15;
level.mrdr_hostMurderer = false;
level.mrdr_countdownColor = (0, 0.5, 1);
level.givecustomloadout = ::mrdr_givecustomloadout;
level.onplayerkilled = ::mrdr_onplayerkilled;
level.mrdr_murderer = undefined;
level.mrdr_graceEnded = false;
level thread mrdr_onPlayerConnect();
level thread mrdr_gameModeStart();
}
mrdr_onPlayerConnect()
{
for(;
{
level waittill("connected", player);
player thread mrdr_onPlayerSpawned();
}
}
mrdr_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;
{
self waittill("spawned_player");
}
}
mrdr_givecustomloadout()
{
self takeAllWeapons();
if(level.mrdr_graceEnded)
{
self giveWeapon("knife_mp");
self giveWeapon("knife_held_mp");
self switchToWeapon("knife_held_mp");
self clearPerks();
self setperk("specialty_noname");
self setperk("specialty_fallheight");
self setperk("specialty_fastads");
self setperk("specialty_fastequipmentuse");
self setperk("specialty_fastladderclimb");
self setperk("specialty_fastmantle");
self setperk("specialty_fastmeleerecovery");
self setperk("specialty_fastreload");
self setperk("specialty_fasttoss");
self setperk("specialty_fastweaponswitch");
//self setperk("specialty_longersprint");
self setperk("specialty_unlimitedsprint");
}
}
mrdr_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if ( !isplayer( attacker ) || self == attacker )
{
return;
}
/*
attacker maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperkill );
self maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperdeath * -1 );
if ( smeansofdeath == "MOD_HEAD_SHOT" )
{
attacker maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperheadshot );
}
*/
if(self != level.mrdr_murderer && attacker != level.mrdr_murderer)
{
//attacker notify("end_mrdr_buttonMonitoring");
attacker iprintlnbold("That was ^1NOT^7 the ^1murderer^7!");
attacker suicide();
}
else if(self == level.mrdr_murderer)
{
endgame(attacker.team, "^2" + attacker.name + " ^1killed the murderer^7!");
}
if(mrdr_murdererSucceeded())
{
endgame(level.mrdr_murderer.team, "^1" + level.mrdr_murderer.name + " killed everyone^7!");
}
}
mrdr_murdererSucceeded()
{
count = 0;
foreach(player in level.players)
{
if(isAlive(player) && player != level.mrdr_murderer)
count += 1;
}
if(count == 0)
return true;
else
return false;
}
mrdr_gameModeStart()
{
level waittill("prematch_over");
if(!isDefined(level.mrdr_levelhuds))
{
level.mrdr_levelhuds = [];
level.mrdr_levelhuds["graceText"] = level drawString(1, "Selecting Murderer in: 99", true, 3, (1,1,1), 1, level.mrdr_countdownColor, 1, 0, -141, "", "", 0, true);
}
for(i=level.mrdr_gracePeriod;i>-2;i--)
{
//allClientsPrint("^5Grace ^6" + i);
if(i != -1)
{
level.mrdr_levelhuds["graceText"] setString(1, "Selecting Murderer in: " + i, true);
level notify("end_mrdr_graceEffect");
level thread mrdr_graceEffect();
}
else
{
level.mrdr_levelhuds["graceText"] changeFontScaleOverTime(1);
level.mrdr_levelhuds["graceText"].fontscale = 6;
level.mrdr_levelhuds["graceText"] fadeOverTime(1);
level.mrdr_levelhuds["graceText"].alpha = 0;
}
wait 1;
}
level.mrdr_levelhuds["graceText"] destroyElem();
level.mrdr_murderer = mrdr_selectMurderer();
level.mrdr_graceEnded = true;
foreach(player in level.players)
{
player thread mrdr_buttonMonitoring();
}
}
mrdr_playerStatusEnd()
{
self endon("end_mrdr_playerStatusEnd");
if(!isDefined(self.mrdr_huds))
{
self.mrdr_huds = [];
if(self.name == level.mrdr_murderer.name)
{
text = "You are the murderer\n KILL THEM ALL";
glowcolor = (1,0,0);
}
else
{
text = " You are not the murderer \nFind the murderer and kill him";
glowcolor = (0,1,0);
}
self.mrdr_huds["displayStatus"] = self drawString(1, text, true, 5, (1,1,1), 1, glowcolor, 1, 0, -190, "", "", 0);
//self.mrdr_huds["displayStatus"].fontscale = 5;
self.mrdr_huds["displayStatus"].color = glowcolor;
self.mrdr_huds["displayStatus"] changeFontScaleOverTime(0.15);
self.mrdr_huds["displayStatus"].fontscale = 2.5;
self.mrdr_huds["displayStatus"] fadeOverTime(0.15);
self.mrdr_huds["displayStatus"].color = (1,1,1);
}
wait 3;
self.mrdr_huds["displayStatus"] changeFontScaleOverTime(1);
self.mrdr_huds["displayStatus"].fontscale = 6;
self.mrdr_huds["displayStatus"] fadeOverTime(1);
self.mrdr_huds["displayStatus"].alpha = 0;
wait 1;
self.mrdr_huds["displayStatus"] destroyElem();
self notify("end_mrdr_playerStatusEnd");
}
mrdr_buttonMonitoring()
{
self endon("disconnect");
self endon("game_ended");
self endon("death");
self endon("end_mrdr_buttonMonitoring");
self mrdr_givecustomloadout();
//self iprintlnbold("Button Monitor ^5ACTIVE");
self iprintlnbold("Press [{+frag}] to toggle knife");
self thread mrdr_playerStatusEnd();
for(;
{
if(self fragbuttonpressed())
{
self thread mrdr_toggleKnife();
wait 0.3;
}
wait 0.01;
}
}
mrdr_toggleKnife()
{
if(!self.mrdr_toggleKnife)
{
self.mrdr_toggleKnife = true;
self disableweapons();
self iprintln("Knife ^1Disabled");
}
else
{
self.mrdr_toggleKnife = false;
self enableweapons();
self iprintln("Knife ^2Enabled");
}
}
mrdr_selectMurderer()
{
if(level.mrdr_hostMurderer)
return gethostplayer();
else
{
player = level.players[randomIntRange(0, level.players.size)];
if(!isAlive(player))
return mrdr_selectMurderer();
else
return player;
}
}
mrdr_graceEffect()
{
level endon("end_mrdr_graceEffect");
level.mrdr_levelhuds["graceText"].fontscale = 6;
level.mrdr_levelhuds["graceText"].color = level.mrdr_countdownColor;
level.mrdr_levelhuds["graceText"] changeFontScaleOverTime(0.15);
level.mrdr_levelhuds["graceText"].fontscale = 3;
level.mrdr_levelhuds["graceText"] fadeOverTime(0.15);
level.mrdr_levelhuds["graceText"].color = (1,1,1);
}
vip_init()
{
registerroundlimit( 5, 5 );
registerroundwinlimit( 3, 3 );
registernumlives( 1, 1 );
registertimelimit( 3, 3 );
//Dont mess with these
//level.onplayerdisconnect = ::vip_onPlayerDisconnect;
level.onplayerkilled = ::vip_onPlayerKilled;
level.givecustomloadout = ::vip_giveCustomLoadout;
level.vip_selectedVip = undefined;
level.vip_evacFlag = undefined;
level.vip_vipSelected = false;
level.vip_gamemodeStarted = false;
level.vip_teamHuds = [];
//Mess with these
level.vip_VIPicon = "killiconheadshot";
level.vip_vipWeapon = "riotshield_mp";
level.vip_vipInfrared = true;
level.vip_disableHostVip = false;
level.vip_evacFlagsEnabled = true;
precacheShader(level.vip_VIPicon);
precacheModel("mp_flag_green");
precacheShader("compass_waypoint_target");
level thread vip_onPlayerConnect();
level thread vip_onGamemodeStarted();
}
vip_setupEvacFlags()
{
model = "mp_flag_green";
icon = "compass_waypoint_target";
if(getDvar("mapname") == "mp_nuketown_2020")
coords = (1969.32, 392.058, -60.625);
else if(getDvar("mapname") == "mp_hijacked")//hottub of boat
coords = (-3184.25, 30.9019, -211.875);
else if(getDvar("mapname") == "mp_express")
coords = (1232.74, 2453.61, -49.5704);
else if(getDvar("mapname") == "mp_meltdown")
coords = (863.466, 4520.57, -135.875);
else if(getDvar("mapname") == "mp_drone")
coords = (70.2106, 2907.18, 336.322);
else if(getDvar("mapname") == "mp_carrier")
coords = (-2512.06, -12.8688, 44.125);
else if(getDvar("mapname") == "mp_overflow")
coords = (2077.15, -1032.31, -7.875);
else if(getDvar("mapname") == "mp_slums")
coords = (567.461, -3328.27, 460.163);
else if(getDvar("mapname") == "mp_turbine")
coords = (476.985, 5101.5, -266.411);
else if(getDvar("mapname") == "mp_raid")
coords = (4434.07, 3038.27, 32.125);
else if(getDvar("mapname") == "mp_la")
coords = (-1567.53, -318.686, -267.875);
//spawnEvacFlag(coords, model, icon)
level.vip_evacFlag = level spawnEvacFlag(coords, model, icon);
wait 1;
level thread vip_evacMonitor();
}
vip_evacMonitor()
{
level endon("game_ended");
level endon("end_vip_evacMonitor");
for(;
{
if(distance(level.vip_selectedVip.origin, level.vip_evacFlag.origin) <= 50 && level.vip_selectedVip != undefined)
{
level.vip_selectedVip maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( level.vip_selectedVip.pers["team"], 1 );
/*
foreach(player in level.players)
{
if(player.pers["team"] != level.vip_selectedVip.pers["team"])
player suicide();
}
*/
thread maps/mp/gametypes/_globallogic::endgame(level.vip_selectedVip.pers["team"], "^5" + level.vip_selectedVip.name + "^7 was evacuated");
level notify("end_vip_evacMonitor");
}
wait 0.1;
}
}
spawnEvacFlag(coords, model, icon)
{
mod = spawn("script_model", coords);
mod setModel(model);
Objective_Add(0, "active", coords);
Objective_Icon(0, icon);
return mod;
}
vip_onGamemodeStarted()
{
level endon("game_ended");
level endon("end_vip_onGamemodeStarted");
level waittill("prematch_over");
level.vip_selectedVip = vip_selectVip();
//allClientsPrint("^6" + level.vip_selectedVip.name);
level.vip_vipSelected = true;
level.vip_selectedVip vip_giveCustomLoadout();
level.vip_selectedVip oldnotifymessage("You are the ^2VIP^7", "^1Survive^7 to earn your team a point", level.vip_VIPicon, (0,0,1), undefined, 5);
level notify("end_vip_teamHuds");
level thread vip_teamHuds();
if(level.vip_evacFlagsEnabled)
level thread vip_setupEvacFlags();
level.vip_gamemodeStarted = true;
}
vip_onPlayerDisconnect()
{
if(level.vip_vipSelected)
{
if(self == level.vip_selectedVip)
{
level.vip_selectedVip = vip_selectVip();
//allClientsPrint("^6" + level.vip_selectedVip.name);
level.vip_vipSelected = true;
level.vip_selectedVip vip_giveCustomLoadout();
level.vip_selectedVip oldnotifymessage("You are the ^2VIP^7", "^1Survive^7 to earn your team a point", level.vip_VIPicon, (0,0,1), undefined, 5);
level notify("end_vip_teamHuds");
level thread vip_teamHuds();
}
}
}
vip_giveCustomLoadout()
{
if(level.vip_vipSelected && self == level.vip_selectedVip)
{
self takeAllWeapons();
self giveWeapon(level.vip_vipWeapon);
self switchToWeapon(level.vip_vipWeapon);
if(level.vip_vipInfrared)
self setinfraredvision(true);
self clearPerks();
self setPerk("specialty_unlimitedsprint");
self setPerk("specialty_stalker");
self setperk("specialty_scavenger");
self setperk("specialty_loudenemies");
self setperk("specialty_fastreload");
}
}
vip_onPlayerKilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
maps/mp/gametypes/_globallogic_score::_setplayermomentum( attacker, 0 );
if(self == level.vip_selectedVip)
{
maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( level.vip_selectedVip vip_returnOppositeTeam(), 1 );
maps/mp/gametypes/_globallogic::endgame(level.vip_selectedVip vip_returnOppositeTeam(), "^5" + level.vip_selectedVip.name + "^7 was killed by ^1" + attacker.name);
}
if(getteamplayersalive(level.vip_selectedVip vip_returnOppositeTeam()) == 0)
{
maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( level.vip_selectedVip.pers["team"], 1 );
maps/mp/gametypes/_globallogic::endgame(level.vip_selectedVip.pers["team"], "^5" + level.vip_selectedVip.name + "^7 survived");
}
}
vip_returnOppositeTeam()
{
if(self.pers["team"] == "allies")
return "axis";
else
return "allies";
}
vip_teamHuds()
{
level endon("game_ended");
level endon("end_vip_teamHuds");
if(!isDefined(level.vip_teamHuds["defendersName"]))
{
level.vip_teamHuds["defendersName"] = level drawString(1, "-^2Save^7-\n" + level.vip_selectedVip.name, true, 3, (1,1,1), 1, (0,1,0), 1, 340, -210, "RIGHT", "RIGHT", 0, true, level.vip_selectedVip.pers["team"]);
level.vip_teamHuds["attackersName"] = level drawString(1, "-^1Kill^7-\n" + level.vip_selectedVip.name, true, 3, (1,1,1), 1, (1,0,0), 1, 340, -210, "RIGHT", "RIGHT", 0, true, level.vip_selectedVip vip_returnOppositeTeam());
}
if(level.vip_teamHuds["defendersName"].text != "-^2Save^7-\n" + level.vip_selectedVip.name)
level.vip_teamHuds["defendersName"] setString(1, "-^2Save^7-\n" + level.vip_selectedVip.name, true);
if(level.vip_teamHuds["attackersName"].text != "-^1Kill^7-\n" + level.vip_selectedVip.name)
level.vip_teamHuds["attackersName"] setString(1, "-^1Kill^7-\n" + level.vip_selectedVip.name, true);
level.vip_teamHuds["defendersName"] moveOverTime(0.25);
level.vip_teamHuds["attackersName"] moveOverTime(0.25);
level.vip_teamHuds["defendersName"].x = 50;
level.vip_teamHuds["attackersName"].x = 50;
wait 3.5;
level.vip_teamHuds["defendersName"] changeFontScaleOverTime(0.15);
level.vip_teamHuds["attackersName"] changeFontScaleOverTime(0.15);
level.vip_teamHuds["defendersName"].fontscale = 2;
level.vip_teamHuds["attackersName"].fontscale = 2;
}
vip_selectVip()
{
player = level.players[randomIntRange(0, level.players.size)];
if(isAlive(player) && player.pers["team"] == game[ "defenders" ])
{
if(level.vip_disableHostVip && player isHost())
return vip_selectVip();
else
return player;
}
else
return vip_selectVip();
}
vip_onPlayerConnect()
{
for(;
{
level waittill("connected", player);
player thread vip_onPlayerSpawned();
}
}
vip_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;
{
self waittill("spawned_player");
}
}
/*
vip_init()
{
registerroundlimit( 5, 5 );
registerroundwinlimit( 3, 3 );
registernumlives( 1, 1 );
registertimelimit( 3, 3 );
//Leave these alone
level.givecustomloadout = ::vip_givecustomloadout;
level.onplayerkilled = ::vip_onplayerkilled;
level.teamscoreperkill = 1;
level.vip_VIPSelected = false;
level.vip_selectedVIP = undefined;
//These can be changed
//Always select the host as the VIP
level.vip_selectHostVIP = false;
//The weapon the VIP will get
level.vip_VIPWeapon = "riotshield_mp";
//Maximum health of the VIP
level.vip_VIPmaxhealth = 150;
//Icon that shows up when the VIP is selected
level.vip_VIPicon = "killiconheadshot";
//Enable twitter banter
level.vip_adsEnabled = true;
level.vip_adCooldown = 78;
//Give VIP infrared
level.vip_VIPinfrared = true;
precacheShader(level.vip_VIPicon);
precacheShader("menu_lobby_icon_twitter");
level thread vip_startVIPgamemode();
if(level.vip_adsEnabled)
level thread vip_startAds();
level thread vip_onplayerconnect();
}
vip_onplayerconnect()
{
for(;
{
level waittill("connected", player);
player.vip_isVIP = false;
player thread vip_onplayerspawned();
}
}
vip_onplayerspawned()
{
self endon("disconnect");
level endon("game_ended");
for(;
{
self waittill("spawned_player");
maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 0);
}
}
vip_startAds()
{
level endon("game_ended");
level endon("end_startAds");
level waittill("prematch_over");
for(;
{
wait level.vip_adCooldown;
//level thread twitterPopup(5, "@thehiddenhour");
level thread vip_twitterBanner(10, "Wanna check out how I make these?\nFollow me on ^5twitter^7 @thehiddenhour");
}
}
vip_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if(level.vip_selectedVIP.pers["team"] == "allies")
enemyteam = "axis";
else
enemyteam = "allies";
maps/mp/gametypes/_globallogic_score::_setplayermomentum( attacker, 0 );
if(self.name == level.vip_selectedVIP.name)
{
level.vip_VIPHP setString(2, 0);
level.vip_VIPHP.glowColor = (1,0,0);
attacker maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( attacker.team, level.teamscoreperkill );
endgame(attacker.team, "^2" + level.vip_selectedVIP.name + "^7 was killed by ^1" + attacker.name);
}
else if(vip_getSurvivorCount(enemyteam) == 0)
{
attacker maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( attacker.team, level.teamscoreperkill );
endgame(attacker.team, "^2" + level.vip_selectedVIP.name + " survived^7!");
}
}
vip_getSurvivorCount(team)
{
count = 0;
foreach(player in level.players)
{
if(player.pers["team"]== team && isAlive(player))
count += 1;
}
return count;
}
vip_startVIPgamemode()
{
level endon("game_ended");
level endon("end_startVIPgamemode");
level waittill("prematch_over");
allClientsPrint("^2Save^7 or ^1Kill^7 the ^5VIP^7 to win");
foreach(player in level.players)
player.vip_isVIP = false;
level.vip_selectedVIP = vip_randomPlayerVIP();
level.vip_selectedVIP.vip_isVIP = true;
level.vip_selectedVIP oldnotifymessage("You are the ^2VIP^7", "^1Survive^7 to earn your team a point", level.vip_VIPicon, (0,0,1), undefined, 5);
level.vip_selectedVIP vip_VIPLoadout();
level thread vip_loadTeamHUDs();
level.vip_VIPSelected = true;
for(;
{
if(gettimeremaining() == 1 && isAlive(level.vip_selectedVIP))
{
level.vip_selectedVIP maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective(level.vip_selectedVIP.pers["team"], level.teamscoreperkill );
}
if(isDefined(level.vip_VIPHP))
{
if(level.vip_VIPHP.text != level.vip_selectedVIP.health)
level.vip_VIPHP setString(2, level.vip_selectedVIP.health);
if(level.vip_selectedVIP.health >= 100)
level.vip_VIPHP.glowColor = (0,0,1);
else if(level.vip_selectedVIP.health <= level.vip_selectedVIP.maxhealth / 2 && level.vip_selectedVIP.health >= 30)
level.vip_VIPHP.glowColor = (1,1,0);
else if(level.vip_selectedVIP.health <= 30)
level.vip_VIPHP.glowColor = (1,0,0);
}
wait 0.01;
}
}
vip_givecustomloadout()
{
if(self.vip_isVIP == true && level.vip_VIPSelected)
{
self takeAllWeapons();
self giveWeapon(level.vip_VIPWeapon);
self giveWeapon("knife_held_mp");
self switchToWeapon(level.vip_VIPWeapon);
self setspawnweapon(level.vip_VIPWeapon);
self clearPerks();
self setPerk("specialty_unlimitedsprint");
self setPerk("specialty_stalker");
self setperk("specialty_scavenger");
self setperk("specialty_loudenemies");
self setperk("specialty_fastreload");
self.maxhealth = level.vip_VIPmaxhealth;
self.health = self.maxhealth;
if(level.vip_VIPinfrared)
self setinfraredvision(1);
}
//self vip_VIPLoadout();
}
vip_VIPLoadout()
{
self takeAllWeapons();
self giveWeapon(level.vip_VIPWeapon);
self giveWeapon("knife_held_mp");
self switchToWeapon(level.vip_VIPWeapon);
self setspawnweapon(level.vip_VIPWeapon);
self clearPerks();
self setPerk("specialty_unlimitedsprint");
self setPerk("specialty_stalker");
self setperk("specialty_scavenger");
self setperk("specialty_loudenemies");
self setperk("specialty_fastreload");
self.maxhealth = level.vip_VIPmaxhealth;
self.health = self.maxhealth;
if(level.vip_VIPinfrared)
self setinfraredvision(1);
}
vip_loadTeamHUDs()
{
//drawString(type, text, disableOverflowCount, scale, color, alpha, glowcolor, glowalpha, x, y, xa, ya, sort, client, team)
if(level.vip_selectedVIP.pers["team"]=="allies")
enemyteam = "axis";
else
enemyteam = "allies";
level.vip_VIPHPtext = level drawString(1, "VIP HP: ", true, 2, (1,1,1), 0, (0,0,1), 0, -328, -210, "", "", 0, true);
level.vip_VIPHP = level drawString(2, level.vip_selectedVIP.health, true, 2, (1,1,1), 0, (0,0,1), 0, 60, -210, "LEFT", "LEFT", 0, true);
level.vip_defendersName = level drawString(1, "-^2Save^7-\n" + level.vip_selectedVIP.name, true, 3, (1,1,1), 1, (0,1,0), 1, 340, -210, "RIGHT", "RIGHT", 0, true, level.vip_selectedVIP.pers["team"]);
level.vip_attackersName = level drawString(1, "-^1Kill^7-\n" + level.vip_selectedVIP.name, true, 3, (1,1,1), 1, (1,0,0), 1, 340, -210, "RIGHT", "RIGHT", 0, true, enemyteam);
level.vip_defendersName moveOverTime(0.25);
level.vip_attackersName moveOverTime(0.25);
level.vip_defendersName.x = 50;
level.vip_attackersName.x = 50;
wait 3.5;
level.vip_defendersName changeFontScaleOverTime(0.15);
level.vip_attackersName changeFontScaleOverTime(0.15);
level.vip_defendersName.fontscale = 2;
level.vip_attackersName.fontscale = 2;
level.vip_VIPHPtext fadeOverTime(0.1);
level.vip_VIPHPtext.alpha = 1;
level.vip_VIPHPtext.glowAlpha = 1;
level.vip_VIPHP fadeOverTime(0.1);
level.vip_VIPHP.alpha = 1;
level.vip_VIPHP.glowAlpha = 1;
}
vip_randomPlayerVIP()
{
if(level.vip_selectHostVIP)
{
return gethostplayer();
}
else
{
player = level.players[randomIntRange(0, level.players.size)];
if(isAlive(player) && player.pers["team"] == game[ "defenders" ] && player != gethostplayer())
return player;
else
return vip_randomPlayerVIP();
}
}
vip_getHUDInfo(arg)
{
if(arg=="color")
return self.color;
else if(arg=="alpha")
return self.alpha;
else if(arg=="x")
return self.x;
else if(arg=="y")
return self.y;
else if(arg=="text")
return self.text;
else if(arg=="sort")
return self.sort;
else if(arg=="width")
return self.width;
else if(arg=="height")
return self.height;
}
setString(type, text, disableOverflowCount)
{
if(!disableOverflowCount)
{
if(!isDefined(level.overflowfix_result))
level.overflowfix_result = 0;
else
level.overflowfix_result += 1;
level notify("overflow_result");
}
self.text = text;
if(type==1)
self setText(text);
else if(type==2)
self setValue(text);
}
vip_twitterBanner(time, name, name2, name3)
{
//drawShader(shader, width, height, x, y, xa, ya, color, alpha, sort, client, team)
//drawString(type, text, disableOverflowCount, scale, color, alpha, glowcolor, glowalpha, x, y, xa, ya, sort, client, team)
if(!isDefined(level.vip_twitterBanner))
{
level.vip_twitterBanner = [];
level.vip_twitterBanner["bar"] = drawShader("white", 0, 50, 205, -210, "LEFT", "LEFT", (0, 0, 0), 0, 0, true);
level.vip_twitterBanner["icon"] = drawShader("menu_lobby_icon_twitter", 50, 50, -125, -210, "", "", (0.01, 1.28, 2.55), 0, 0, true);
level.vip_twitterBanner["icon"].foreground = true;
if(isDefined(name) && !isDefined(name2) && !isDefined(name3))
twitterText = name;
else
twitterText = "Follow me on ^5Twitter^7? " + name + "\nCheck my buds " + name2 + " and " + name3;
level.vip_twitterBanner["text"] = drawString(1, twitterText, true, 1.5, (1, 1, 1), 0, (0,0,0), 0, 15, -220, "", "", 1, true);
level.vip_twitterBanner["text"].foreground = true;
}
level.vip_twitterBanner["icon"] fadeOverTime(0.2);
level.vip_twitterBanner["icon"].alpha = 1;
level.vip_twitterBanner["bar"] fadeOverTime(0.1);
level.vip_twitterBanner["bar"].alpha = 0.65;
level.vip_twitterBanner["bar"] scaleOverTime(0.2, 300, 50);
wait 0.2;
level.vip_twitterBanner["text"] fadeOverTime(0.2);
level.vip_twitterBanner["text"].alpha = 1;
wait time;
level.vip_twitterBanner["text"] fadeOverTime(0.3);
level.vip_twitterBanner["text"].alpha = 0;
wait 0.3;
level.vip_twitterBanner["icon"] fadeOverTime(0.1);
level.vip_twitterBanner["icon"].alpha = 0;
level.vip_twitterBanner["bar"] scaleOverTime(0.2, 0, 50);
level.vip_twitterBanner["bar"] fadeOverTime(0.3);
level.vip_twitterBanner["bar"].alpha = 0;
}
*/
Copyright © 2026, NextGenUpdate.
All Rights Reserved.